p100sch

Nvidia Grid Driver Issue

Jul 17th, 2025
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.42 MB | Fixit | 0 0
  1. /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"
  2. make[1]: Entering directory '/usr/lib/modules/6.14.6-arch1-1/build'
  3. make[2]: Entering directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel'
  4. warning: the compiler differs from the one used to build the kernel
  5. The kernel was built by: gcc (GCC) 15.1.1 20250425
  6. You are using: cc (GCC) 15.1.1 20250425
  7. SYMLINK nvidia/nv-kernel.o
  8. SYMLINK nvidia-modeset/nv-modeset-kernel.o
  9. CONFTEST: hash__remap_4k_pfn
  10. CONFTEST: set_pages_uc
  11. CONFTEST: list_is_first
  12. CONFTEST: set_memory_uc
  13. CONFTEST: set_memory_array_uc
  14. CONFTEST: set_pages_array_uc
  15. CONFTEST: ioremap_cache
  16. CONFTEST: ioremap_wc
  17. CONFTEST: ioremap_driver_hardened
  18. CONFTEST: ioremap_driver_hardened_wc
  19. CONFTEST: ioremap_cache_shared
  20. CONFTEST: pci_get_domain_bus_and_slot
  21. CONFTEST: get_num_physpages
  22. CONFTEST: pde_data
  23. CONFTEST: xen_ioemu_inject_msi
  24. CONFTEST: phys_to_dma
  25. CONFTEST: get_dma_ops
  26. CONFTEST: dma_attr_macros
  27. CONFTEST: dma_map_page_attrs
  28. CONFTEST: write_cr4
  29. CONFTEST: of_find_node_by_phandle
  30. CONFTEST: of_node_to_nid
  31. CONFTEST: pnv_pci_get_npu_dev
  32. CONFTEST: of_get_ibm_chip_id
  33. CONFTEST: pci_bus_address
  34. CONFTEST: pci_stop_and_remove_bus_device
  35. CONFTEST: pci_rebar_get_possible_sizes
  36. CONFTEST: wait_for_random_bytes
  37. CONFTEST: register_cpu_notifier
  38. CONFTEST: cpuhp_setup_state
  39. CONFTEST: dma_map_resource
  40. CONFTEST: get_backlight_device_by_name
  41. CONFTEST: timer_setup
  42. CONFTEST: pci_enable_msix_range
  43. CONFTEST: kernel_read_has_pointer_pos_arg
  44. CONFTEST: kernel_write_has_pointer_pos_arg
  45. CONFTEST: dma_direct_map_resource
  46. CONFTEST: tegra_get_platform
  47. CONFTEST: tegra_bpmp_send_receive
  48. CONFTEST: flush_cache_all
  49. CONFTEST: vmf_insert_pfn
  50. CONFTEST: jiffies_to_timespec
  51. CONFTEST: ktime_get_raw_ts64
  52. CONFTEST: ktime_get_real_ts64
  53. CONFTEST: full_name_hash
  54. CONFTEST: pci_enable_atomic_ops_to_root
  55. CONFTEST: vga_tryget
  56. CONFTEST: cc_platform_has
  57. CONFTEST: seq_read_iter
  58. CONFTEST: unsafe_follow_pfn
  59. CONFTEST: drm_gem_object_get
  60. CONFTEST: drm_gem_object_put_unlocked
  61. CONFTEST: add_memory_driver_managed
  62. CONFTEST: device_property_read_u64
  63. CONFTEST: devm_of_platform_populate
  64. CONFTEST: of_dma_configure
  65. CONFTEST: of_property_count_elems_of_size
  66. CONFTEST: of_property_read_variable_u8_array
  67. CONFTEST: of_property_read_variable_u32_array
  68. CONFTEST: i2c_new_client_device
  69. CONFTEST: i2c_unregister_device
  70. CONFTEST: of_get_named_gpio
  71. CONFTEST: devm_gpio_request_one
  72. CONFTEST: gpio_direction_input
  73. CONFTEST: gpio_direction_output
  74. CONFTEST: gpio_get_value
  75. CONFTEST: gpio_set_value
  76. CONFTEST: gpio_to_irq
  77. CONFTEST: icc_get
  78. CONFTEST: icc_put
  79. CONFTEST: icc_set_bw
  80. CONFTEST: dma_buf_export_args
  81. CONFTEST: dma_buf_ops_has_kmap
  82. CONFTEST: dma_buf_ops_has_kmap_atomic
  83. CONFTEST: dma_buf_ops_has_map
  84. CONFTEST: dma_buf_ops_has_map_atomic
  85. CONFTEST: dma_buf_has_dynamic_attachment
  86. CONFTEST: dma_buf_attachment_has_peer2peer
  87. CONFTEST: dma_set_mask_and_coherent
  88. CONFTEST: devm_clk_bulk_get_all
  89. CONFTEST: get_task_ioprio
  90. CONFTEST: mdev_set_iommu_device
  91. CONFTEST: offline_and_remove_memory
  92. CONFTEST: crypto_tfm_ctx_aligned
  93. CONFTEST: wait_on_bit_lock_argument_count
  94. CONFTEST: radix_tree_empty
  95. CONFTEST: radix_tree_replace_slot
  96. CONFTEST: pnv_npu2_init_context
  97. CONFTEST: cpumask_of_node
  98. CONFTEST: ioasid_get
  99. CONFTEST: mm_pasid_drop
  100. CONFTEST: mmget_not_zero
  101. CONFTEST: mmgrab
  102. CONFTEST: iommu_sva_bind_device_has_drvdata_arg
  103. CONFTEST: vm_fault_to_errno
  104. CONFTEST: acpi_video_backlight_use_native
  105. CONFTEST: drm_dev_unref
  106. CONFTEST: drm_reinit_primary_mode_group
  107. CONFTEST: get_user_pages_remote
  108. CONFTEST: get_user_pages
  109. CONFTEST: pin_user_pages_remote
  110. CONFTEST: pin_user_pages
  111. CONFTEST: drm_gem_object_lookup
  112. CONFTEST: drm_atomic_state_ref_counting
  113. CONFTEST: drm_driver_has_gem_prime_res_obj
  114. CONFTEST: drm_atomic_helper_connector_dpms
  115. CONFTEST: drm_connector_funcs_have_mode_in_name
  116. CONFTEST: drm_connector_has_vrr_capable_property
  117. CONFTEST: drm_framebuffer_get
  118. CONFTEST: drm_dev_put
  119. CONFTEST: drm_format_num_planes
  120. CONFTEST: drm_connector_for_each_possible_encoder
  121. CONFTEST: drm_rotation_available
  122. CONFTEST: drm_vma_offset_exact_lookup_locked
  123. CONFTEST: nvhost_dma_fence_unpack
  124. CONFTEST: is_export_symbol_gpl_of_node_to_nid
  125. CONFTEST: is_export_symbol_gpl_sme_active
  126. CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
  127. CONFTEST: is_export_symbol_present_swiotlb_dma_ops
  128. CONFTEST: is_export_symbol_present___close_fd
  129. CONFTEST: is_export_symbol_present_close_fd
  130. CONFTEST: is_export_symbol_present_get_unused_fd
  131. CONFTEST: is_export_symbol_present_get_unused_fd_flags
  132. CONFTEST: is_export_symbol_present_nvhost_get_default_device
  133. CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_byte_offset
  134. CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_aperture
  135. CONFTEST: is_export_symbol_present_tegra_dce_register_ipc_client
  136. CONFTEST: is_export_symbol_present_tegra_dce_unregister_ipc_client
  137. CONFTEST: is_export_symbol_present_tegra_dce_client_ipc_send_recv
  138. CONFTEST: is_export_symbol_present_dram_clk_to_mc_clk
  139. CONFTEST: is_export_symbol_present_get_dram_num_channels
  140. CONFTEST: is_export_symbol_present_tegra_dram_types
  141. CONFTEST: is_export_symbol_present_pxm_to_node
  142. CONFTEST: is_export_symbol_present_screen_info
  143. CONFTEST: is_export_symbol_gpl_screen_info
  144. CONFTEST: is_export_symbol_present_i2c_bus_status
  145. CONFTEST: is_export_symbol_present_tegra_fuse_control_read
  146. CONFTEST: is_export_symbol_present_tegra_get_platform
  147. CONFTEST: is_export_symbol_present_pci_find_host_bridge
  148. CONFTEST: is_export_symbol_present_tsec_comms_send_cmd
  149. CONFTEST: is_export_symbol_present_tsec_comms_set_init_cb
  150. CONFTEST: is_export_symbol_present_tsec_comms_clear_init_cb
  151. CONFTEST: is_export_symbol_present_tsec_comms_alloc_mem_from_gscco
  152. CONFTEST: is_export_symbol_present_tsec_comms_free_gscco_mem
  153. CONFTEST: is_export_symbol_present_memory_block_size_bytes
  154. CONFTEST: crypto
  155. CONFTEST: is_export_symbol_present_int_active_memcg
  156. CONFTEST: is_export_symbol_present_migrate_vma_setup
  157. CONFTEST: dma_ops
  158. CONFTEST: swiotlb_dma_ops
  159. CONFTEST: noncoherent_swiotlb_dma_ops
  160. CONFTEST: vm_fault_has_address
  161. CONFTEST: vm_insert_pfn_prot
  162. CONFTEST: vmf_insert_pfn_prot
  163. CONFTEST: vm_ops_fault_removed_vma_arg
  164. CONFTEST: kmem_cache_has_kobj_remove_work
  165. CONFTEST: sysfs_slab_unlink
  166. CONFTEST: proc_ops
  167. CONFTEST: timespec64
  168. CONFTEST: vmalloc_has_pgprot_t_arg
  169. CONFTEST: mm_has_mmap_lock
  170. CONFTEST: pci_channel_state
  171. CONFTEST: pci_dev_has_ats_enabled
  172. CONFTEST: remove_memory_has_nid_arg
  173. CONFTEST: add_memory_driver_managed_has_mhp_flags_arg
  174. CONFTEST: num_registered_fb
  175. CONFTEST: pci_driver_has_driver_managed_dma
  176. CONFTEST: vm_area_struct_has_const_vm_flags
  177. CONFTEST: memory_failure_has_trapno_arg
  178. CONFTEST: backing_dev_info
  179. CONFTEST: mm_context_t
  180. CONFTEST: vm_fault_t
  181. CONFTEST: mmu_notifier_ops_invalidate_range
  182. CONFTEST: mmu_notifier_ops_arch_invalidate_secondary_tlbs
  183. CONFTEST: migrate_vma_added_flags
  184. CONFTEST: migrate_device_range
  185. CONFTEST: handle_mm_fault_has_mm_arg
  186. CONFTEST: handle_mm_fault_has_pt_regs_arg
  187. CONFTEST: mempolicy_has_unified_nodes
  188. CONFTEST: mempolicy_has_home_node
  189. CONFTEST: mpol_preferred_many_present
  190. CONFTEST: mmu_interval_notifier
  191. CONFTEST: drm_bus_present
  192. CONFTEST: drm_bus_has_bus_type
  193. CONFTEST: drm_bus_has_get_irq
  194. CONFTEST: drm_bus_has_get_name
  195. CONFTEST: drm_driver_has_device_list
  196. CONFTEST: drm_driver_has_legacy_dev_list
  197. CONFTEST: drm_driver_has_set_busid
  198. CONFTEST: drm_crtc_state_has_connectors_changed
  199. CONFTEST: drm_init_function_args
  200. CONFTEST: drm_helper_mode_fill_fb_struct
  201. CONFTEST: drm_master_drop_has_from_release_arg
  202. CONFTEST: drm_driver_unload_has_int_return_type
  203. CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
  204. CONFTEST: drm_atomic_helper_plane_destroy_state_has_plane_arg
  205. CONFTEST: drm_mode_object_find_has_file_priv_arg
  206. CONFTEST: dma_buf_owner
  207. CONFTEST: drm_connector_list_iter
  208. CONFTEST: drm_atomic_helper_swap_state_has_stall_arg
  209. CONFTEST: drm_driver_prime_flag_present
  210. CONFTEST: drm_gem_object_has_resv
  211. CONFTEST: drm_crtc_state_has_async_flip
  212. CONFTEST: drm_crtc_state_has_pageflip_flags
  213. CONFTEST: drm_crtc_state_has_vrr_enabled
  214. CONFTEST: drm_format_modifiers_present
  215. CONFTEST: drm_vma_node_is_allowed_has_tag_arg
  216. CONFTEST: drm_vma_offset_node_has_readonly
  217. CONFTEST: drm_display_mode_has_vrefresh
  218. CONFTEST: drm_driver_master_set_has_int_return_type
  219. CONFTEST: drm_driver_has_gem_free_object
  220. CONFTEST: drm_prime_pages_to_sg_has_drm_device_arg
  221. CONFTEST: drm_driver_has_gem_prime_callbacks
  222. CONFTEST: drm_crtc_atomic_check_has_atomic_state_arg
  223. CONFTEST: drm_gem_object_vmap_has_map_arg
  224. CONFTEST: drm_plane_atomic_check_has_atomic_state_arg
  225. CONFTEST: drm_device_has_pdev
  226. CONFTEST: drm_crtc_state_has_no_vblank
  227. CONFTEST: drm_mode_config_has_allow_fb_modifiers
  228. CONFTEST: drm_has_hdr_output_metadata
  229. CONFTEST: dma_resv_add_fence
  230. CONFTEST: dma_resv_reserve_fences
  231. CONFTEST: reservation_object_reserve_shared_has_num_fences_arg
  232. CONFTEST: drm_connector_has_override_edid
  233. CONFTEST: drm_master_has_leases
  234. CONFTEST: drm_file_get_master
  235. CONFTEST: drm_modeset_lock_all_end
  236. CONFTEST: drm_connector_lookup
  237. CONFTEST: drm_connector_put
  238. CONFTEST: drm_driver_has_dumb_destroy
  239. CONFTEST: drm_unlocked_ioctl_flag_present
  240. CONFTEST: dom0_kernel_present
  241. CONFTEST: nvidia_vgpu_kvm_build
  242. CONFTEST: nvidia_grid_build
  243. CONFTEST: nvidia_grid_csp_build
  244. CONFTEST: pm_runtime_available
  245. CONFTEST: pci_class_multimedia_hd_audio
  246. CONFTEST: drm_available
  247. CONFTEST: vfio_pci_core_available
  248. CONFTEST: mdev_available
  249. CONFTEST: cmd_uphy_display_port_init
  250. CONFTEST: cmd_uphy_display_port_off
  251. CONFTEST: memory_failure_mf_sw_simulated_defined
  252. CONFTEST: drm_atomic_available
  253. CONFTEST: is_export_symbol_gpl_refcount_inc
  254. CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
  255. CONFTEST: drm_alpha_blending_available
  256. CONFTEST: is_export_symbol_present_drm_gem_prime_fd_to_handle
  257. CONFTEST: is_export_symbol_present_drm_gem_prime_handle_to_fd
  258. CONFTEST: ib_peer_memory_symbols
  259. CC [M] nvidia/nv.o
  260. CC [M] nvidia/nv-pci.o
  261. CC [M] nvidia/nv-dmabuf.o
  262. CC [M] nvidia/nv-nano-timer.o
  263. CC [M] nvidia/nv-acpi.o
  264. CC [M] nvidia/nv-cray.o
  265. CC [M] nvidia/nv-dma.o
  266. CC [M] nvidia/nv-i2c.o
  267. CC [M] nvidia/nv-mmap.o
  268. CC [M] nvidia/nv-p2p.o
  269. CC [M] nvidia/nv-pat.o
  270. CC [M] nvidia/nv-procfs.o
  271. CC [M] nvidia/nv-usermap.o
  272. In file included from ././common/inc/conftest.h:28,
  273. from ././common/inc/nv_stdarg.h:29,
  274. from ././common/inc/os-interface.h:40,
  275. from nvidia/nv-acpi.c:26:
  276. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  277. 74 | #error dma_buf_export() conftest failed!
  278. | ^~~~~
  279. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  280. 87 | #error wait_on_bit_lock() conftest failed!
  281. | ^~~~~
  282. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  283. 90 | #error radix_tree_replace_slot() conftest failed!
  284. | ^~~~~
  285. CC [M] nvidia/nv-vm.o
  286. CC [M] nvidia/nv-vtophys.o
  287. In file included from ././common/inc/conftest.h:28,
  288. from ././common/inc/nv_stdarg.h:29,
  289. from ././common/inc/os-interface.h:40,
  290. from nvidia/nv-cray.c:26:
  291. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  292. 74 | #error dma_buf_export() conftest failed!
  293. | ^~~~~
  294. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  295. 87 | #error wait_on_bit_lock() conftest failed!
  296. | ^~~~~
  297. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  298. 90 | #error radix_tree_replace_slot() conftest failed!
  299. | ^~~~~
  300. In file included from ././common/inc/conftest.h:28,
  301. from ././common/inc/nv_stdarg.h:29,
  302. from ././common/inc/os-interface.h:40,
  303. from nvidia/nv-dma.c:26:
  304. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  305. 74 | #error dma_buf_export() conftest failed!
  306. | ^~~~~
  307. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  308. 87 | #error wait_on_bit_lock() conftest failed!
  309. | ^~~~~
  310. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  311. 90 | #error radix_tree_replace_slot() conftest failed!
  312. | ^~~~~
  313. CC [M] nvidia/os-interface.o
  314. In file included from ././common/inc/conftest.h:28,
  315. from ././common/inc/nv_stdarg.h:29,
  316. from ././common/inc/os-interface.h:40,
  317. from nvidia/nv-mmap.c:26:
  318. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  319. 74 | #error dma_buf_export() conftest failed!
  320. | ^~~~~
  321. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  322. 87 | #error wait_on_bit_lock() conftest failed!
  323. | ^~~~~
  324. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  325. 90 | #error radix_tree_replace_slot() conftest failed!
  326. | ^~~~~
  327. In file included from ././common/inc/conftest.h:28,
  328. from ././common/inc/nv_stdarg.h:29,
  329. from ././common/inc/os-interface.h:40,
  330. from nvidia/nv-p2p.c:26:
  331. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  332. 74 | #error dma_buf_export() conftest failed!
  333. | ^~~~~
  334. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  335. 87 | #error wait_on_bit_lock() conftest failed!
  336. | ^~~~~
  337. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  338. 90 | #error radix_tree_replace_slot() conftest failed!
  339. | ^~~~~
  340. In file included from ././common/inc/conftest.h:28,
  341. from ././common/inc/nv_stdarg.h:29,
  342. from ././common/inc/os-interface.h:40,
  343. from nvidia/nv-pat.c:26:
  344. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  345. 74 | #error dma_buf_export() conftest failed!
  346. | ^~~~~
  347. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  348. 87 | #error wait_on_bit_lock() conftest failed!
  349. | ^~~~~
  350. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  351. 90 | #error radix_tree_replace_slot() conftest failed!
  352. | ^~~~~
  353. In file included from ././common/inc/conftest.h:28,
  354. from ././common/inc/nv_stdarg.h:29,
  355. from ././common/inc/os-interface.h:40,
  356. from nvidia/nv-procfs.c:26:
  357. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  358. 74 | #error dma_buf_export() conftest failed!
  359. | ^~~~~
  360. In file included from ././common/inc/conftest.h:28,
  361. from ././common/inc/nv_stdarg.h:29,
  362. from ././common/inc/os-interface.h:40,
  363. from nvidia/nv-usermap.c:26:
  364. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  365. 74 | #error dma_buf_export() conftest failed!
  366. | ^~~~~
  367. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  368. 87 | #error wait_on_bit_lock() conftest failed!
  369. | ^~~~~
  370. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  371. 90 | #error radix_tree_replace_slot() conftest failed!
  372. | ^~~~~
  373. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  374. 87 | #error wait_on_bit_lock() conftest failed!
  375. | ^~~~~
  376. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  377. 90 | #error radix_tree_replace_slot() conftest failed!
  378. | ^~~~~
  379. In file included from ././common/inc/conftest.h:28,
  380. from ././common/inc/nv_stdarg.h:29,
  381. from ././common/inc/os-interface.h:40,
  382. from nvidia/nv-vtophys.c:26:
  383. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  384. 74 | #error dma_buf_export() conftest failed!
  385. | ^~~~~
  386. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  387. 87 | #error wait_on_bit_lock() conftest failed!
  388. | ^~~~~
  389. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  390. 90 | #error radix_tree_replace_slot() conftest failed!
  391. | ^~~~~
  392. In file included from ././common/inc/conftest.h:28,
  393. from ././common/inc/nv_stdarg.h:29,
  394. from ././common/inc/os-interface.h:40,
  395. from nvidia/os-interface.c:26:
  396. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  397. 74 | #error dma_buf_export() conftest failed!
  398. | ^~~~~
  399. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  400. 87 | #error wait_on_bit_lock() conftest failed!
  401. | ^~~~~
  402. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  403. 90 | #error radix_tree_replace_slot() conftest failed!
  404. | ^~~~~
  405. In file included from ././common/inc/conftest.h:28,
  406. from ././common/inc/nv_stdarg.h:29,
  407. from ././common/inc/os-interface.h:40,
  408. from nvidia/nv-vm.c:24:
  409. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  410. 74 | #error dma_buf_export() conftest failed!
  411. | ^~~~~
  412. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  413. 87 | #error wait_on_bit_lock() conftest failed!
  414. | ^~~~~
  415. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  416. 90 | #error radix_tree_replace_slot() conftest failed!
  417. | ^~~~~
  418. In file included from ././common/inc/conftest.h:28,
  419. from ././common/inc/nv_stdarg.h:29,
  420. from ././common/inc/os-interface.h:40,
  421. from nvidia/nv-nano-timer.c:30:
  422. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  423. 74 | #error dma_buf_export() conftest failed!
  424. | ^~~~~
  425. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  426. 87 | #error wait_on_bit_lock() conftest failed!
  427. | ^~~~~
  428. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  429. 90 | #error radix_tree_replace_slot() conftest failed!
  430. | ^~~~~
  431. In file included from ././common/inc/nv-linux.h:34,
  432. from nvidia/nv-p2p.c:27:
  433. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  434. 29 | typedef int vm_fault_t;
  435. | ^~~~~~~~~~
  436. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  437. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  438. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  439. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  440. from ././common/inc/nv-lock.h:35,
  441. from ././common/inc/nv-linux.h:32:
  442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  443. 1311 | typedef __bitwise unsigned int vm_fault_t;
  444. | ^~~~~~~~~~
  445. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  446. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  447. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  448. from ././common/inc/nv-lock.h:29:
  449. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  450. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  451. 52 | #define current get_current()
  452. | ^~~~~~~~~~~~~
  453. | |
  454. | struct task_struct *
  455. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  456. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  457. | ^~~~~~~
  458. In file included from ././common/inc/nv-pgprot.h:30,
  459. from ././common/inc/nv-linux.h:33:
  460. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  461. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  462. | ~~~~~~~~~~~~~~^~~~~
  463. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  464. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  466. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  467. | ~~~~~~~~~~~~~~^~~~~~~~
  468. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  469. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  470. | ^~~~~~~~
  471. | |
  472. | long unsigned int
  473. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  474. 2535 | unsigned int gup_flags, struct page **pages);
  475. | ~~~~~~~~~~~~~~^~~~~
  476. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  477. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  478. | ^~~~~~~~~~~~~~ ~~~~~
  479. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  480. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  481. | ^~~~~~~~~~~~~~
  482. In file included from ././common/inc/nv.h:35,
  483. from ././common/inc/nv-linux.h:28:
  484. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  485. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  486. 8 | #define NULL ((void *)0)
  487. | ^~~~~~~~~~~
  488. | |
  489. | void *
  490. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  491. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  492. | ^~~~
  493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  494. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  495. | ~~~~~~~~~~~~~~^~~~~
  496. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  497. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  498. | ^~
  499. | |
  500. | struct mm_struct *
  501. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  502. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  503. | ~~~~~~~~~~~~~~^~~~~~~~
  504. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  505. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  506. | ^~~~~~~~
  507. | |
  508. | long unsigned int
  509. In file included from ././common/inc/nv-linux.h:34,
  510. from nvidia/nv-pat.c:27:
  511. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  512. 29 | typedef int vm_fault_t;
  513. | ^~~~~~~~~~
  514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  515. 2535 | unsigned int gup_flags, struct page **pages);
  516. | ~~~~~~~~~~~~~~^~~~~
  517. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  518. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  519. | ^~~~~~~~~~~~~~ ~~~~~
  520. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  521. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  522. | ^~~~~~~~~~~~~~
  523. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  524. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  525. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  526. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  527. from ././common/inc/nv-lock.h:35,
  528. from ././common/inc/nv-linux.h:32:
  529. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  530. 1311 | typedef __bitwise unsigned int vm_fault_t;
  531. | ^~~~~~~~~~
  532. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  533. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  534. 237 | return (unsigned long)(vmf->virtual_address);
  535. | ^~~~~~~~~~~~~~~
  536. | real_address
  537. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  538. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  539. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  540. from ././common/inc/nv-lock.h:29:
  541. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  542. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  543. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  544. 246 | down_read(&mm->mmap_sem);
  545. | ^~~~~~~~
  546. | mmap_base
  547. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  548. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  549. 52 | #define current get_current()
  550. | ^~~~~~~~~~~~~
  551. | |
  552. | struct task_struct *
  553. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  554. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  555. | ^~~~~~~
  556. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  557. 255 | up_read(&mm->mmap_sem);
  558. | ^~~~~~~~
  559. | mmap_base
  560. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  561. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  562. 264 | down_write(&mm->mmap_sem);
  563. | ^~~~~~~~
  564. | mmap_base
  565. In file included from ././common/inc/nv-pgprot.h:30,
  566. from ././common/inc/nv-linux.h:33:
  567. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  568. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  569. | ~~~~~~~~~~~~~~^~~~~
  570. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  571. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  572. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  573. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  574. 273 | up_write(&mm->mmap_sem);
  575. | ^~~~~~~~
  576. | mmap_base
  577. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  578. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  579. | ~~~~~~~~~~~~~~^~~~~~~~
  580. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  581. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  582. 282 | return rwsem_is_locked(&mm->mmap_sem);
  583. | ^~~~~~~~
  584. | mmap_base
  585. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  586. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  587. | ^~~~~~~~
  588. | |
  589. | long unsigned int
  590. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  591. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  592. 291 | return &mm->mmap_sem;
  593. | ^~~~~~~~
  594. | mmap_base
  595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  596. 2535 | unsigned int gup_flags, struct page **pages);
  597. | ~~~~~~~~~~~~~~^~~~~
  598. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  599. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  600. 300 | vma->vm_flags |= flags;
  601. | ^~
  602. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  603. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  604. 309 | vma->vm_flags &= ~flags;
  605. | ^~
  606. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  607. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  608. | ^~~~~~~~~~~~~~ ~~~~~
  609. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  610. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  611. | ^~~~~~~~~~~~~~
  612. In file included from ././common/inc/nv.h:35,
  613. from ././common/inc/nv-linux.h:28:
  614. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  615. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  616. 8 | #define NULL ((void *)0)
  617. | ^~~~~~~~~~~
  618. | |
  619. | void *
  620. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  621. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  622. | ^~~~
  623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  624. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  625. | ~~~~~~~~~~~~~~^~~~~
  626. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  627. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  628. | ^~
  629. | |
  630. | struct mm_struct *
  631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  632. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  633. | ~~~~~~~~~~~~~~^~~~~~~~
  634. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  635. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  636. | ^~~~~~~~
  637. | |
  638. | long unsigned int
  639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  640. 2535 | unsigned int gup_flags, struct page **pages);
  641. | ~~~~~~~~~~~~~~^~~~~
  642. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  643. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  644. | ^~~~~~~~~~~~~~ ~~~~~
  645. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  646. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  647. | ^~~~~~~~~~~~~~
  648. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  649. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  650. 237 | return (unsigned long)(vmf->virtual_address);
  651. | ^~~~~~~~~~~~~~~
  652. | real_address
  653. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  654. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  655. 246 | down_read(&mm->mmap_sem);
  656. | ^~~~~~~~
  657. | mmap_base
  658. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  659. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  660. 255 | up_read(&mm->mmap_sem);
  661. | ^~~~~~~~
  662. | mmap_base
  663. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  664. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  665. 264 | down_write(&mm->mmap_sem);
  666. | ^~~~~~~~
  667. | mmap_base
  668. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  669. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  670. 273 | up_write(&mm->mmap_sem);
  671. | ^~~~~~~~
  672. | mmap_base
  673. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  674. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  675. 282 | return rwsem_is_locked(&mm->mmap_sem);
  676. | ^~~~~~~~
  677. | mmap_base
  678. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  679. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  680. 291 | return &mm->mmap_sem;
  681. | ^~~~~~~~
  682. | mmap_base
  683. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  684. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  685. 300 | vma->vm_flags |= flags;
  686. | ^~
  687. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  688. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  689. 309 | vma->vm_flags &= ~flags;
  690. | ^~
  691. In file included from ././common/inc/nv-linux.h:34,
  692. from nvidia/nv-usermap.c:27:
  693. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  694. 29 | typedef int vm_fault_t;
  695. | ^~~~~~~~~~
  696. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  697. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  699. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  700. from ././common/inc/nv-lock.h:35,
  701. from ././common/inc/nv-linux.h:32:
  702. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  703. 1311 | typedef __bitwise unsigned int vm_fault_t;
  704. | ^~~~~~~~~~
  705. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  706. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  707. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  708. from ././common/inc/nv-lock.h:29:
  709. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  710. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  711. 52 | #define current get_current()
  712. | ^~~~~~~~~~~~~
  713. | |
  714. | struct task_struct *
  715. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  716. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  717. | ^~~~~~~
  718. In file included from ././common/inc/nv-pgprot.h:30,
  719. from ././common/inc/nv-linux.h:33:
  720. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  721. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  722. | ~~~~~~~~~~~~~~^~~~~
  723. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  724. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  725. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  726. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  727. | ~~~~~~~~~~~~~~^~~~~~~~
  728. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  729. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  730. | ^~~~~~~~
  731. | |
  732. | long unsigned int
  733. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  734. 2535 | unsigned int gup_flags, struct page **pages);
  735. | ~~~~~~~~~~~~~~^~~~~
  736. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  737. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  738. | ^~~~~~~~~~~~~~ ~~~~~
  739. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  740. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  741. | ^~~~~~~~~~~~~~
  742. In file included from ././common/inc/nv.h:35,
  743. from ././common/inc/nv-linux.h:28:
  744. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  745. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  746. 8 | #define NULL ((void *)0)
  747. | ^~~~~~~~~~~
  748. | |
  749. | void *
  750. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  751. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  752. | ^~~~
  753. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  754. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  755. | ~~~~~~~~~~~~~~^~~~~
  756. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  757. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  758. | ^~
  759. | |
  760. | struct mm_struct *
  761. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  762. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  763. | ~~~~~~~~~~~~~~^~~~~~~~
  764. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  765. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  766. | ^~~~~~~~
  767. | |
  768. | long unsigned int
  769. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  770. 2535 | unsigned int gup_flags, struct page **pages);
  771. | ~~~~~~~~~~~~~~^~~~~
  772. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  773. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  774. | ^~~~~~~~~~~~~~ ~~~~~
  775. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  776. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  777. | ^~~~~~~~~~~~~~
  778. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  779. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  780. 237 | return (unsigned long)(vmf->virtual_address);
  781. | ^~~~~~~~~~~~~~~
  782. | real_address
  783. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  784. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  785. 246 | down_read(&mm->mmap_sem);
  786. | ^~~~~~~~
  787. | mmap_base
  788. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  789. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  790. 255 | up_read(&mm->mmap_sem);
  791. | ^~~~~~~~
  792. | mmap_base
  793. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  794. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  795. 264 | down_write(&mm->mmap_sem);
  796. | ^~~~~~~~
  797. | mmap_base
  798. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  799. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  800. 273 | up_write(&mm->mmap_sem);
  801. | ^~~~~~~~
  802. | mmap_base
  803. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  804. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  805. 282 | return rwsem_is_locked(&mm->mmap_sem);
  806. | ^~~~~~~~
  807. | mmap_base
  808. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  809. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  810. 291 | return &mm->mmap_sem;
  811. | ^~~~~~~~
  812. | mmap_base
  813. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  814. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  815. 300 | vma->vm_flags |= flags;
  816. | ^~
  817. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  818. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  819. 309 | vma->vm_flags &= ~flags;
  820. | ^~
  821. In file included from ././common/inc/nv-linux.h:37:
  822. ././common/inc/nv-time.h: At top level:
  823. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  824. 40 | struct timespec64 {
  825. | ^~~~~~~~~~
  826. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  827. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  828. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  829. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  830. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  831. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  832. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  833. 13 | struct timespec64 {
  834. | ^~~~~~~~~~
  835. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  836. 77 | static inline struct timespec64 timespec64_add
  837. | ^~~~~~~~~~~~~~
  838. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  839. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  840. | ^~~~~~~~~~~~~~
  841. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  842. 95 | static inline struct timespec64 timespec64_sub
  843. | ^~~~~~~~~~~~~~
  844. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  845. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  846. | ^~~~~~~~~~~~~~
  847. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  848. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  849. | ^~~~~~~~~~~~~~~~
  850. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  851. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  852. | ^~~~~~~~~~~~~~~~
  853. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  854. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  855. 122 | ktime_get_raw_ts64(&ts);
  856. | ^~~
  857. | |
  858. | struct timespec64 *
  859. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  860. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  861. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  862. | ~~~~~~~~~~~~~~~~~~~^~
  863. In file included from ././common/inc/nv-linux.h:37:
  864. ././common/inc/nv-time.h: At top level:
  865. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  866. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  867. 40 | struct timespec64 {
  868. | ^~~~~~~~~~
  869. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  870. 185 | ktime_get_raw_ts64(&tm_aux);
  871. | ^~~~~~~
  872. | |
  873. | struct timespec64 *
  874. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  875. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  876. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  877. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  878. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  879. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  880. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  881. 13 | struct timespec64 {
  882. | ^~~~~~~~~~
  883. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  884. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  885. | ~~~~~~~~~~~~~~~~~~~^~
  886. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  887. 77 | static inline struct timespec64 timespec64_add
  888. | ^~~~~~~~~~~~~~
  889. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  890. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  891. | ^~~~~~~~~~~~~~
  892. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  893. 95 | static inline struct timespec64 timespec64_sub
  894. | ^~~~~~~~~~~~~~
  895. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  896. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  897. | ^~~~~~~~~~~~~~
  898. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  899. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  900. | ^~~~~~~~~~~~~~~~
  901. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  902. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  903. | ^~~~~~~~~~~~~~~~
  904. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  905. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  906. 122 | ktime_get_raw_ts64(&ts);
  907. | ^~~
  908. | |
  909. | struct timespec64 *
  910. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  912. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  913. | ~~~~~~~~~~~~~~~~~~~^~
  914. In file included from ././common/inc/nv-linux.h:34,
  915. from nvidia/nv-dma.c:27:
  916. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  917. 29 | typedef int vm_fault_t;
  918. | ^~~~~~~~~~
  919. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  920. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  921. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  922. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  923. from ././common/inc/nv-lock.h:35,
  924. from ././common/inc/nv-linux.h:32:
  925. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  926. 1311 | typedef __bitwise unsigned int vm_fault_t;
  927. | ^~~~~~~~~~
  928. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  929. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  930. 185 | ktime_get_raw_ts64(&tm_aux);
  931. | ^~~~~~~
  932. | |
  933. | struct timespec64 *
  934. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  935. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  936. | ~~~~~~~~~~~~~~~~~~~^~
  937. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  938. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  939. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  940. from ././common/inc/nv-lock.h:29:
  941. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  942. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  943. 221 | ktime_get_raw_ts64(&tm_aux);
  944. | ^~~~~~~
  945. | |
  946. | struct timespec64 *
  947. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  948. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  949. | ~~~~~~~~~~~~~~~~~~~^~
  950. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  951. 52 | #define current get_current()
  952. | ^~~~~~~~~~~~~
  953. | |
  954. | struct task_struct *
  955. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  956. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  957. | ^~~~~~~
  958. In file included from ././common/inc/nv-pgprot.h:30,
  959. from ././common/inc/nv-linux.h:33:
  960. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  961. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  962. | ~~~~~~~~~~~~~~^~~~~
  963. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  964. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  965. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  966. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  967. | ~~~~~~~~~~~~~~^~~~~~~~
  968. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  969. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  970. | ^~~~~~~~
  971. | |
  972. | long unsigned int
  973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  974. 2535 | unsigned int gup_flags, struct page **pages);
  975. | ~~~~~~~~~~~~~~^~~~~
  976. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  977. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  978. | ^~~~~~~~~~~~~~ ~~~~~
  979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  980. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  981. | ^~~~~~~~~~~~~~
  982. In file included from ././common/inc/nv.h:35,
  983. from ././common/inc/nv-linux.h:28:
  984. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  985. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  986. 8 | #define NULL ((void *)0)
  987. | ^~~~~~~~~~~
  988. | |
  989. | void *
  990. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  991. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  992. | ^~~~
  993. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  994. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  995. | ~~~~~~~~~~~~~~^~~~~
  996. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  997. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  998. | ^~
  999. | |
  1000. | struct mm_struct *
  1001. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1002. 221 | ktime_get_raw_ts64(&tm_aux);
  1003. | ^~~~~~~
  1004. | |
  1005. | struct timespec64 *
  1006. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  1007. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1008. | ~~~~~~~~~~~~~~^~~~~~~~
  1009. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  1010. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1011. | ^~~~~~~~
  1012. | |
  1013. | long unsigned int
  1014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1015. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1016. | ~~~~~~~~~~~~~~~~~~~^~
  1017. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  1018. 2535 | unsigned int gup_flags, struct page **pages);
  1019. | ~~~~~~~~~~~~~~^~~~~
  1020. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  1021. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1022. | ^~~~~~~~~~~~~~ ~~~~~
  1023. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  1024. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1025. | ^~~~~~~~~~~~~~
  1026. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  1027. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  1028. 237 | return (unsigned long)(vmf->virtual_address);
  1029. | ^~~~~~~~~~~~~~~
  1030. | real_address
  1031. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  1032. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1033. 246 | down_read(&mm->mmap_sem);
  1034. | ^~~~~~~~
  1035. | mmap_base
  1036. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  1037. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1038. 255 | up_read(&mm->mmap_sem);
  1039. | ^~~~~~~~
  1040. | mmap_base
  1041. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  1042. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1043. 264 | down_write(&mm->mmap_sem);
  1044. | ^~~~~~~~
  1045. | mmap_base
  1046. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  1047. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1048. 273 | up_write(&mm->mmap_sem);
  1049. | ^~~~~~~~
  1050. | mmap_base
  1051. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  1052. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1053. 282 | return rwsem_is_locked(&mm->mmap_sem);
  1054. | ^~~~~~~~
  1055. | mmap_base
  1056. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  1057. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1058. 291 | return &mm->mmap_sem;
  1059. | ^~~~~~~~
  1060. | mmap_base
  1061. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  1062. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  1063. 300 | vma->vm_flags |= flags;
  1064. | ^~
  1065. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  1066. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  1067. 309 | vma->vm_flags &= ~flags;
  1068. | ^~
  1069. In file included from ././common/inc/nv-linux.h:34,
  1070. from nvidia/nv-acpi.c:27:
  1071. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  1072. 29 | typedef int vm_fault_t;
  1073. | ^~~~~~~~~~
  1074. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  1075. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  1076. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  1077. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  1078. from ././common/inc/nv-lock.h:35,
  1079. from ././common/inc/nv-linux.h:32:
  1080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  1081. 1311 | typedef __bitwise unsigned int vm_fault_t;
  1082. | ^~~~~~~~~~
  1083. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  1084. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  1085. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  1086. from ././common/inc/nv-lock.h:29:
  1087. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  1088. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1089. 52 | #define current get_current()
  1090. | ^~~~~~~~~~~~~
  1091. | |
  1092. | struct task_struct *
  1093. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  1094. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1095. | ^~~~~~~
  1096. In file included from ././common/inc/nv-pgprot.h:30,
  1097. from ././common/inc/nv-linux.h:33:
  1098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  1099. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1100. | ~~~~~~~~~~~~~~^~~~~
  1101. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1102. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1103. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  1104. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1105. | ~~~~~~~~~~~~~~^~~~~~~~
  1106. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  1107. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1108. | ^~~~~~~~
  1109. | |
  1110. | long unsigned int
  1111. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  1112. 2535 | unsigned int gup_flags, struct page **pages);
  1113. | ~~~~~~~~~~~~~~^~~~~
  1114. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  1115. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1116. | ^~~~~~~~~~~~~~ ~~~~~
  1117. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  1118. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1119. | ^~~~~~~~~~~~~~
  1120. In file included from ././common/inc/nv.h:35,
  1121. from ././common/inc/nv-linux.h:28:
  1122. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  1123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1124. 8 | #define NULL ((void *)0)
  1125. | ^~~~~~~~~~~
  1126. | |
  1127. | void *
  1128. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  1129. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1130. | ^~~~
  1131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  1132. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1133. | ~~~~~~~~~~~~~~^~~~~
  1134. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1135. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1136. | ^~
  1137. | |
  1138. | struct mm_struct *
  1139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  1140. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1141. | ~~~~~~~~~~~~~~^~~~~~~~
  1142. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  1143. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1144. | ^~~~~~~~
  1145. | |
  1146. | long unsigned int
  1147. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  1148. 2535 | unsigned int gup_flags, struct page **pages);
  1149. | ~~~~~~~~~~~~~~^~~~~
  1150. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  1151. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1152. | ^~~~~~~~~~~~~~ ~~~~~
  1153. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  1154. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1155. | ^~~~~~~~~~~~~~
  1156. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  1157. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  1158. 237 | return (unsigned long)(vmf->virtual_address);
  1159. | ^~~~~~~~~~~~~~~
  1160. | real_address
  1161. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  1162. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1163. 246 | down_read(&mm->mmap_sem);
  1164. | ^~~~~~~~
  1165. | mmap_base
  1166. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  1167. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1168. 255 | up_read(&mm->mmap_sem);
  1169. | ^~~~~~~~
  1170. | mmap_base
  1171. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  1172. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1173. 264 | down_write(&mm->mmap_sem);
  1174. | ^~~~~~~~
  1175. | mmap_base
  1176. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  1177. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1178. 273 | up_write(&mm->mmap_sem);
  1179. | ^~~~~~~~
  1180. | mmap_base
  1181. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  1182. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1183. 282 | return rwsem_is_locked(&mm->mmap_sem);
  1184. | ^~~~~~~~
  1185. | mmap_base
  1186. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  1187. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1188. 291 | return &mm->mmap_sem;
  1189. | ^~~~~~~~
  1190. | mmap_base
  1191. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  1192. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  1193. 300 | vma->vm_flags |= flags;
  1194. | ^~
  1195. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  1196. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  1197. 309 | vma->vm_flags &= ~flags;
  1198. | ^~
  1199. In file included from ././common/inc/nv-linux.h:37:
  1200. ././common/inc/nv-time.h: At top level:
  1201. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  1202. 40 | struct timespec64 {
  1203. | ^~~~~~~~~~
  1204. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  1205. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  1206. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  1207. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  1208. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  1209. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  1210. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  1211. 13 | struct timespec64 {
  1212. | ^~~~~~~~~~
  1213. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1214. 77 | static inline struct timespec64 timespec64_add
  1215. | ^~~~~~~~~~~~~~
  1216. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1217. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  1218. | ^~~~~~~~~~~~~~
  1219. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1220. 95 | static inline struct timespec64 timespec64_sub
  1221. | ^~~~~~~~~~~~~~
  1222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1223. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  1224. | ^~~~~~~~~~~~~~
  1225. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  1226. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  1227. | ^~~~~~~~~~~~~~~~
  1228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  1229. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  1230. | ^~~~~~~~~~~~~~~~
  1231. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  1232. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1233. 122 | ktime_get_raw_ts64(&ts);
  1234. | ^~~
  1235. | |
  1236. | struct timespec64 *
  1237. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  1238. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1239. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1240. | ~~~~~~~~~~~~~~~~~~~^~
  1241. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  1242. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1243. 185 | ktime_get_raw_ts64(&tm_aux);
  1244. | ^~~~~~~
  1245. | |
  1246. | struct timespec64 *
  1247. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1248. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1249. | ~~~~~~~~~~~~~~~~~~~^~
  1250. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1251. 221 | ktime_get_raw_ts64(&tm_aux);
  1252. | ^~~~~~~
  1253. | |
  1254. | struct timespec64 *
  1255. In file included from ././common/inc/nv-linux.h:34,
  1256. from nvidia/nv-mmap.c:27:
  1257. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  1258. 29 | typedef int vm_fault_t;
  1259. | ^~~~~~~~~~
  1260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1261. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1262. | ~~~~~~~~~~~~~~~~~~~^~
  1263. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  1264. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  1265. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  1266. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  1267. from ././common/inc/nv-lock.h:35,
  1268. from ././common/inc/nv-linux.h:32:
  1269. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  1270. 1311 | typedef __bitwise unsigned int vm_fault_t;
  1271. | ^~~~~~~~~~
  1272. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  1273. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  1274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  1275. from ././common/inc/nv-lock.h:29:
  1276. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  1277. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1278. 52 | #define current get_current()
  1279. | ^~~~~~~~~~~~~
  1280. | |
  1281. | struct task_struct *
  1282. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  1283. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1284. | ^~~~~~~
  1285. In file included from ././common/inc/nv-pgprot.h:30,
  1286. from ././common/inc/nv-linux.h:33:
  1287. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  1288. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1289. | ~~~~~~~~~~~~~~^~~~~
  1290. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1291. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  1293. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1294. | ~~~~~~~~~~~~~~^~~~~~~~
  1295. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  1296. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1297. | ^~~~~~~~
  1298. | |
  1299. | long unsigned int
  1300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  1301. 2535 | unsigned int gup_flags, struct page **pages);
  1302. | ~~~~~~~~~~~~~~^~~~~
  1303. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  1304. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1305. | ^~~~~~~~~~~~~~ ~~~~~
  1306. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  1307. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1308. | ^~~~~~~~~~~~~~
  1309. In file included from ././common/inc/nv.h:35,
  1310. from ././common/inc/nv-linux.h:28:
  1311. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  1312. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1313. 8 | #define NULL ((void *)0)
  1314. | ^~~~~~~~~~~
  1315. | |
  1316. | void *
  1317. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  1318. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1319. | ^~~~
  1320. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  1321. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1322. | ~~~~~~~~~~~~~~^~~~~
  1323. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1324. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1325. | ^~
  1326. | |
  1327. | struct mm_struct *
  1328. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  1329. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1330. | ~~~~~~~~~~~~~~^~~~~~~~
  1331. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  1332. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1333. | ^~~~~~~~
  1334. | |
  1335. | long unsigned int
  1336. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  1337. 2535 | unsigned int gup_flags, struct page **pages);
  1338. | ~~~~~~~~~~~~~~^~~~~
  1339. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  1340. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1341. | ^~~~~~~~~~~~~~ ~~~~~
  1342. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  1343. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1344. | ^~~~~~~~~~~~~~
  1345. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  1346. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  1347. 237 | return (unsigned long)(vmf->virtual_address);
  1348. | ^~~~~~~~~~~~~~~
  1349. | real_address
  1350. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  1351. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1352. 246 | down_read(&mm->mmap_sem);
  1353. | ^~~~~~~~
  1354. | mmap_base
  1355. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  1356. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1357. 255 | up_read(&mm->mmap_sem);
  1358. | ^~~~~~~~
  1359. | mmap_base
  1360. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  1361. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1362. 264 | down_write(&mm->mmap_sem);
  1363. | ^~~~~~~~
  1364. | mmap_base
  1365. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  1366. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1367. 273 | up_write(&mm->mmap_sem);
  1368. | ^~~~~~~~
  1369. | mmap_base
  1370. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  1371. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1372. 282 | return rwsem_is_locked(&mm->mmap_sem);
  1373. | ^~~~~~~~
  1374. | mmap_base
  1375. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  1376. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1377. 291 | return &mm->mmap_sem;
  1378. | ^~~~~~~~
  1379. | mmap_base
  1380. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  1381. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  1382. 300 | vma->vm_flags |= flags;
  1383. | ^~
  1384. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  1385. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  1386. 309 | vma->vm_flags &= ~flags;
  1387. | ^~
  1388. In file included from ././common/inc/nv-linux.h:37:
  1389. ././common/inc/nv-time.h: At top level:
  1390. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  1391. 40 | struct timespec64 {
  1392. | ^~~~~~~~~~
  1393. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  1394. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  1395. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  1396. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  1397. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  1398. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  1399. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  1400. 13 | struct timespec64 {
  1401. | ^~~~~~~~~~
  1402. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1403. 77 | static inline struct timespec64 timespec64_add
  1404. | ^~~~~~~~~~~~~~
  1405. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1406. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  1407. | ^~~~~~~~~~~~~~
  1408. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1409. 95 | static inline struct timespec64 timespec64_sub
  1410. | ^~~~~~~~~~~~~~
  1411. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1412. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  1413. | ^~~~~~~~~~~~~~
  1414. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  1415. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  1416. | ^~~~~~~~~~~~~~~~
  1417. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  1418. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  1419. | ^~~~~~~~~~~~~~~~
  1420. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  1421. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1422. 122 | ktime_get_raw_ts64(&ts);
  1423. | ^~~
  1424. | |
  1425. | struct timespec64 *
  1426. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  1427. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1428. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1429. | ~~~~~~~~~~~~~~~~~~~^~
  1430. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  1431. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1432. 185 | ktime_get_raw_ts64(&tm_aux);
  1433. | ^~~~~~~
  1434. | |
  1435. | struct timespec64 *
  1436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1437. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1438. | ~~~~~~~~~~~~~~~~~~~^~
  1439. In file included from ././common/inc/nv-linux.h:37:
  1440. ././common/inc/nv-time.h: At top level:
  1441. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  1442. 40 | struct timespec64 {
  1443. | ^~~~~~~~~~
  1444. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  1445. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  1446. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  1447. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  1448. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  1449. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  1450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  1451. 13 | struct timespec64 {
  1452. | ^~~~~~~~~~
  1453. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1454. 77 | static inline struct timespec64 timespec64_add
  1455. | ^~~~~~~~~~~~~~
  1456. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1457. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  1458. | ^~~~~~~~~~~~~~
  1459. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1460. 95 | static inline struct timespec64 timespec64_sub
  1461. | ^~~~~~~~~~~~~~
  1462. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1463. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  1464. | ^~~~~~~~~~~~~~
  1465. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  1466. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  1467. | ^~~~~~~~~~~~~~~~
  1468. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  1469. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  1470. | ^~~~~~~~~~~~~~~~
  1471. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  1472. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1473. 221 | ktime_get_raw_ts64(&tm_aux);
  1474. | ^~~~~~~
  1475. | |
  1476. | struct timespec64 *
  1477. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1478. 122 | ktime_get_raw_ts64(&ts);
  1479. | ^~~
  1480. | |
  1481. | struct timespec64 *
  1482. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1483. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1484. | ~~~~~~~~~~~~~~~~~~~^~
  1485. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  1486. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1487. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1488. | ~~~~~~~~~~~~~~~~~~~^~
  1489. In file included from ././common/inc/nv-linux.h:34,
  1490. from nvidia/os-interface.c:27:
  1491. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  1492. 29 | typedef int vm_fault_t;
  1493. | ^~~~~~~~~~
  1494. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  1495. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  1496. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  1497. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  1498. from ././common/inc/nv-lock.h:35,
  1499. from ././common/inc/nv-linux.h:32:
  1500. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  1501. 1311 | typedef __bitwise unsigned int vm_fault_t;
  1502. | ^~~~~~~~~~
  1503. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  1504. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1505. 185 | ktime_get_raw_ts64(&tm_aux);
  1506. | ^~~~~~~
  1507. | |
  1508. | struct timespec64 *
  1509. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1510. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1511. | ~~~~~~~~~~~~~~~~~~~^~
  1512. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  1513. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  1514. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  1515. from ././common/inc/nv-lock.h:29:
  1516. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  1517. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1518. 52 | #define current get_current()
  1519. | ^~~~~~~~~~~~~
  1520. | |
  1521. | struct task_struct *
  1522. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  1523. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1524. | ^~~~~~~
  1525. In file included from ././common/inc/nv-pgprot.h:30,
  1526. from ././common/inc/nv-linux.h:33:
  1527. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  1528. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1529. | ~~~~~~~~~~~~~~^~~~~
  1530. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1531. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1532. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  1533. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1534. | ~~~~~~~~~~~~~~^~~~~~~~
  1535. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  1536. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1537. | ^~~~~~~~
  1538. | |
  1539. | long unsigned int
  1540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  1541. 2535 | unsigned int gup_flags, struct page **pages);
  1542. | ~~~~~~~~~~~~~~^~~~~
  1543. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  1544. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1545. | ^~~~~~~~~~~~~~ ~~~~~
  1546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  1547. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1548. | ^~~~~~~~~~~~~~
  1549. In file included from ././common/inc/nv.h:35,
  1550. from ././common/inc/nv-linux.h:28:
  1551. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  1552. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1553. 8 | #define NULL ((void *)0)
  1554. | ^~~~~~~~~~~
  1555. | |
  1556. | void *
  1557. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  1558. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1559. | ^~~~
  1560. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  1561. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1562. | ~~~~~~~~~~~~~~^~~~~
  1563. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1564. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1565. | ^~
  1566. | |
  1567. | struct mm_struct *
  1568. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  1569. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1570. | ~~~~~~~~~~~~~~^~~~~~~~
  1571. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  1572. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1573. | ^~~~~~~~
  1574. | |
  1575. | long unsigned int
  1576. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1577. 221 | ktime_get_raw_ts64(&tm_aux);
  1578. | ^~~~~~~
  1579. | |
  1580. | struct timespec64 *
  1581. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  1582. 2535 | unsigned int gup_flags, struct page **pages);
  1583. | ~~~~~~~~~~~~~~^~~~~
  1584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1585. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1586. | ~~~~~~~~~~~~~~~~~~~^~
  1587. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  1588. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1589. | ^~~~~~~~~~~~~~ ~~~~~
  1590. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  1591. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1592. | ^~~~~~~~~~~~~~
  1593. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  1594. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  1595. 237 | return (unsigned long)(vmf->virtual_address);
  1596. | ^~~~~~~~~~~~~~~
  1597. | real_address
  1598. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  1599. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1600. 246 | down_read(&mm->mmap_sem);
  1601. | ^~~~~~~~
  1602. | mmap_base
  1603. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  1604. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1605. 255 | up_read(&mm->mmap_sem);
  1606. | ^~~~~~~~
  1607. | mmap_base
  1608. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  1609. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1610. 264 | down_write(&mm->mmap_sem);
  1611. | ^~~~~~~~
  1612. | mmap_base
  1613. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  1614. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1615. 273 | up_write(&mm->mmap_sem);
  1616. | ^~~~~~~~
  1617. | mmap_base
  1618. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  1619. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1620. 282 | return rwsem_is_locked(&mm->mmap_sem);
  1621. | ^~~~~~~~
  1622. | mmap_base
  1623. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  1624. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1625. 291 | return &mm->mmap_sem;
  1626. | ^~~~~~~~
  1627. | mmap_base
  1628. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  1629. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  1630. 300 | vma->vm_flags |= flags;
  1631. | ^~
  1632. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  1633. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  1634. 309 | vma->vm_flags &= ~flags;
  1635. | ^~
  1636. In file included from ././common/inc/nv-linux.h:34,
  1637. from nvidia/nv-vtophys.c:27:
  1638. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  1639. 29 | typedef int vm_fault_t;
  1640. | ^~~~~~~~~~
  1641. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  1642. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  1643. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  1644. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  1645. from ././common/inc/nv-lock.h:35,
  1646. from ././common/inc/nv-linux.h:32:
  1647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  1648. 1311 | typedef __bitwise unsigned int vm_fault_t;
  1649. | ^~~~~~~~~~
  1650. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  1651. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  1652. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  1653. from ././common/inc/nv-lock.h:29:
  1654. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  1655. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1656. 52 | #define current get_current()
  1657. | ^~~~~~~~~~~~~
  1658. | |
  1659. | struct task_struct *
  1660. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  1661. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1662. | ^~~~~~~
  1663. In file included from ././common/inc/nv-pgprot.h:30,
  1664. from ././common/inc/nv-linux.h:33:
  1665. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  1666. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1667. | ~~~~~~~~~~~~~~^~~~~
  1668. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1669. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1670. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  1671. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1672. | ~~~~~~~~~~~~~~^~~~~~~~
  1673. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  1674. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1675. | ^~~~~~~~
  1676. | |
  1677. | long unsigned int
  1678. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  1679. 2535 | unsigned int gup_flags, struct page **pages);
  1680. | ~~~~~~~~~~~~~~^~~~~
  1681. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  1682. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  1683. | ^~~~~~~~~~~~~~ ~~~~~
  1684. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  1685. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1686. | ^~~~~~~~~~~~~~
  1687. In file included from ././common/inc/nv.h:35,
  1688. from ././common/inc/nv-linux.h:28:
  1689. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  1690. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1691. 8 | #define NULL ((void *)0)
  1692. | ^~~~~~~~~~~
  1693. | |
  1694. | void *
  1695. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  1696. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1697. | ^~~~
  1698. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  1699. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1700. | ~~~~~~~~~~~~~~^~~~~
  1701. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1702. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1703. | ^~
  1704. | |
  1705. | struct mm_struct *
  1706. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  1707. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1708. | ~~~~~~~~~~~~~~^~~~~~~~
  1709. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  1710. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1711. | ^~~~~~~~
  1712. | |
  1713. | long unsigned int
  1714. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  1715. 2535 | unsigned int gup_flags, struct page **pages);
  1716. | ~~~~~~~~~~~~~~^~~~~
  1717. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  1718. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  1719. | ^~~~~~~~~~~~~~ ~~~~~
  1720. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  1721. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  1722. | ^~~~~~~~~~~~~~
  1723. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  1724. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  1725. 237 | return (unsigned long)(vmf->virtual_address);
  1726. | ^~~~~~~~~~~~~~~
  1727. | real_address
  1728. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  1729. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1730. 246 | down_read(&mm->mmap_sem);
  1731. | ^~~~~~~~
  1732. | mmap_base
  1733. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  1734. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1735. 255 | up_read(&mm->mmap_sem);
  1736. | ^~~~~~~~
  1737. | mmap_base
  1738. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  1739. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1740. 264 | down_write(&mm->mmap_sem);
  1741. | ^~~~~~~~
  1742. | mmap_base
  1743. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  1744. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1745. 273 | up_write(&mm->mmap_sem);
  1746. | ^~~~~~~~
  1747. | mmap_base
  1748. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  1749. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1750. 282 | return rwsem_is_locked(&mm->mmap_sem);
  1751. | ^~~~~~~~
  1752. | mmap_base
  1753. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  1754. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  1755. 291 | return &mm->mmap_sem;
  1756. | ^~~~~~~~
  1757. | mmap_base
  1758. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  1759. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  1760. 300 | vma->vm_flags |= flags;
  1761. | ^~
  1762. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  1763. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  1764. 309 | vma->vm_flags &= ~flags;
  1765. | ^~
  1766. In file included from ././common/inc/nv-linux.h:37:
  1767. ././common/inc/nv-time.h: At top level:
  1768. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  1769. 40 | struct timespec64 {
  1770. | ^~~~~~~~~~
  1771. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  1772. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  1773. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  1774. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  1775. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  1776. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  1777. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  1778. 13 | struct timespec64 {
  1779. | ^~~~~~~~~~
  1780. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1781. 77 | static inline struct timespec64 timespec64_add
  1782. | ^~~~~~~~~~~~~~
  1783. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1784. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  1785. | ^~~~~~~~~~~~~~
  1786. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1787. 95 | static inline struct timespec64 timespec64_sub
  1788. | ^~~~~~~~~~~~~~
  1789. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1790. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  1791. | ^~~~~~~~~~~~~~
  1792. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  1793. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  1794. | ^~~~~~~~~~~~~~~~
  1795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  1796. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  1797. | ^~~~~~~~~~~~~~~~
  1798. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  1799. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1800. 122 | ktime_get_raw_ts64(&ts);
  1801. | ^~~
  1802. | |
  1803. | struct timespec64 *
  1804. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  1805. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1806. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1807. | ~~~~~~~~~~~~~~~~~~~^~
  1808. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  1809. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1810. 185 | ktime_get_raw_ts64(&tm_aux);
  1811. | ^~~~~~~
  1812. | |
  1813. | struct timespec64 *
  1814. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1815. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1816. | ~~~~~~~~~~~~~~~~~~~^~
  1817. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1818. 221 | ktime_get_raw_ts64(&tm_aux);
  1819. | ^~~~~~~
  1820. | |
  1821. | struct timespec64 *
  1822. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1823. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1824. | ~~~~~~~~~~~~~~~~~~~^~
  1825. In file included from ././common/inc/conftest.h:28,
  1826. from ././common/inc/nv_stdarg.h:29,
  1827. from ././common/inc/os-interface.h:40,
  1828. from nvidia/nv.c:33:
  1829. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  1830. 74 | #error dma_buf_export() conftest failed!
  1831. | ^~~~~
  1832. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  1833. 87 | #error wait_on_bit_lock() conftest failed!
  1834. | ^~~~~
  1835. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  1836. 90 | #error radix_tree_replace_slot() conftest failed!
  1837. | ^~~~~
  1838. In file included from ././common/inc/nv-linux.h:37:
  1839. ././common/inc/nv-time.h: At top level:
  1840. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  1841. 40 | struct timespec64 {
  1842. | ^~~~~~~~~~
  1843. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  1844. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  1845. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  1846. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  1847. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  1848. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  1849. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  1850. 13 | struct timespec64 {
  1851. | ^~~~~~~~~~
  1852. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1853. 77 | static inline struct timespec64 timespec64_add
  1854. | ^~~~~~~~~~~~~~
  1855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1856. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  1857. | ^~~~~~~~~~~~~~
  1858. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1859. 95 | static inline struct timespec64 timespec64_sub
  1860. | ^~~~~~~~~~~~~~
  1861. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1862. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  1863. | ^~~~~~~~~~~~~~
  1864. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  1865. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  1866. | ^~~~~~~~~~~~~~~~
  1867. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  1868. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  1869. | ^~~~~~~~~~~~~~~~
  1870. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  1871. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1872. 122 | ktime_get_raw_ts64(&ts);
  1873. | ^~~
  1874. | |
  1875. | struct timespec64 *
  1876. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  1877. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1878. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1879. | ~~~~~~~~~~~~~~~~~~~^~
  1880. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  1881. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1882. 185 | ktime_get_raw_ts64(&tm_aux);
  1883. | ^~~~~~~
  1884. | |
  1885. | struct timespec64 *
  1886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1887. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1888. | ~~~~~~~~~~~~~~~~~~~^~
  1889. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1890. 221 | ktime_get_raw_ts64(&tm_aux);
  1891. | ^~~~~~~
  1892. | |
  1893. | struct timespec64 *
  1894. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1895. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1896. | ~~~~~~~~~~~~~~~~~~~^~
  1897. In file included from ././common/inc/nv-linux.h:37:
  1898. ././common/inc/nv-time.h: At top level:
  1899. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  1900. 40 | struct timespec64 {
  1901. | ^~~~~~~~~~
  1902. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  1903. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  1904. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  1905. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  1906. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  1907. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  1908. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  1909. 13 | struct timespec64 {
  1910. | ^~~~~~~~~~
  1911. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1912. 77 | static inline struct timespec64 timespec64_add
  1913. | ^~~~~~~~~~~~~~
  1914. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1915. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  1916. | ^~~~~~~~~~~~~~
  1917. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  1918. 95 | static inline struct timespec64 timespec64_sub
  1919. | ^~~~~~~~~~~~~~
  1920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  1921. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  1922. | ^~~~~~~~~~~~~~
  1923. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  1924. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  1925. | ^~~~~~~~~~~~~~~~
  1926. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  1927. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  1928. | ^~~~~~~~~~~~~~~~
  1929. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  1930. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1931. 122 | ktime_get_raw_ts64(&ts);
  1932. | ^~~
  1933. | |
  1934. | struct timespec64 *
  1935. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  1936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1937. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1938. | ~~~~~~~~~~~~~~~~~~~^~
  1939. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  1940. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1941. 185 | ktime_get_raw_ts64(&tm_aux);
  1942. | ^~~~~~~
  1943. | |
  1944. | struct timespec64 *
  1945. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1946. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1947. | ~~~~~~~~~~~~~~~~~~~^~
  1948. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  1949. 221 | ktime_get_raw_ts64(&tm_aux);
  1950. | ^~~~~~~
  1951. | |
  1952. | struct timespec64 *
  1953. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  1954. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  1955. | ~~~~~~~~~~~~~~~~~~~^~
  1956. In file included from ././common/inc/conftest.h:28,
  1957. from ././common/inc/nv-pci-types.h:28,
  1958. from nvidia/nv-pci.c:25:
  1959. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  1960. 74 | #error dma_buf_export() conftest failed!
  1961. | ^~~~~
  1962. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  1963. 87 | #error wait_on_bit_lock() conftest failed!
  1964. | ^~~~~
  1965. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  1966. 90 | #error radix_tree_replace_slot() conftest failed!
  1967. | ^~~~~
  1968. In file included from ././common/inc/nv-linux.h:34,
  1969. from nvidia/nv-nano-timer.c:31:
  1970. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  1971. 29 | typedef int vm_fault_t;
  1972. | ^~~~~~~~~~
  1973. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  1974. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  1975. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  1976. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  1977. from ././common/inc/nv-lock.h:35,
  1978. from ././common/inc/nv-linux.h:32:
  1979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  1980. 1311 | typedef __bitwise unsigned int vm_fault_t;
  1981. | ^~~~~~~~~~
  1982. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  1983. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12,
  1984. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175,
  1985. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5,
  1986. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13,
  1987. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5,
  1988. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67,
  1989. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13,
  1990. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60,
  1991. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  1992. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  1993. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  1994. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  1995. from nvidia/nv-nano-timer.c:27:
  1996. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  1997. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  1998. 52 | #define current get_current()
  1999. | ^~~~~~~~~~~~~
  2000. | |
  2001. | struct task_struct *
  2002. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  2003. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2004. | ^~~~~~~
  2005. In file included from ././common/inc/nv-pgprot.h:30,
  2006. from ././common/inc/nv-linux.h:33:
  2007. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  2008. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2009. | ~~~~~~~~~~~~~~^~~~~
  2010. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2011. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2012. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2013. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2014. | ~~~~~~~~~~~~~~^~~~~~~~
  2015. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2016. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2017. | ^~~~~~~~
  2018. | |
  2019. | long unsigned int
  2020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2021. 2535 | unsigned int gup_flags, struct page **pages);
  2022. | ~~~~~~~~~~~~~~^~~~~
  2023. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2024. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2025. | ^~~~~~~~~~~~~~ ~~~~~
  2026. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2027. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2028. | ^~~~~~~~~~~~~~
  2029. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  2030. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  2031. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  2032. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  2033. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  2034. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  2035. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  2036. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/array_size.h:5,
  2037. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernel.h:16,
  2038. from nvidia/nv-nano-timer.c:26:
  2039. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  2040. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2041. 8 | #define NULL ((void *)0)
  2042. | ^~~~~~~~~~~
  2043. | |
  2044. | void *
  2045. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  2046. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2047. | ^~~~
  2048. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  2049. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2050. | ~~~~~~~~~~~~~~^~~~~
  2051. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2052. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2053. | ^~
  2054. | |
  2055. | struct mm_struct *
  2056. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2057. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2058. | ~~~~~~~~~~~~~~^~~~~~~~
  2059. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2060. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2061. | ^~~~~~~~
  2062. | |
  2063. | long unsigned int
  2064. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2065. 2535 | unsigned int gup_flags, struct page **pages);
  2066. | ~~~~~~~~~~~~~~^~~~~
  2067. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2068. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2069. | ^~~~~~~~~~~~~~ ~~~~~
  2070. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2071. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2072. | ^~~~~~~~~~~~~~
  2073. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  2074. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  2075. 237 | return (unsigned long)(vmf->virtual_address);
  2076. | ^~~~~~~~~~~~~~~
  2077. | real_address
  2078. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  2079. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2080. 246 | down_read(&mm->mmap_sem);
  2081. | ^~~~~~~~
  2082. | mmap_base
  2083. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  2084. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2085. 255 | up_read(&mm->mmap_sem);
  2086. | ^~~~~~~~
  2087. | mmap_base
  2088. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  2089. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2090. 264 | down_write(&mm->mmap_sem);
  2091. | ^~~~~~~~
  2092. | mmap_base
  2093. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  2094. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2095. 273 | up_write(&mm->mmap_sem);
  2096. | ^~~~~~~~
  2097. | mmap_base
  2098. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  2099. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2100. 282 | return rwsem_is_locked(&mm->mmap_sem);
  2101. | ^~~~~~~~
  2102. | mmap_base
  2103. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  2104. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2105. 291 | return &mm->mmap_sem;
  2106. | ^~~~~~~~
  2107. | mmap_base
  2108. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  2109. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  2110. 300 | vma->vm_flags |= flags;
  2111. | ^~
  2112. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  2113. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  2114. 309 | vma->vm_flags &= ~flags;
  2115. | ^~
  2116. In file included from ././common/inc/nv-linux.h:34,
  2117. from ././common/inc/nv-pci.h:28,
  2118. from nvidia/nv-pci.c:26:
  2119. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  2120. 29 | typedef int vm_fault_t;
  2121. | ^~~~~~~~~~
  2122. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  2123. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  2124. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16,
  2125. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/radix-tree.h:21,
  2126. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/idr.h:15,
  2127. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:12,
  2128. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sysfs.h:16,
  2129. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kobject.h:20,
  2130. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:35,
  2131. from nvidia/nv-pci-table.h:27,
  2132. from nvidia/nv-pci.c:24:
  2133. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  2134. 1311 | typedef __bitwise unsigned int vm_fault_t;
  2135. | ^~~~~~~~~~
  2136. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mutex.h:14,
  2137. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:11:
  2138. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  2139. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2140. 52 | #define current get_current()
  2141. | ^~~~~~~~~~~~~
  2142. | |
  2143. | struct task_struct *
  2144. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  2145. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2146. | ^~~~~~~
  2147. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8,
  2148. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dmapool.h:14,
  2149. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:1662:
  2150. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  2151. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2152. | ~~~~~~~~~~~~~~^~~~~
  2153. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2154. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2155. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2156. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2157. | ~~~~~~~~~~~~~~^~~~~~~~
  2158. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2159. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2160. | ^~~~~~~~
  2161. | |
  2162. | long unsigned int
  2163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2164. 2535 | unsigned int gup_flags, struct page **pages);
  2165. | ~~~~~~~~~~~~~~^~~~~
  2166. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2167. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2168. | ^~~~~~~~~~~~~~ ~~~~~
  2169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2170. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2171. | ^~~~~~~~~~~~~~
  2172. In file included from ././common/inc/nv-linux.h:34,
  2173. from nvidia/nv-cray.c:27:
  2174. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  2175. 29 | typedef int vm_fault_t;
  2176. | ^~~~~~~~~~
  2177. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  2178. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  2179. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  2180. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei_uuid.h:12,
  2181. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei.h:10,
  2182. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mod_devicetable.h:12,
  2183. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:27:
  2184. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  2185. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2186. 8 | #define NULL ((void *)0)
  2187. | ^~~~~~~~~~~
  2188. | |
  2189. | void *
  2190. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  2191. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2192. | ^~~~
  2193. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  2194. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2195. | ~~~~~~~~~~~~~~^~~~~
  2196. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2197. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2198. | ^~
  2199. | |
  2200. | struct mm_struct *
  2201. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  2202. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  2203. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  2204. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  2205. from ././common/inc/nv-lock.h:35,
  2206. from ././common/inc/nv-linux.h:32:
  2207. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  2208. 1311 | typedef __bitwise unsigned int vm_fault_t;
  2209. | ^~~~~~~~~~
  2210. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2211. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2212. | ~~~~~~~~~~~~~~^~~~~~~~
  2213. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2214. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2215. | ^~~~~~~~
  2216. | |
  2217. | long unsigned int
  2218. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2219. 2535 | unsigned int gup_flags, struct page **pages);
  2220. | ~~~~~~~~~~~~~~^~~~~
  2221. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2222. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2223. | ^~~~~~~~~~~~~~ ~~~~~
  2224. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  2225. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  2226. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  2227. from ././common/inc/nv-lock.h:29:
  2228. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  2229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2230. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2231. | ^~~~~~~~~~~~~~
  2232. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  2233. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  2234. 237 | return (unsigned long)(vmf->virtual_address);
  2235. | ^~~~~~~~~~~~~~~
  2236. | real_address
  2237. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2238. 52 | #define current get_current()
  2239. | ^~~~~~~~~~~~~
  2240. | |
  2241. | struct task_struct *
  2242. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  2243. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2244. | ^~~~~~~
  2245. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  2246. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2247. 246 | down_read(&mm->mmap_sem);
  2248. | ^~~~~~~~
  2249. | mmap_base
  2250. In file included from ././common/inc/nv-pgprot.h:30,
  2251. from ././common/inc/nv-linux.h:33:
  2252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  2253. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2254. | ~~~~~~~~~~~~~~^~~~~
  2255. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  2256. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2257. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2258. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2259. 255 | up_read(&mm->mmap_sem);
  2260. | ^~~~~~~~
  2261. | mmap_base
  2262. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  2263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2264. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2265. | ~~~~~~~~~~~~~~^~~~~~~~
  2266. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2267. 264 | down_write(&mm->mmap_sem);
  2268. | ^~~~~~~~
  2269. | mmap_base
  2270. In file included from ././common/inc/nv-linux.h:37:
  2271. ././common/inc/nv-time.h: At top level:
  2272. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  2273. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2274. 273 | up_write(&mm->mmap_sem);
  2275. | ^~~~~~~~
  2276. | mmap_base
  2277. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2278. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2279. | ^~~~~~~~
  2280. | |
  2281. | long unsigned int
  2282. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  2283. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  2284. 40 | struct timespec64 {
  2285. | ^~~~~~~~~~
  2286. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2287. 282 | return rwsem_is_locked(&mm->mmap_sem);
  2288. | ^~~~~~~~
  2289. | mmap_base
  2290. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2291. 2535 | unsigned int gup_flags, struct page **pages);
  2292. | ~~~~~~~~~~~~~~^~~~~
  2293. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7:
  2294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  2295. 13 | struct timespec64 {
  2296. | ^~~~~~~~~~
  2297. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  2298. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2299. 291 | return &mm->mmap_sem;
  2300. | ^~~~~~~~
  2301. | mmap_base
  2302. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  2303. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  2304. 300 | vma->vm_flags |= flags;
  2305. | ^~
  2306. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2307. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2308. | ^~~~~~~~~~~~~~ ~~~~~
  2309. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  2310. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  2311. 309 | vma->vm_flags &= ~flags;
  2312. | ^~
  2313. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2314. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2315. | ^~~~~~~~~~~~~~
  2316. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  2317. 77 | static inline struct timespec64 timespec64_add
  2318. | ^~~~~~~~~~~~~~
  2319. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  2320. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  2321. | ^~~~~~~~~~~~~~
  2322. In file included from ././common/inc/nv.h:35,
  2323. from ././common/inc/nv-linux.h:28:
  2324. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  2325. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2326. 8 | #define NULL ((void *)0)
  2327. | ^~~~~~~~~~~
  2328. | |
  2329. | void *
  2330. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  2331. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2332. | ^~~~
  2333. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  2334. 95 | static inline struct timespec64 timespec64_sub
  2335. | ^~~~~~~~~~~~~~
  2336. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  2337. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  2338. | ^~~~~~~~~~~~~~
  2339. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  2340. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2341. | ~~~~~~~~~~~~~~^~~~~
  2342. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2343. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2344. | ^~
  2345. | |
  2346. | struct mm_struct *
  2347. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2348. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2349. | ~~~~~~~~~~~~~~^~~~~~~~
  2350. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2351. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2352. | ^~~~~~~~
  2353. | |
  2354. | long unsigned int
  2355. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  2356. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  2357. | ^~~~~~~~~~~~~~~~
  2358. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  2359. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  2360. | ^~~~~~~~~~~~~~~~
  2361. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2362. 2535 | unsigned int gup_flags, struct page **pages);
  2363. | ~~~~~~~~~~~~~~^~~~~
  2364. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2365. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2366. | ^~~~~~~~~~~~~~ ~~~~~
  2367. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  2368. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2369. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2370. | ^~~~~~~~~~~~~~
  2371. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2372. 122 | ktime_get_raw_ts64(&ts);
  2373. | ^~~
  2374. | |
  2375. | struct timespec64 *
  2376. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  2377. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  2378. 237 | return (unsigned long)(vmf->virtual_address);
  2379. | ^~~~~~~~~~~~~~~
  2380. | real_address
  2381. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  2382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2383. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2384. | ~~~~~~~~~~~~~~~~~~~^~
  2385. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  2386. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2387. 246 | down_read(&mm->mmap_sem);
  2388. | ^~~~~~~~
  2389. | mmap_base
  2390. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  2391. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2392. 255 | up_read(&mm->mmap_sem);
  2393. | ^~~~~~~~
  2394. | mmap_base
  2395. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  2396. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2397. 264 | down_write(&mm->mmap_sem);
  2398. | ^~~~~~~~
  2399. | mmap_base
  2400. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  2401. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2402. 273 | up_write(&mm->mmap_sem);
  2403. | ^~~~~~~~
  2404. | mmap_base
  2405. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  2406. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  2407. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2408. 185 | ktime_get_raw_ts64(&tm_aux);
  2409. | ^~~~~~~
  2410. | |
  2411. | struct timespec64 *
  2412. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2413. 282 | return rwsem_is_locked(&mm->mmap_sem);
  2414. | ^~~~~~~~
  2415. | mmap_base
  2416. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2417. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2418. | ~~~~~~~~~~~~~~~~~~~^~
  2419. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  2420. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2421. 291 | return &mm->mmap_sem;
  2422. | ^~~~~~~~
  2423. | mmap_base
  2424. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  2425. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  2426. 300 | vma->vm_flags |= flags;
  2427. | ^~
  2428. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  2429. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  2430. 309 | vma->vm_flags &= ~flags;
  2431. | ^~
  2432. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2433. 221 | ktime_get_raw_ts64(&tm_aux);
  2434. | ^~~~~~~
  2435. | |
  2436. | struct timespec64 *
  2437. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2438. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2439. | ~~~~~~~~~~~~~~~~~~~^~
  2440. In file included from ././common/inc/nv-linux.h:34,
  2441. from nvidia/nv-vm.c:26:
  2442. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  2443. 29 | typedef int vm_fault_t;
  2444. | ^~~~~~~~~~
  2445. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  2446. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  2447. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  2448. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  2449. from ././common/inc/nv-lock.h:35,
  2450. from ././common/inc/nv-linux.h:32:
  2451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  2452. 1311 | typedef __bitwise unsigned int vm_fault_t;
  2453. | ^~~~~~~~~~
  2454. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  2455. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  2456. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  2457. from ././common/inc/nv-lock.h:29:
  2458. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  2459. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2460. 52 | #define current get_current()
  2461. | ^~~~~~~~~~~~~
  2462. | |
  2463. | struct task_struct *
  2464. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  2465. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2466. | ^~~~~~~
  2467. In file included from ././common/inc/nv-pgprot.h:30,
  2468. from ././common/inc/nv-linux.h:33:
  2469. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  2470. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2471. | ~~~~~~~~~~~~~~^~~~~
  2472. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2473. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2474. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2475. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2476. | ~~~~~~~~~~~~~~^~~~~~~~
  2477. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2478. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2479. | ^~~~~~~~
  2480. | |
  2481. | long unsigned int
  2482. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2483. 2535 | unsigned int gup_flags, struct page **pages);
  2484. | ~~~~~~~~~~~~~~^~~~~
  2485. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2486. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2487. | ^~~~~~~~~~~~~~ ~~~~~
  2488. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2489. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2490. | ^~~~~~~~~~~~~~
  2491. In file included from ././common/inc/nv.h:35,
  2492. from nvidia/nv-vm.c:25:
  2493. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  2494. In file included from ././common/inc/nv-linux.h:37:
  2495. ././common/inc/nv-time.h: At top level:
  2496. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2497. 8 | #define NULL ((void *)0)
  2498. | ^~~~~~~~~~~
  2499. | |
  2500. | void *
  2501. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  2502. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2503. | ^~~~
  2504. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  2505. 40 | struct timespec64 {
  2506. | ^~~~~~~~~~
  2507. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  2508. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2509. | ~~~~~~~~~~~~~~^~~~~
  2510. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  2511. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  2512. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  2513. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  2514. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  2515. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  2516. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  2517. 13 | struct timespec64 {
  2518. | ^~~~~~~~~~
  2519. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2520. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2521. | ^~
  2522. | |
  2523. | struct mm_struct *
  2524. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2525. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2526. | ~~~~~~~~~~~~~~^~~~~~~~
  2527. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2528. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2529. | ^~~~~~~~
  2530. | |
  2531. | long unsigned int
  2532. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2533. 2535 | unsigned int gup_flags, struct page **pages);
  2534. | ~~~~~~~~~~~~~~^~~~~
  2535. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  2536. 77 | static inline struct timespec64 timespec64_add
  2537. | ^~~~~~~~~~~~~~
  2538. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2539. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2540. | ^~~~~~~~~~~~~~ ~~~~~
  2541. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  2542. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  2543. | ^~~~~~~~~~~~~~
  2544. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2545. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2546. | ^~~~~~~~~~~~~~
  2547. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  2548. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  2549. 237 | return (unsigned long)(vmf->virtual_address);
  2550. | ^~~~~~~~~~~~~~~
  2551. | real_address
  2552. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  2553. 95 | static inline struct timespec64 timespec64_sub
  2554. | ^~~~~~~~~~~~~~
  2555. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  2556. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  2557. | ^~~~~~~~~~~~~~
  2558. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  2559. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2560. 246 | down_read(&mm->mmap_sem);
  2561. | ^~~~~~~~
  2562. | mmap_base
  2563. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  2564. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  2565. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  2566. | ^~~~~~~~~~~~~~~~
  2567. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  2568. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  2569. | ^~~~~~~~~~~~~~~~
  2570. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2571. 255 | up_read(&mm->mmap_sem);
  2572. | ^~~~~~~~
  2573. | mmap_base
  2574. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  2575. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  2576. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2577. 264 | down_write(&mm->mmap_sem);
  2578. | ^~~~~~~~
  2579. | mmap_base
  2580. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2581. 122 | ktime_get_raw_ts64(&ts);
  2582. | ^~~
  2583. | |
  2584. | struct timespec64 *
  2585. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  2586. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2587. 273 | up_write(&mm->mmap_sem);
  2588. | ^~~~~~~~
  2589. | mmap_base
  2590. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  2591. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2592. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2593. | ~~~~~~~~~~~~~~~~~~~^~
  2594. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  2595. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2596. 282 | return rwsem_is_locked(&mm->mmap_sem);
  2597. | ^~~~~~~~
  2598. | mmap_base
  2599. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  2600. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2601. 291 | return &mm->mmap_sem;
  2602. | ^~~~~~~~
  2603. | mmap_base
  2604. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  2605. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  2606. 300 | vma->vm_flags |= flags;
  2607. | ^~
  2608. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  2609. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  2610. 309 | vma->vm_flags &= ~flags;
  2611. | ^~
  2612. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  2613. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2614. 185 | ktime_get_raw_ts64(&tm_aux);
  2615. | ^~~~~~~
  2616. | |
  2617. | struct timespec64 *
  2618. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2619. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2620. | ~~~~~~~~~~~~~~~~~~~^~
  2621. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2622. 221 | ktime_get_raw_ts64(&tm_aux);
  2623. | ^~~~~~~
  2624. | |
  2625. | struct timespec64 *
  2626. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2627. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2628. | ~~~~~~~~~~~~~~~~~~~^~
  2629. In file included from ././common/inc/nv-linux.h:37:
  2630. ././common/inc/nv-time.h: At top level:
  2631. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  2632. 40 | struct timespec64 {
  2633. | ^~~~~~~~~~
  2634. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  2635. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  2636. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  2637. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  2638. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  2639. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  2640. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  2641. 13 | struct timespec64 {
  2642. | ^~~~~~~~~~
  2643. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  2644. 77 | static inline struct timespec64 timespec64_add
  2645. | ^~~~~~~~~~~~~~
  2646. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  2647. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  2648. | ^~~~~~~~~~~~~~
  2649. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  2650. 95 | static inline struct timespec64 timespec64_sub
  2651. | ^~~~~~~~~~~~~~
  2652. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  2653. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  2654. | ^~~~~~~~~~~~~~
  2655. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  2656. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  2657. | ^~~~~~~~~~~~~~~~
  2658. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  2659. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  2660. | ^~~~~~~~~~~~~~~~
  2661. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  2662. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2663. 122 | ktime_get_raw_ts64(&ts);
  2664. | ^~~
  2665. | |
  2666. | struct timespec64 *
  2667. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  2668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2669. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2670. | ~~~~~~~~~~~~~~~~~~~^~
  2671. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  2672. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2673. 185 | ktime_get_raw_ts64(&tm_aux);
  2674. | ^~~~~~~
  2675. | |
  2676. | struct timespec64 *
  2677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2678. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2679. | ~~~~~~~~~~~~~~~~~~~^~
  2680. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2681. 221 | ktime_get_raw_ts64(&tm_aux);
  2682. | ^~~~~~~
  2683. | |
  2684. | struct timespec64 *
  2685. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2686. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2687. | ~~~~~~~~~~~~~~~~~~~^~
  2688. In file included from ././common/inc/nv-linux.h:37:
  2689. ././common/inc/nv-time.h: At top level:
  2690. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  2691. 40 | struct timespec64 {
  2692. | ^~~~~~~~~~
  2693. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  2694. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  2695. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  2696. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  2697. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  2698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  2699. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  2700. 13 | struct timespec64 {
  2701. | ^~~~~~~~~~
  2702. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  2703. 77 | static inline struct timespec64 timespec64_add
  2704. | ^~~~~~~~~~~~~~
  2705. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  2706. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  2707. | ^~~~~~~~~~~~~~
  2708. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  2709. 95 | static inline struct timespec64 timespec64_sub
  2710. | ^~~~~~~~~~~~~~
  2711. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  2712. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  2713. | ^~~~~~~~~~~~~~
  2714. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  2715. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  2716. | ^~~~~~~~~~~~~~~~
  2717. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  2718. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  2719. | ^~~~~~~~~~~~~~~~
  2720. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  2721. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2722. 122 | ktime_get_raw_ts64(&ts);
  2723. | ^~~
  2724. | |
  2725. | struct timespec64 *
  2726. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  2727. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2728. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2729. | ~~~~~~~~~~~~~~~~~~~^~
  2730. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  2731. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2732. 185 | ktime_get_raw_ts64(&tm_aux);
  2733. | ^~~~~~~
  2734. | |
  2735. | struct timespec64 *
  2736. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2737. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2738. | ~~~~~~~~~~~~~~~~~~~^~
  2739. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  2740. 221 | ktime_get_raw_ts64(&tm_aux);
  2741. | ^~~~~~~
  2742. | |
  2743. | struct timespec64 *
  2744. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  2745. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  2746. | ~~~~~~~~~~~~~~~~~~~^~
  2747. In file included from ././common/inc/nv-linux.h:34,
  2748. from nvidia/nv.c:34:
  2749. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  2750. 29 | typedef int vm_fault_t;
  2751. | ^~~~~~~~~~
  2752. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  2753. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  2754. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4,
  2755. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9,
  2756. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17,
  2757. from nvidia/nv.c:24:
  2758. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  2759. 1311 | typedef __bitwise unsigned int vm_fault_t;
  2760. | ^~~~~~~~~~
  2761. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  2762. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12,
  2763. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175,
  2764. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5,
  2765. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13,
  2766. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5,
  2767. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67,
  2768. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13,
  2769. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60,
  2770. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  2771. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13:
  2772. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  2773. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2774. 52 | #define current get_current()
  2775. | ^~~~~~~~~~~~~
  2776. | |
  2777. | struct task_struct *
  2778. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  2779. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2780. | ^~~~~~~
  2781. In file included from ././common/inc/nv-pgprot.h:30,
  2782. from ././common/inc/nv-linux.h:33:
  2783. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  2784. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2785. | ~~~~~~~~~~~~~~^~~~~
  2786. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2787. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2788. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2789. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2790. | ~~~~~~~~~~~~~~^~~~~~~~
  2791. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2792. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2793. | ^~~~~~~~
  2794. | |
  2795. | long unsigned int
  2796. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2797. 2535 | unsigned int gup_flags, struct page **pages);
  2798. | ~~~~~~~~~~~~~~^~~~~
  2799. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2800. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2801. | ^~~~~~~~~~~~~~ ~~~~~
  2802. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2803. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2804. | ^~~~~~~~~~~~~~
  2805. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  2806. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  2807. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  2808. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  2809. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  2810. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  2811. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  2812. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  2813. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/container_of.h:5,
  2814. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list.h:5,
  2815. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:12:
  2816. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  2817. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2818. 8 | #define NULL ((void *)0)
  2819. | ^~~~~~~~~~~
  2820. | |
  2821. | void *
  2822. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  2823. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2824. | ^~~~
  2825. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  2826. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2827. | ~~~~~~~~~~~~~~^~~~~
  2828. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2829. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2830. | ^~
  2831. | |
  2832. | struct mm_struct *
  2833. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2834. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2835. | ~~~~~~~~~~~~~~^~~~~~~~
  2836. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2837. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2838. | ^~~~~~~~
  2839. | |
  2840. | long unsigned int
  2841. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2842. 2535 | unsigned int gup_flags, struct page **pages);
  2843. | ~~~~~~~~~~~~~~^~~~~
  2844. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2845. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2846. | ^~~~~~~~~~~~~~ ~~~~~
  2847. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2848. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2849. | ^~~~~~~~~~~~~~
  2850. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  2851. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  2852. 237 | return (unsigned long)(vmf->virtual_address);
  2853. | ^~~~~~~~~~~~~~~
  2854. | real_address
  2855. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  2856. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2857. 246 | down_read(&mm->mmap_sem);
  2858. | ^~~~~~~~
  2859. | mmap_base
  2860. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  2861. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2862. 255 | up_read(&mm->mmap_sem);
  2863. | ^~~~~~~~
  2864. | mmap_base
  2865. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  2866. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2867. 264 | down_write(&mm->mmap_sem);
  2868. | ^~~~~~~~
  2869. | mmap_base
  2870. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  2871. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2872. 273 | up_write(&mm->mmap_sem);
  2873. | ^~~~~~~~
  2874. | mmap_base
  2875. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  2876. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2877. 282 | return rwsem_is_locked(&mm->mmap_sem);
  2878. | ^~~~~~~~
  2879. | mmap_base
  2880. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  2881. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2882. 291 | return &mm->mmap_sem;
  2883. | ^~~~~~~~
  2884. | mmap_base
  2885. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  2886. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  2887. 300 | vma->vm_flags |= flags;
  2888. | ^~
  2889. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  2890. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  2891. 309 | vma->vm_flags &= ~flags;
  2892. | ^~
  2893. In file included from ././common/inc/nv-linux.h:34,
  2894. from nvidia/nv-procfs.c:27:
  2895. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  2896. 29 | typedef int vm_fault_t;
  2897. | ^~~~~~~~~~
  2898. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  2899. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  2900. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  2901. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  2902. from ././common/inc/nv-lock.h:35,
  2903. from ././common/inc/nv-linux.h:32:
  2904. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  2905. 1311 | typedef __bitwise unsigned int vm_fault_t;
  2906. | ^~~~~~~~~~
  2907. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  2908. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  2909. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  2910. from ././common/inc/nv-lock.h:29:
  2911. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  2912. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2913. 52 | #define current get_current()
  2914. | ^~~~~~~~~~~~~
  2915. | |
  2916. | struct task_struct *
  2917. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  2918. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2919. | ^~~~~~~
  2920. In file included from ././common/inc/nv-pgprot.h:30,
  2921. from ././common/inc/nv-linux.h:33:
  2922. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  2923. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2924. | ~~~~~~~~~~~~~~^~~~~
  2925. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2926. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2927. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2928. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2929. | ~~~~~~~~~~~~~~^~~~~~~~
  2930. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2931. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2932. | ^~~~~~~~
  2933. | |
  2934. | long unsigned int
  2935. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2936. 2535 | unsigned int gup_flags, struct page **pages);
  2937. | ~~~~~~~~~~~~~~^~~~~
  2938. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2939. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  2940. | ^~~~~~~~~~~~~~ ~~~~~
  2941. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2942. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2943. | ^~~~~~~~~~~~~~
  2944. In file included from ././common/inc/nv.h:35,
  2945. from ././common/inc/nv-linux.h:28:
  2946. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  2947. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2948. 8 | #define NULL ((void *)0)
  2949. | ^~~~~~~~~~~
  2950. | |
  2951. | void *
  2952. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  2953. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2954. | ^~~~
  2955. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  2956. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2957. | ~~~~~~~~~~~~~~^~~~~
  2958. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  2959. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2960. | ^~
  2961. | |
  2962. | struct mm_struct *
  2963. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  2964. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2965. | ~~~~~~~~~~~~~~^~~~~~~~
  2966. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  2967. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2968. | ^~~~~~~~
  2969. | |
  2970. | long unsigned int
  2971. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  2972. 2535 | unsigned int gup_flags, struct page **pages);
  2973. | ~~~~~~~~~~~~~~^~~~~
  2974. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  2975. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  2976. | ^~~~~~~~~~~~~~ ~~~~~
  2977. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  2978. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  2979. | ^~~~~~~~~~~~~~
  2980. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  2981. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  2982. 237 | return (unsigned long)(vmf->virtual_address);
  2983. | ^~~~~~~~~~~~~~~
  2984. | real_address
  2985. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  2986. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2987. 246 | down_read(&mm->mmap_sem);
  2988. | ^~~~~~~~
  2989. | mmap_base
  2990. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  2991. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2992. 255 | up_read(&mm->mmap_sem);
  2993. | ^~~~~~~~
  2994. | mmap_base
  2995. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  2996. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  2997. 264 | down_write(&mm->mmap_sem);
  2998. | ^~~~~~~~
  2999. | mmap_base
  3000. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  3001. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3002. 273 | up_write(&mm->mmap_sem);
  3003. | ^~~~~~~~
  3004. | mmap_base
  3005. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  3006. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3007. 282 | return rwsem_is_locked(&mm->mmap_sem);
  3008. | ^~~~~~~~
  3009. | mmap_base
  3010. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  3011. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3012. 291 | return &mm->mmap_sem;
  3013. | ^~~~~~~~
  3014. | mmap_base
  3015. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  3016. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  3017. 300 | vma->vm_flags |= flags;
  3018. | ^~
  3019. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  3020. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  3021. 309 | vma->vm_flags &= ~flags;
  3022. | ^~
  3023. In file included from ././common/inc/nv-linux.h:37:
  3024. ././common/inc/nv-time.h: At top level:
  3025. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  3026. 40 | struct timespec64 {
  3027. | ^~~~~~~~~~
  3028. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  3029. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  3030. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  3031. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  3032. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  3033. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  3034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  3035. 13 | struct timespec64 {
  3036. | ^~~~~~~~~~
  3037. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  3038. 77 | static inline struct timespec64 timespec64_add
  3039. | ^~~~~~~~~~~~~~
  3040. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  3041. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  3042. | ^~~~~~~~~~~~~~
  3043. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  3044. 95 | static inline struct timespec64 timespec64_sub
  3045. | ^~~~~~~~~~~~~~
  3046. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  3047. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  3048. | ^~~~~~~~~~~~~~
  3049. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  3050. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  3051. | ^~~~~~~~~~~~~~~~
  3052. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  3053. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  3054. | ^~~~~~~~~~~~~~~~
  3055. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  3056. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3057. 122 | ktime_get_raw_ts64(&ts);
  3058. | ^~~
  3059. | |
  3060. | struct timespec64 *
  3061. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  3062. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3063. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3064. | ~~~~~~~~~~~~~~~~~~~^~
  3065. In file included from ././common/inc/nv-linux.h:37:
  3066. ././common/inc/nv-time.h: At top level:
  3067. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  3068. 40 | struct timespec64 {
  3069. | ^~~~~~~~~~
  3070. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7:
  3071. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  3072. 13 | struct timespec64 {
  3073. | ^~~~~~~~~~
  3074. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  3075. 77 | static inline struct timespec64 timespec64_add
  3076. | ^~~~~~~~~~~~~~
  3077. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  3078. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  3079. | ^~~~~~~~~~~~~~
  3080. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  3081. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3082. 185 | ktime_get_raw_ts64(&tm_aux);
  3083. | ^~~~~~~
  3084. | |
  3085. | struct timespec64 *
  3086. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3087. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3088. | ~~~~~~~~~~~~~~~~~~~^~
  3089. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  3090. 95 | static inline struct timespec64 timespec64_sub
  3091. | ^~~~~~~~~~~~~~
  3092. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  3093. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  3094. | ^~~~~~~~~~~~~~
  3095. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  3096. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  3097. | ^~~~~~~~~~~~~~~~
  3098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  3099. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  3100. | ^~~~~~~~~~~~~~~~
  3101. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  3102. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3103. 122 | ktime_get_raw_ts64(&ts);
  3104. | ^~~
  3105. | |
  3106. | struct timespec64 *
  3107. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  3108. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  3109. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  3110. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  3111. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3112. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3113. | ~~~~~~~~~~~~~~~~~~~^~
  3114. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  3115. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3116. 185 | ktime_get_raw_ts64(&tm_aux);
  3117. | ^~~~~~~
  3118. | |
  3119. | struct timespec64 *
  3120. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3121. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3122. | ~~~~~~~~~~~~~~~~~~~^~
  3123. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3124. 221 | ktime_get_raw_ts64(&tm_aux);
  3125. | ^~~~~~~
  3126. | |
  3127. | struct timespec64 *
  3128. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3129. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3130. | ~~~~~~~~~~~~~~~~~~~^~
  3131. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3132. 221 | ktime_get_raw_ts64(&tm_aux);
  3133. | ^~~~~~~
  3134. | |
  3135. | struct timespec64 *
  3136. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3137. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3138. | ~~~~~~~~~~~~~~~~~~~^~
  3139. In file included from ././common/inc/conftest.h:28,
  3140. from ././common/inc/nv_stdarg.h:29,
  3141. from ././common/inc/nv.h:41,
  3142. from ././common/inc/nv-linux.h:28,
  3143. from ././common/inc/nv-dmabuf.h:27,
  3144. from nvidia/nv-dmabuf.c:24:
  3145. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  3146. 74 | #error dma_buf_export() conftest failed!
  3147. | ^~~~~
  3148. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  3149. 87 | #error wait_on_bit_lock() conftest failed!
  3150. | ^~~~~
  3151. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  3152. 90 | #error radix_tree_replace_slot() conftest failed!
  3153. | ^~~~~
  3154. In file included from ././common/inc/nv-linux.h:34:
  3155. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  3156. 29 | typedef int vm_fault_t;
  3157. | ^~~~~~~~~~
  3158. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  3159. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  3160. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:7,
  3161. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8,
  3162. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:19,
  3163. from nvidia/nv-dmabuf.c:23:
  3164. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  3165. 1311 | typedef __bitwise unsigned int vm_fault_t;
  3166. | ^~~~~~~~~~
  3167. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  3168. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:9,
  3169. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18,
  3170. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/special_insns.h:10,
  3171. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/io.h:45,
  3172. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:14,
  3173. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/iosys-map.h:10,
  3174. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:16:
  3175. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  3176. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  3177. 52 | #define current get_current()
  3178. | ^~~~~~~~~~~~~
  3179. | |
  3180. | struct task_struct *
  3181. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  3182. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  3183. | ^~~~~~~
  3184. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  3185. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3186. | ~~~~~~~~~~~~~~^~~~~
  3187. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  3188. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  3189. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  3190. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3191. | ~~~~~~~~~~~~~~^~~~~~~~
  3192. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  3193. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  3194. | ^~~~~~~~
  3195. | |
  3196. | long unsigned int
  3197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  3198. 2535 | unsigned int gup_flags, struct page **pages);
  3199. | ~~~~~~~~~~~~~~^~~~~
  3200. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  3201. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  3202. | ^~~~~~~~~~~~~~ ~~~~~
  3203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  3204. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3205. | ^~~~~~~~~~~~~~
  3206. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  3207. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  3208. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  3209. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:10:
  3210. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  3211. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  3212. 8 | #define NULL ((void *)0)
  3213. | ^~~~~~~~~~~
  3214. | |
  3215. | void *
  3216. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  3217. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  3218. | ^~~~
  3219. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  3220. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3221. | ~~~~~~~~~~~~~~^~~~~
  3222. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  3223. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  3224. | ^~
  3225. | |
  3226. | struct mm_struct *
  3227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  3228. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3229. | ~~~~~~~~~~~~~~^~~~~~~~
  3230. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  3231. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  3232. | ^~~~~~~~
  3233. | |
  3234. | long unsigned int
  3235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  3236. 2535 | unsigned int gup_flags, struct page **pages);
  3237. | ~~~~~~~~~~~~~~^~~~~
  3238. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  3239. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  3240. | ^~~~~~~~~~~~~~ ~~~~~
  3241. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  3242. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3243. | ^~~~~~~~~~~~~~
  3244. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  3245. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  3246. 237 | return (unsigned long)(vmf->virtual_address);
  3247. | ^~~~~~~~~~~~~~~
  3248. | real_address
  3249. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  3250. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3251. 246 | down_read(&mm->mmap_sem);
  3252. | ^~~~~~~~
  3253. | mmap_base
  3254. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  3255. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3256. 255 | up_read(&mm->mmap_sem);
  3257. | ^~~~~~~~
  3258. | mmap_base
  3259. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  3260. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3261. 264 | down_write(&mm->mmap_sem);
  3262. | ^~~~~~~~
  3263. | mmap_base
  3264. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  3265. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3266. 273 | up_write(&mm->mmap_sem);
  3267. | ^~~~~~~~
  3268. | mmap_base
  3269. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  3270. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3271. 282 | return rwsem_is_locked(&mm->mmap_sem);
  3272. | ^~~~~~~~
  3273. | mmap_base
  3274. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  3275. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3276. 291 | return &mm->mmap_sem;
  3277. | ^~~~~~~~
  3278. | mmap_base
  3279. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  3280. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  3281. 300 | vma->vm_flags |= flags;
  3282. | ^~
  3283. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  3284. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  3285. 309 | vma->vm_flags &= ~flags;
  3286. | ^~
  3287. In file included from ././common/inc/nv-linux.h:37:
  3288. ././common/inc/nv-time.h: At top level:
  3289. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  3290. 40 | struct timespec64 {
  3291. | ^~~~~~~~~~
  3292. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  3293. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  3294. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  3295. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  3296. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  3297. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  3298. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  3299. 13 | struct timespec64 {
  3300. | ^~~~~~~~~~
  3301. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  3302. 77 | static inline struct timespec64 timespec64_add
  3303. | ^~~~~~~~~~~~~~
  3304. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  3305. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  3306. | ^~~~~~~~~~~~~~
  3307. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  3308. 95 | static inline struct timespec64 timespec64_sub
  3309. | ^~~~~~~~~~~~~~
  3310. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  3311. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  3312. | ^~~~~~~~~~~~~~
  3313. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  3314. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  3315. | ^~~~~~~~~~~~~~~~
  3316. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  3317. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  3318. | ^~~~~~~~~~~~~~~~
  3319. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  3320. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3321. 122 | ktime_get_raw_ts64(&ts);
  3322. | ^~~
  3323. | |
  3324. | struct timespec64 *
  3325. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  3326. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3327. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3328. | ~~~~~~~~~~~~~~~~~~~^~
  3329. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  3330. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3331. 185 | ktime_get_raw_ts64(&tm_aux);
  3332. | ^~~~~~~
  3333. | |
  3334. | struct timespec64 *
  3335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3336. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3337. | ~~~~~~~~~~~~~~~~~~~^~
  3338. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3339. 221 | ktime_get_raw_ts64(&tm_aux);
  3340. | ^~~~~~~
  3341. | |
  3342. | struct timespec64 *
  3343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3344. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3345. | ~~~~~~~~~~~~~~~~~~~^~
  3346. In file included from ././common/inc/conftest.h:28,
  3347. from ././common/inc/nv_stdarg.h:29,
  3348. from ././common/inc/os-interface.h:40,
  3349. from nvidia/nv-i2c.c:28:
  3350. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  3351. 74 | #error dma_buf_export() conftest failed!
  3352. | ^~~~~
  3353. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  3354. 87 | #error wait_on_bit_lock() conftest failed!
  3355. | ^~~~~
  3356. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  3357. 90 | #error radix_tree_replace_slot() conftest failed!
  3358. | ^~~~~
  3359. In file included from ././common/inc/nv-linux.h:34,
  3360. from nvidia/nv-i2c.c:29:
  3361. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  3362. 29 | typedef int vm_fault_t;
  3363. | ^~~~~~~~~~
  3364. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  3365. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  3366. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/slab.h:16,
  3367. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/resource_ext.h:11,
  3368. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:13,
  3369. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:13,
  3370. from nvidia/nv-i2c.c:26:
  3371. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  3372. 1311 | typedef __bitwise unsigned int vm_fault_t;
  3373. | ^~~~~~~~~~
  3374. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  3375. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  3376. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  3377. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:8:
  3378. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  3379. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  3380. 52 | #define current get_current()
  3381. | ^~~~~~~~~~~~~
  3382. | |
  3383. | struct task_struct *
  3384. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  3385. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  3386. | ^~~~~~~
  3387. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/memcontrol.h:21,
  3388. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/swap.h:9,
  3389. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/suspend.h:5,
  3390. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/regulator/consumer.h:35,
  3391. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:19:
  3392. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  3393. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3394. | ~~~~~~~~~~~~~~^~~~~
  3395. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  3396. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  3397. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  3398. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3399. | ~~~~~~~~~~~~~~^~~~~~~~
  3400. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  3401. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  3402. | ^~~~~~~~
  3403. | |
  3404. | long unsigned int
  3405. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  3406. 2535 | unsigned int gup_flags, struct page **pages);
  3407. | ~~~~~~~~~~~~~~^~~~~
  3408. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  3409. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  3410. | ^~~~~~~~~~~~~~ ~~~~~
  3411. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  3412. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3413. | ^~~~~~~~~~~~~~
  3414. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  3415. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  3416. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  3417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  3418. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  3419. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  3420. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  3421. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  3422. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bits.h:22,
  3423. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ioport.h:13,
  3424. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:12:
  3425. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  3426. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  3427. 8 | #define NULL ((void *)0)
  3428. | ^~~~~~~~~~~
  3429. | |
  3430. | void *
  3431. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  3432. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  3433. | ^~~~
  3434. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  3435. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3436. | ~~~~~~~~~~~~~~^~~~~
  3437. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  3438. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  3439. | ^~
  3440. | |
  3441. | struct mm_struct *
  3442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  3443. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3444. | ~~~~~~~~~~~~~~^~~~~~~~
  3445. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  3446. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  3447. | ^~~~~~~~
  3448. | |
  3449. | long unsigned int
  3450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  3451. 2535 | unsigned int gup_flags, struct page **pages);
  3452. | ~~~~~~~~~~~~~~^~~~~
  3453. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  3454. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  3455. | ^~~~~~~~~~~~~~ ~~~~~
  3456. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  3457. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  3458. | ^~~~~~~~~~~~~~
  3459. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  3460. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  3461. 237 | return (unsigned long)(vmf->virtual_address);
  3462. | ^~~~~~~~~~~~~~~
  3463. | real_address
  3464. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  3465. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3466. 246 | down_read(&mm->mmap_sem);
  3467. | ^~~~~~~~
  3468. | mmap_base
  3469. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  3470. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3471. 255 | up_read(&mm->mmap_sem);
  3472. | ^~~~~~~~
  3473. | mmap_base
  3474. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  3475. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3476. 264 | down_write(&mm->mmap_sem);
  3477. | ^~~~~~~~
  3478. | mmap_base
  3479. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  3480. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3481. 273 | up_write(&mm->mmap_sem);
  3482. | ^~~~~~~~
  3483. | mmap_base
  3484. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  3485. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3486. 282 | return rwsem_is_locked(&mm->mmap_sem);
  3487. | ^~~~~~~~
  3488. | mmap_base
  3489. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  3490. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  3491. 291 | return &mm->mmap_sem;
  3492. | ^~~~~~~~
  3493. | mmap_base
  3494. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  3495. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  3496. 300 | vma->vm_flags |= flags;
  3497. | ^~
  3498. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  3499. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  3500. 309 | vma->vm_flags &= ~flags;
  3501. | ^~
  3502. In file included from ././common/inc/nv-linux.h:37:
  3503. ././common/inc/nv-time.h: At top level:
  3504. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  3505. 40 | struct timespec64 {
  3506. | ^~~~~~~~~~
  3507. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  3508. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  3509. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  3510. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  3511. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  3512. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  3513. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  3514. 13 | struct timespec64 {
  3515. | ^~~~~~~~~~
  3516. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  3517. 77 | static inline struct timespec64 timespec64_add
  3518. | ^~~~~~~~~~~~~~
  3519. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  3520. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  3521. | ^~~~~~~~~~~~~~
  3522. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  3523. 95 | static inline struct timespec64 timespec64_sub
  3524. | ^~~~~~~~~~~~~~
  3525. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  3526. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  3527. | ^~~~~~~~~~~~~~
  3528. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  3529. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  3530. | ^~~~~~~~~~~~~~~~
  3531. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  3532. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  3533. | ^~~~~~~~~~~~~~~~
  3534. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  3535. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3536. 122 | ktime_get_raw_ts64(&ts);
  3537. | ^~~
  3538. | |
  3539. | struct timespec64 *
  3540. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  3541. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3542. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3543. | ~~~~~~~~~~~~~~~~~~~^~
  3544. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  3545. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3546. 185 | ktime_get_raw_ts64(&tm_aux);
  3547. | ^~~~~~~
  3548. | |
  3549. | struct timespec64 *
  3550. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3551. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3552. | ~~~~~~~~~~~~~~~~~~~^~
  3553. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  3554. 221 | ktime_get_raw_ts64(&tm_aux);
  3555. | ^~~~~~~
  3556. | |
  3557. | struct timespec64 *
  3558. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  3559. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  3560. | ~~~~~~~~~~~~~~~~~~~^~
  3561. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3562. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3563. 502 | NV_MEMDBG_ADD(ptr, size);
  3564. | ^
  3565. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3566. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3567. 502 | NV_MEMDBG_ADD(ptr, size);
  3568. | ^
  3569. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3570. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3571. 502 | NV_MEMDBG_ADD(ptr, size);
  3572. | ^
  3573. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3574. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3575. 502 | NV_MEMDBG_ADD(ptr, size);
  3576. | ^
  3577. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3578. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3579. 502 | NV_MEMDBG_ADD(ptr, size);
  3580. | ^
  3581. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3582. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3583. 502 | NV_MEMDBG_ADD(ptr, size);
  3584. | ^
  3585. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3586. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3587. 502 | NV_MEMDBG_ADD(ptr, size);
  3588. | ^
  3589. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3590. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3591. 502 | NV_MEMDBG_ADD(ptr, size);
  3592. | ^
  3593. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3594. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3595. 502 | NV_MEMDBG_ADD(ptr, size);
  3596. | ^
  3597. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3598. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3599. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3600. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3601. | ^~~~~~~~~~~~~~~~~~~~~~~
  3602. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3603. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3604. 520 | NV_MEMDBG_ADD(ptr, size);
  3605. | ^
  3606. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3607. 502 | NV_MEMDBG_ADD(ptr, size);
  3608. | ^
  3609. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3610. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3611. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3612. | ^~~~~~~~~~~~~~~~~~~~~~~
  3613. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3614. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3615. 520 | NV_MEMDBG_ADD(ptr, size);
  3616. | ^
  3617. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3618. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3619. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3620. | ^~~~~~~~~~~~~~~~~~~~~~~
  3621. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3622. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3623. 520 | NV_MEMDBG_ADD(ptr, size);
  3624. | ^
  3625. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3626. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3627. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3628. | ^~~~~~~~~~~~~~~~~~~~~~~
  3629. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3630. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3631. 520 | NV_MEMDBG_ADD(ptr, size);
  3632. | ^
  3633. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3634. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3635. 502 | NV_MEMDBG_ADD(ptr, size);
  3636. | ^
  3637. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3638. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3639. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3640. | ^~~~~~~~~~~~~~~~~~~~~~~
  3641. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3642. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3643. 520 | NV_MEMDBG_ADD(ptr, size);
  3644. | ^
  3645. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3646. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3647. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3648. | ^~~~~~~~~~~~~~~~~~~~~~~
  3649. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3650. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3651. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3652. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3653. | ^~~~~~~~~~~~~~~~~~~~~~~
  3654. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3655. 520 | NV_MEMDBG_ADD(ptr, size);
  3656. | ^
  3657. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3658. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3659. 520 | NV_MEMDBG_ADD(ptr, size);
  3660. | ^
  3661. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3662. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3663. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3664. | ^~~~~~~~~~~~~~~~~~~~~~~
  3665. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3666. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3667. 520 | NV_MEMDBG_ADD(ptr, size);
  3668. | ^
  3669. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3670. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3671. 502 | NV_MEMDBG_ADD(ptr, size);
  3672. | ^
  3673. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3674. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3675. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3676. | ^~~~~~~~~~~~~~~~~~~~~~~
  3677. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3678. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3679. 520 | NV_MEMDBG_ADD(ptr, size);
  3680. | ^
  3681. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3682. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3683. 502 | NV_MEMDBG_ADD(ptr, size);
  3684. | ^
  3685. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3686. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3687. 502 | NV_MEMDBG_ADD(ptr, size);
  3688. | ^
  3689. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3690. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3691. 533 | ptr = ioremap_cache_shared(phys, size);
  3692. | ^~~~~~~~~~~~~~~~~~~~
  3693. | ioremap_cache
  3694. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3695. 533 | ptr = ioremap_cache_shared(phys, size);
  3696. | ^
  3697. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3698. 556 | NV_MEMDBG_ADD(ptr, size);
  3699. | ^
  3700. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3701. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3702. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3703. 533 | ptr = ioremap_cache_shared(phys, size);
  3704. | ^~~~~~~~~~~~~~~~~~~~
  3705. | ioremap_cache
  3706. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3707. 533 | ptr = ioremap_cache_shared(phys, size);
  3708. | ^
  3709. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3710. 556 | NV_MEMDBG_ADD(ptr, size);
  3711. | ^
  3712. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3713. 502 | NV_MEMDBG_ADD(ptr, size);
  3714. | ^
  3715. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  3716. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3717. 502 | NV_MEMDBG_ADD(ptr, size);
  3718. | ^
  3719. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3720. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3721. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3722. | ^~~~~~~~~~~~~~~~~~~~~~~
  3723. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3724. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3725. 520 | NV_MEMDBG_ADD(ptr, size);
  3726. | ^
  3727. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3728. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3729. 533 | ptr = ioremap_cache_shared(phys, size);
  3730. | ^~~~~~~~~~~~~~~~~~~~
  3731. | ioremap_cache
  3732. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3733. 533 | ptr = ioremap_cache_shared(phys, size);
  3734. | ^
  3735. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3736. 556 | NV_MEMDBG_ADD(ptr, size);
  3737. | ^
  3738. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3739. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3740. 533 | ptr = ioremap_cache_shared(phys, size);
  3741. | ^~~~~~~~~~~~~~~~~~~~
  3742. | ioremap_cache
  3743. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3744. 533 | ptr = ioremap_cache_shared(phys, size);
  3745. | ^
  3746. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3747. 556 | NV_MEMDBG_ADD(ptr, size);
  3748. | ^
  3749. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3750. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3751. 533 | ptr = ioremap_cache_shared(phys, size);
  3752. | ^~~~~~~~~~~~~~~~~~~~
  3753. | ioremap_cache
  3754. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3755. 533 | ptr = ioremap_cache_shared(phys, size);
  3756. | ^
  3757. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3758. 556 | NV_MEMDBG_ADD(ptr, size);
  3759. | ^
  3760. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3761. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3762. 533 | ptr = ioremap_cache_shared(phys, size);
  3763. | ^~~~~~~~~~~~~~~~~~~~
  3764. | ioremap_cache
  3765. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3766. 533 | ptr = ioremap_cache_shared(phys, size);
  3767. | ^
  3768. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3769. 556 | NV_MEMDBG_ADD(ptr, size);
  3770. | ^
  3771. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3772. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3773. 533 | ptr = ioremap_cache_shared(phys, size);
  3774. | ^~~~~~~~~~~~~~~~~~~~
  3775. | ioremap_cache
  3776. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3777. 533 | ptr = ioremap_cache_shared(phys, size);
  3778. | ^
  3779. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3780. 556 | NV_MEMDBG_ADD(ptr, size);
  3781. | ^
  3782. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3783. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3784. 533 | ptr = ioremap_cache_shared(phys, size);
  3785. | ^~~~~~~~~~~~~~~~~~~~
  3786. | ioremap_cache
  3787. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3788. 533 | ptr = ioremap_cache_shared(phys, size);
  3789. | ^
  3790. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3791. 556 | NV_MEMDBG_ADD(ptr, size);
  3792. | ^
  3793. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3794. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3795. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3796. | ^~~~~~~~~~~~~~~~~~~~~~~
  3797. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3798. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3799. 520 | NV_MEMDBG_ADD(ptr, size);
  3800. | ^
  3801. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3802. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3803. 533 | ptr = ioremap_cache_shared(phys, size);
  3804. | ^~~~~~~~~~~~~~~~~~~~
  3805. | ioremap_cache
  3806. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3807. 533 | ptr = ioremap_cache_shared(phys, size);
  3808. | ^
  3809. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3810. 556 | NV_MEMDBG_ADD(ptr, size);
  3811. | ^
  3812. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3813. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3814. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3815. | ^~~~~~~~~~~~~~~~~~~~~~~
  3816. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3817. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3818. 520 | NV_MEMDBG_ADD(ptr, size);
  3819. | ^
  3820. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3821. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3822. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3823. | ^~~~~~~~~~~~~~~~~~~~~~~
  3824. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3825. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3826. 520 | NV_MEMDBG_ADD(ptr, size);
  3827. | ^
  3828. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3829. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3830. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3831. | ^~~~~~~~~~~~~~~~~~~~~~~
  3832. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3833. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3834. 520 | NV_MEMDBG_ADD(ptr, size);
  3835. | ^
  3836. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  3837. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  3838. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3839. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  3840. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3841. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3842. | ^
  3843. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3844. 573 | NV_MEMDBG_ADD(ptr, size);
  3845. | ^
  3846. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3847. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3848. 533 | ptr = ioremap_cache_shared(phys, size);
  3849. | ^~~~~~~~~~~~~~~~~~~~
  3850. | ioremap_cache
  3851. ././common/inc/nv-linux.h: In function 'nv_vmap':
  3852. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3853. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  3854. | ^
  3855. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3856. 533 | ptr = ioremap_cache_shared(phys, size);
  3857. | ^
  3858. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3859. 556 | NV_MEMDBG_ADD(ptr, size);
  3860. | ^
  3861. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  3862. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  3863. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3864. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  3865. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3866. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3867. | ^
  3868. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3869. 573 | NV_MEMDBG_ADD(ptr, size);
  3870. | ^
  3871. ././common/inc/nv-linux.h: In function 'nv_vmap':
  3872. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3873. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  3874. | ^
  3875. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3876. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3877. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3878. | ^~~~~~~~~~~~~~~~~~~~~~~
  3879. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3880. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3881. 520 | NV_MEMDBG_ADD(ptr, size);
  3882. | ^
  3883. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  3884. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  3885. 736 | return phys_to_dma(dev, pa);
  3886. | ^~~~~~~~~~~
  3887. | nv_phys_to_dma
  3888. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  3889. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  3890. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  3891. | ^~~~~~~~~~~~~~~~~~~~~~~
  3892. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3893. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3894. 520 | NV_MEMDBG_ADD(ptr, size);
  3895. | ^
  3896. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  3897. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  3898. 736 | return phys_to_dma(dev, pa);
  3899. | ^~~~~~~~~~~
  3900. | nv_phys_to_dma
  3901. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  3902. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  3903. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3904. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  3905. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  3906. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3907. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3908. | ^
  3909. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3910. 573 | NV_MEMDBG_ADD(ptr, size);
  3911. | ^
  3912. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  3913. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3914. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  3915. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3916. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3917. | ^
  3918. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3919. 573 | NV_MEMDBG_ADD(ptr, size);
  3920. | ^
  3921. ././common/inc/nv-linux.h: In function 'nv_vmap':
  3922. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3923. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  3924. | ^
  3925. ././common/inc/nv-linux.h: In function 'nv_vmap':
  3926. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3927. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  3928. | ^
  3929. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  3930. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  3931. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3932. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  3933. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3934. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3935. | ^
  3936. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3937. 573 | NV_MEMDBG_ADD(ptr, size);
  3938. | ^
  3939. ././common/inc/nv-linux.h: In function 'nv_vmap':
  3940. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3941. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  3942. | ^
  3943. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  3944. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  3945. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3946. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  3947. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3948. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3949. | ^
  3950. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3951. 573 | NV_MEMDBG_ADD(ptr, size);
  3952. | ^
  3953. ././common/inc/nv-linux.h: In function 'nv_vmap':
  3954. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3955. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  3956. | ^
  3957. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  3958. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  3959. 533 | ptr = ioremap_cache_shared(phys, size);
  3960. | ^~~~~~~~~~~~~~~~~~~~
  3961. | ioremap_cache
  3962. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3963. 533 | ptr = ioremap_cache_shared(phys, size);
  3964. | ^
  3965. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3966. 556 | NV_MEMDBG_ADD(ptr, size);
  3967. | ^
  3968. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  3969. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  3970. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3971. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  3972. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  3973. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  3974. | ^
  3975. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3976. 573 | NV_MEMDBG_ADD(ptr, size);
  3977. | ^
  3978. ././common/inc/nv-linux.h: In function 'nv_vmap':
  3979. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  3980. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  3981. | ^
  3982. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  3983. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  3984. 736 | return phys_to_dma(dev, pa);
  3985. | ^~~~~~~~~~~
  3986. | nv_phys_to_dma
  3987. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  3988. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  3989. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  3990. | ^~~~~~~~~~~~~
  3991. | d_is_dir
  3992. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  3993. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  3994. 736 | return phys_to_dma(dev, pa);
  3995. | ^~~~~~~~~~~
  3996. | nv_phys_to_dma
  3997. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  3998. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  3999. 736 | return phys_to_dma(dev, pa);
  4000. | ^~~~~~~~~~~
  4001. | nv_phys_to_dma
  4002. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  4003. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  4004. 533 | ptr = ioremap_cache_shared(phys, size);
  4005. | ^~~~~~~~~~~~~~~~~~~~
  4006. | ioremap_cache
  4007. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4008. 533 | ptr = ioremap_cache_shared(phys, size);
  4009. | ^
  4010. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4011. 556 | NV_MEMDBG_ADD(ptr, size);
  4012. | ^
  4013. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4014. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4015. 736 | return phys_to_dma(dev, pa);
  4016. | ^~~~~~~~~~~
  4017. | nv_phys_to_dma
  4018. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  4019. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  4020. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4021. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4022. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4023. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4024. | ^
  4025. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4026. 573 | NV_MEMDBG_ADD(ptr, size);
  4027. | ^
  4028. ././common/inc/nv-linux.h: In function 'nv_vmap':
  4029. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4030. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  4031. | ^
  4032. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  4033. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  4034. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4035. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4036. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4037. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4038. | ^
  4039. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4040. 573 | NV_MEMDBG_ADD(ptr, size);
  4041. | ^
  4042. ././common/inc/nv-linux.h: In function 'nv_vmap':
  4043. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4044. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  4045. | ^
  4046. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4047. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4048. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4049. | ^~~~~~~~~~~~~
  4050. | d_is_dir
  4051. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  4052. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  4053. 533 | ptr = ioremap_cache_shared(phys, size);
  4054. | ^~~~~~~~~~~~~~~~~~~~
  4055. | ioremap_cache
  4056. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4057. 533 | ptr = ioremap_cache_shared(phys, size);
  4058. | ^
  4059. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4060. 556 | NV_MEMDBG_ADD(ptr, size);
  4061. | ^
  4062. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4063. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4064. 736 | return phys_to_dma(dev, pa);
  4065. | ^~~~~~~~~~~
  4066. | nv_phys_to_dma
  4067. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  4068. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  4069. 533 | ptr = ioremap_cache_shared(phys, size);
  4070. | ^~~~~~~~~~~~~~~~~~~~
  4071. | ioremap_cache
  4072. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4073. 533 | ptr = ioremap_cache_shared(phys, size);
  4074. | ^
  4075. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4076. 556 | NV_MEMDBG_ADD(ptr, size);
  4077. | ^
  4078. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4079. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4080. 736 | return phys_to_dma(dev, pa);
  4081. | ^~~~~~~~~~~
  4082. | nv_phys_to_dma
  4083. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4084. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4085. 736 | return phys_to_dma(dev, pa);
  4086. | ^~~~~~~~~~~
  4087. | nv_phys_to_dma
  4088. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4089. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4090. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4091. | ^~~~~~~~~~~~~
  4092. | d_is_dir
  4093. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4094. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4095. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4096. | ^~~~~~~~~~~~~
  4097. | d_is_dir
  4098. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4099. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4100. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4101. | ^~~~~~~~~~~~~
  4102. | d_is_dir
  4103. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4104. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4105. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4106. | ^~~~~~~~~~~~~
  4107. | d_is_dir
  4108. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-usermap.o] Error 1
  4109. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  4110. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  4111. 533 | ptr = ioremap_cache_shared(phys, size);
  4112. | ^~~~~~~~~~~~~~~~~~~~
  4113. | ioremap_cache
  4114. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4115. 533 | ptr = ioremap_cache_shared(phys, size);
  4116. | ^
  4117. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4118. 556 | NV_MEMDBG_ADD(ptr, size);
  4119. | ^
  4120. CC [M] nvidia/os-mlock.o
  4121. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  4122. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  4123. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4124. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4125. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4126. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4127. | ^
  4128. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4129. 573 | NV_MEMDBG_ADD(ptr, size);
  4130. | ^
  4131. ././common/inc/nv-linux.h: In function 'nv_vmap':
  4132. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4133. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  4134. | ^
  4135. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4136. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4137. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4138. | ^~~~~~~~~~~~~
  4139. | d_is_dir
  4140. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  4141. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  4142. 533 | ptr = ioremap_cache_shared(phys, size);
  4143. | ^~~~~~~~~~~~~~~~~~~~
  4144. | ioremap_cache
  4145. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4146. 533 | ptr = ioremap_cache_shared(phys, size);
  4147. | ^
  4148. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4149. 556 | NV_MEMDBG_ADD(ptr, size);
  4150. | ^
  4151. nvidia/os-interface.c: At top level:
  4152. nvidia/os-interface.c:370:7: warning: no previous prototype for 'os_mem_copy_custom' [-Wmissing-prototypes]
  4153. 370 | void *os_mem_copy_custom(
  4154. | ^~~~~~~~~~~~~~~~~~
  4155. nvidia/os-interface.c: In function 'os_alloc_mem':
  4156. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4157. 609 | NV_MEMDBG_ADD(ptr, size); \
  4158. | ^
  4159. nvidia/os-interface.c:584:13: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  4160. 584 | NV_KMALLOC_ATOMIC(*address, alloc_size);
  4161. | ^~~~~~~~~~~~~~~~~
  4162. ././common/inc/nv-linux.h:624:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4163. 624 | NV_MEMDBG_ADD(ptr, size); \
  4164. | ^
  4165. nvidia/os-interface.c:590:13: note: in expansion of macro 'NV_KMALLOC_NO_OOM'
  4166. 590 | NV_KMALLOC_NO_OOM(*address, alloc_size);
  4167. | ^~~~~~~~~~~~~~~~~
  4168. nvidia/os-interface.c: In function 'os_get_current_time':
  4169. nvidia/os-interface.c:633:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  4170. 633 | ktime_get_real_ts64(&tm);
  4171. | ^~~
  4172. | |
  4173. | struct timespec64 *
  4174. /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 *'
  4175. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  4176. | ~~~~~~~~~~~~~~~~~~~^~
  4177. nvidia/os-interface.c: In function 'os_get_current_tick_hr':
  4178. nvidia/os-interface.c:647:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  4179. 647 | ktime_get_raw_ts64(&tm);
  4180. | ^~~
  4181. | |
  4182. | struct timespec64 *
  4183. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  4184. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  4185. | ~~~~~~~~~~~~~~~~~~~^~
  4186. nvidia/os-interface.c: In function 'os_get_current_tick':
  4187. nvidia/os-interface.c:656:21: error: storage size of 'ts' isn't known
  4188. 656 | struct timespec ts;
  4189. | ^~
  4190. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pat.o] Error 1
  4191. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4192. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4193. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4194. | ^~~~~~~~~~~~~
  4195. | d_is_dir
  4196. CC [M] nvidia/os-pci.o
  4197. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4198. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4199. 736 | return phys_to_dma(dev, pa);
  4200. | ^~~~~~~~~~~
  4201. | nv_phys_to_dma
  4202. In file included from ././common/inc/conftest.h:28,
  4203. from ././common/inc/nv_stdarg.h:29,
  4204. from ././common/inc/os-interface.h:40,
  4205. from nvidia/os-mlock.c:26:
  4206. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4207. 74 | #error dma_buf_export() conftest failed!
  4208. | ^~~~~
  4209. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4210. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4211. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4212. | ^~~~~~~~~~~~~
  4213. | d_is_dir
  4214. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4215. 87 | #error wait_on_bit_lock() conftest failed!
  4216. | ^~~~~
  4217. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4218. 90 | #error radix_tree_replace_slot() conftest failed!
  4219. | ^~~~~
  4220. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vtophys.o] Error 1
  4221. nvidia/nv-pci.c: In function 'nv_pci_probe':
  4222. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4223. 602 | NV_MEMDBG_ADD(ptr, size); \
  4224. | ^
  4225. nvidia/nv-pci.c:396:5: note: in expansion of macro 'NV_KZALLOC'
  4226. 396 | NV_KZALLOC(nvl, sizeof(nv_linux_state_t));
  4227. | ^~~~~~~~~~
  4228. CC [M] nvidia/os-registry.o
  4229. In file included from ././common/inc/conftest.h:28,
  4230. from ././common/inc/nv_stdarg.h:29,
  4231. from ././common/inc/os-interface.h:40,
  4232. from nvidia/os-pci.c:26:
  4233. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4234. 74 | #error dma_buf_export() conftest failed!
  4235. | ^~~~~
  4236. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4237. 87 | #error wait_on_bit_lock() conftest failed!
  4238. | ^~~~~
  4239. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4240. 90 | #error radix_tree_replace_slot() conftest failed!
  4241. | ^~~~~
  4242. nvidia/nv-dma.c: At top level:
  4243. nvidia/nv-dma.c:293:6: warning: no previous prototype for 'nv_load_dma_map_scatterlist' [-Wmissing-prototypes]
  4244. 293 | void nv_load_dma_map_scatterlist(
  4245. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  4246. nvidia/nv-dma.c:489:23: warning: no previous prototype for 'nv_dma_unmap_sgt' [-Wmissing-prototypes]
  4247. 489 | NV_STATUS NV_API_CALL nv_dma_unmap_sgt(
  4248. | ^~~~~~~~~~~~~~~~
  4249. nvidia/os-interface.c:657:5: error: implicit declaration of function 'jiffies_to_timespec'; did you mean 'jiffies_to_timespec64'? [-Wimplicit-function-declaration]
  4250. 657 | jiffies_to_timespec(jiffies, &ts);
  4251. | ^~~~~~~~~~~~~~~~~~~
  4252. | jiffies_to_timespec64
  4253. nvidia/nv-mmap.c: At top level:
  4254. 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]
  4255. 299 | .fault = nvidia_fault,
  4256. | ^~~~~~~~~~~~
  4257. nvidia/nv-mmap.c:299:15: note: (near initialization for 'nv_vm_ops.fault')
  4258. nvidia/nv-mmap.c:201:19: note: 'nvidia_fault' declared here
  4259. 201 | static vm_fault_t nvidia_fault(
  4260. | ^~~~~~~~~~~~
  4261. 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]
  4262. 303 | int nv_encode_caching(
  4263. | ^~~~~~~~~~~~~~~~~
  4264. In file included from ././common/inc/nv-linux.h:1761:
  4265. ././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)'}
  4266. 46 | int nv_encode_caching (pgprot_t *, NvU32, NvU32);
  4267. | ^~~~~~~~~~~~~~~~~
  4268. nvidia/nv-mmap.c:371:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  4269. 371 | int static nvidia_mmap_peer_io(
  4270. | ^~~
  4271. nvidia/nv-mmap.c:392:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  4272. 392 | int static nvidia_mmap_sysmem(
  4273. | ^~~
  4274. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  4275. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  4276. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4277. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4278. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4279. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4280. | ^
  4281. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-p2p.o] Error 1
  4282. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4283. 573 | NV_MEMDBG_ADD(ptr, size);
  4284. | ^
  4285. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  4286. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  4287. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4288. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4289. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4290. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4291. | ^
  4292. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4293. 573 | NV_MEMDBG_ADD(ptr, size);
  4294. | ^
  4295. ././common/inc/nv-linux.h: In function 'nv_vmap':
  4296. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4297. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  4298. | ^
  4299. ././common/inc/nv-linux.h: In function 'nv_vmap':
  4300. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4301. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  4302. | ^
  4303. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4304. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4305. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4306. | ^~~~~~~~~~~~~
  4307. | d_is_dir
  4308. In file included from ././common/inc/conftest.h:28,
  4309. from ././common/inc/nv_stdarg.h:29,
  4310. from ././common/inc/os-interface.h:40,
  4311. from nvidia/os-registry.c:26:
  4312. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4313. 74 | #error dma_buf_export() conftest failed!
  4314. | ^~~~~
  4315. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4316. 87 | #error wait_on_bit_lock() conftest failed!
  4317. | ^~~~~
  4318. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4319. 90 | #error radix_tree_replace_slot() conftest failed!
  4320. | ^~~~~
  4321. CC [M] nvidia/os-usermap.o
  4322. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-acpi.o] Error 1
  4323. CC [M] nvidia/nv-modeset-interface.o
  4324. nvidia/os-interface.c:658:20: error: implicit declaration of function 'timespec_to_ns'; did you mean 'timespec64_to_ns'? [-Wimplicit-function-declaration]
  4325. 658 | return (NvU64) timespec_to_ns(&ts);
  4326. | ^~~~~~~~~~~~~~
  4327. | timespec64_to_ns
  4328. nvidia/os-interface.c:656:21: warning: unused variable 'ts' [-Wunused-variable]
  4329. 656 | struct timespec ts;
  4330. | ^~
  4331. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pci.o] Error 1
  4332. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  4333. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  4334. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4335. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4336. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4337. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4338. | ^
  4339. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4340. 573 | NV_MEMDBG_ADD(ptr, size);
  4341. | ^
  4342. ././common/inc/nv-linux.h: In function 'nv_vmap':
  4343. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4344. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  4345. | ^
  4346. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4347. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4348. 736 | return phys_to_dma(dev, pa);
  4349. | ^~~~~~~~~~~
  4350. | nv_phys_to_dma
  4351. nvidia/os-interface.c: In function 'os_queue_work_item':
  4352. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4353. 609 | NV_MEMDBG_ADD(ptr, size); \
  4354. | ^
  4355. nvidia/os-interface.c:1113:5: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  4356. 1113 | NV_KMALLOC_ATOMIC(oqd, sizeof(os_queue_data_t));
  4357. | ^~~~~~~~~~~~~~~~~
  4358. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4359. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4360. 736 | return phys_to_dma(dev, pa);
  4361. | ^~~~~~~~~~~
  4362. | nv_phys_to_dma
  4363. CC [M] nvidia/nv-pci-table.o
  4364. nvidia/os-interface.c: In function 'os_write_file':
  4365. nvidia/os-interface.c:1792:54: error: passing argument 4 of 'kernel_write' makes pointer from integer without a cast [-Wint-conversion]
  4366. 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos);
  4367. | ^~~~~
  4368. | |
  4369. | loff_t {aka long long int}
  4370. nvidia/os-interface.c:1792:54: note: possible fix: take the address with '&'
  4371. 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos);
  4372. | ^~~~~
  4373. | &
  4374. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7,
  4375. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133:
  4376. /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'}
  4377. 3189 | extern ssize_t kernel_write(struct file *, const void *, size_t, loff_t *);
  4378. | ^~~~~~~~
  4379. nvidia/os-interface.c: In function 'os_read_file':
  4380. nvidia/os-interface.c:1832:35: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  4381. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  4382. | ^~~~~
  4383. | |
  4384. | loff_t {aka long long int}
  4385. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dma.o] Error 1
  4386. /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'}
  4387. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  4388. | ^~~~~~
  4389. nvidia/os-interface.c:1832:42: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion]
  4390. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  4391. | ^~~~~~~
  4392. | |
  4393. | NvU8 * {aka unsigned char *}
  4394. /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 *'}
  4395. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  4396. | ^~~~~~
  4397. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  4398. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  4399. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4400. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4401. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4402. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4403. | ^
  4404. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4405. 573 | NV_MEMDBG_ADD(ptr, size);
  4406. | ^
  4407. nvidia/os-interface.c:1832:51: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  4408. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  4409. | ^~~~
  4410. | |
  4411. | NvU64 {aka long long unsigned int}
  4412. /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'}
  4413. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  4414. | ^~~~~~~~
  4415. nvidia/os-interface.c: In function 'os_alloc_wait_queue':
  4416. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4417. 595 | NV_MEMDBG_ADD(ptr, size); \
  4418. | ^
  4419. nvidia/os-interface.c:1945:5: note: in expansion of macro 'NV_KMALLOC'
  4420. 1945 | NV_KMALLOC(*wq, sizeof(os_wait_queue));
  4421. | ^~~~~~~~~~
  4422. ././common/inc/nv-linux.h: In function 'nv_vmap':
  4423. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4424. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  4425. | ^
  4426. In file included from ././common/inc/conftest.h:28,
  4427. from ././common/inc/nv_stdarg.h:29,
  4428. from ././common/inc/os-interface.h:40,
  4429. from nvidia/os-usermap.c:26:
  4430. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4431. 74 | #error dma_buf_export() conftest failed!
  4432. | ^~~~~
  4433. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4434. 87 | #error wait_on_bit_lock() conftest failed!
  4435. | ^~~~~
  4436. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4437. 90 | #error radix_tree_replace_slot() conftest failed!
  4438. | ^~~~~
  4439. CC [M] nvidia/nv-kthread-q.o
  4440. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-mmap.o] Error 1
  4441. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4442. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4443. 736 | return phys_to_dma(dev, pa);
  4444. | ^~~~~~~~~~~
  4445. | nv_phys_to_dma
  4446. In file included from ././common/inc/conftest.h:28,
  4447. from ././common/inc/nv_stdarg.h:29,
  4448. from ././common/inc/os-interface.h:40,
  4449. from nvidia/nv-modeset-interface.c:26:
  4450. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4451. 74 | #error dma_buf_export() conftest failed!
  4452. | ^~~~~
  4453. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4454. 87 | #error wait_on_bit_lock() conftest failed!
  4455. | ^~~~~
  4456. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4457. 90 | #error radix_tree_replace_slot() conftest failed!
  4458. | ^~~~~
  4459. CC [M] nvidia/nv-memdbg.o
  4460. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4461. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4462. 736 | return phys_to_dma(dev, pa);
  4463. | ^~~~~~~~~~~
  4464. | nv_phys_to_dma
  4465. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  4466. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  4467. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4468. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4469. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4470. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4471. | ^
  4472. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4473. 573 | NV_MEMDBG_ADD(ptr, size);
  4474. | ^
  4475. ././common/inc/nv-linux.h: In function 'nv_vmap':
  4476. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4477. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  4478. | ^
  4479. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  4480. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  4481. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4482. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4483. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  4484. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  4485. | ^
  4486. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4487. 573 | NV_MEMDBG_ADD(ptr, size);
  4488. | ^
  4489. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4490. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4491. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4492. | ^~~~~~~~~~~~~
  4493. | d_is_dir
  4494. ././common/inc/nv-linux.h: In function 'nv_vmap':
  4495. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4496. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  4497. | ^
  4498. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4499. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4500. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4501. | ^~~~~~~~~~~~~
  4502. | d_is_dir
  4503. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-i2c.o] Error 1
  4504. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4505. CC [M] nvidia/nv-ibmnpu.o
  4506. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4507. 736 | return phys_to_dma(dev, pa);
  4508. | ^~~~~~~~~~~
  4509. | nv_phys_to_dma
  4510. In file included from ././common/inc/conftest.h:28,
  4511. from ././common/inc/nv_stdarg.h:29,
  4512. from ././common/inc/nv.h:41,
  4513. from ././common/inc/nv-linux.h:28,
  4514. from nvidia/nv-memdbg.c:25:
  4515. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4516. 74 | #error dma_buf_export() conftest failed!
  4517. | ^~~~~
  4518. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4519. 87 | #error wait_on_bit_lock() conftest failed!
  4520. | ^~~~~
  4521. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4522. 90 | #error radix_tree_replace_slot() conftest failed!
  4523. | ^~~~~
  4524. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-interface.o] Error 1
  4525. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  4526. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  4527. 736 | return phys_to_dma(dev, pa);
  4528. | ^~~~~~~~~~~
  4529. | nv_phys_to_dma
  4530. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4531. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4532. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4533. | ^~~~~~~~~~~~~
  4534. | d_is_dir
  4535. CC [M] nvidia/nv-report-err.o
  4536. nvidia/nv-nano-timer.c: In function 'nv_alloc_nano_timer':
  4537. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4538. 595 | NV_MEMDBG_ADD(ptr, size); \
  4539. | ^
  4540. nvidia/nv-nano-timer.c:86:5: note: in expansion of macro 'NV_KMALLOC'
  4541. 86 | NV_KMALLOC(nv_nstimer, sizeof(nv_nano_timer_t));
  4542. | ^~~~~~~~~~
  4543. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4544. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4545. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4546. | ^~~~~~~~~~~~~
  4547. | d_is_dir
  4548. In file included from ././common/inc/conftest.h:28,
  4549. from ././common/inc/nv_stdarg.h:29,
  4550. from ././common/inc/nv.h:41,
  4551. from ././common/inc/nv-linux.h:28,
  4552. from nvidia/nv-ibmnpu.c:27:
  4553. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4554. 74 | #error dma_buf_export() conftest failed!
  4555. | ^~~~~
  4556. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4557. 87 | #error wait_on_bit_lock() conftest failed!
  4558. | ^~~~~
  4559. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4560. 90 | #error radix_tree_replace_slot() conftest failed!
  4561. | ^~~~~
  4562. In file included from ././common/inc/conftest.h:28,
  4563. from ././common/inc/nv_stdarg.h:29,
  4564. from ././common/inc/nv.h:41,
  4565. from ././common/inc/nv-linux.h:28,
  4566. from nvidia/nv-report-err.c:25:
  4567. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4568. 74 | #error dma_buf_export() conftest failed!
  4569. | ^~~~~
  4570. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4571. 87 | #error wait_on_bit_lock() conftest failed!
  4572. | ^~~~~
  4573. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4574. 90 | #error radix_tree_replace_slot() conftest failed!
  4575. | ^~~~~
  4576. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4577. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4578. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4579. | ^~~~~~~~~~~~~
  4580. | d_is_dir
  4581. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-nano-timer.o] Error 1
  4582. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  4583. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  4584. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  4585. | ^~~~~~~~~~~~~
  4586. | d_is_dir
  4587. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/sound/hdaudio.h:18,
  4588. from nvidia/nv.c:70:
  4589. /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h: In function 'snd_pcm_gettime':
  4590. /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]
  4591. 1292 | ktime_get_ts64(tv);
  4592. | ^~
  4593. | |
  4594. | struct timespec64 *
  4595. /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 *'
  4596. 43 | extern void ktime_get_ts64(struct timespec64 *ts);
  4597. | ~~~~~~~~~~~~~~~~~~~^~
  4598. /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]
  4599. 1295 | ktime_get_raw_ts64(tv);
  4600. | ^~
  4601. | |
  4602. | struct timespec64 *
  4603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  4604. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  4605. | ~~~~~~~~~~~~~~~~~~~^~
  4606. /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]
  4607. 1298 | ktime_get_real_ts64(tv);
  4608. | ^~
  4609. | |
  4610. | struct timespec64 *
  4611. /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 *'
  4612. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  4613. | ~~~~~~~~~~~~~~~~~~~^~
  4614. CC [M] nvidia/nv-rsync.o
  4615. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-cray.o] Error 1
  4616. nvidia/nv.c: In function 'nvos_create_alloc':
  4617. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4618. 602 | NV_MEMDBG_ADD(ptr, size); \
  4619. | ^
  4620. nvidia/nv.c:262:5: note: in expansion of macro 'NV_KZALLOC'
  4621. 262 | NV_KZALLOC(at, sizeof(nv_alloc_t));
  4622. | ^~~~~~~~~~
  4623. CC [M] nvidia/nv-msi.o
  4624. nvidia/nv.c: At top level:
  4625. nvidia/nv.c:735:12: warning: no previous prototype for 'nvidia_init_module' [-Wmissing-prototypes]
  4626. 735 | int __init nvidia_init_module(void)
  4627. | ^~~~~~~~~~~~~~~~~~
  4628. nvidia/nv.c:855:6: warning: no previous prototype for 'nvidia_exit_module' [-Wmissing-prototypes]
  4629. 855 | void nvidia_exit_module(void)
  4630. | ^~~~~~~~~~~~~~~~~~
  4631. nvidia/nv.c: In function 'nv_alloc_file_private':
  4632. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4633. 602 | NV_MEMDBG_ADD(ptr, size); \
  4634. | ^
  4635. nvidia/nv.c:879:5: note: in expansion of macro 'NV_KZALLOC'
  4636. 879 | NV_KZALLOC(nvlfp, sizeof(nv_linux_file_private_t));
  4637. | ^~~~~~~~~~
  4638. nvidia/nv.c: At top level:
  4639. nvidia/nv.c:1124:23: warning: no previous prototype for 'nv_get_num_dpaux_instances' [-Wmissing-prototypes]
  4640. 1124 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances)
  4641. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  4642. nvidia/nv-vm.c: In function 'nv_set_memory_array_type':
  4643. 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]
  4644. 92 | set_memory_array_uc(pages, num_pages);
  4645. | ^~~~~~~~~~~~~~~~~~~
  4646. | set_pages_array_uc
  4647. In file included from ././common/inc/conftest.h:28,
  4648. from ././common/inc/nv_stdarg.h:29,
  4649. from ././common/inc/nv.h:41,
  4650. from ././common/inc/nv-linux.h:28,
  4651. from nvidia/nv-rsync.c:24:
  4652. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4653. 74 | #error dma_buf_export() conftest failed!
  4654. | ^~~~~
  4655. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4656. 87 | #error wait_on_bit_lock() conftest failed!
  4657. | ^~~~~
  4658. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4659. 90 | #error radix_tree_replace_slot() conftest failed!
  4660. | ^~~~~
  4661. nvidia/nv.c: In function 'nvidia_ioctl':
  4662. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4663. 595 | NV_MEMDBG_ADD(ptr, size); \
  4664. | ^
  4665. nvidia/nv.c:2104:5: note: in expansion of macro 'NV_KMALLOC'
  4666. 2104 | NV_KMALLOC(arg_copy, arg_size);
  4667. | ^~~~~~~~~~
  4668. nvidia/nv-procfs.c: In function 'nv_procfs_open_file':
  4669. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4670. 602 | NV_MEMDBG_ADD(ptr, size); \
  4671. | ^
  4672. nvidia/nv-procfs.c:276:5: note: in expansion of macro 'NV_KZALLOC'
  4673. 276 | NV_KZALLOC(nvpp, sizeof(nv_procfs_private_t));
  4674. | ^~~~~~~~~~
  4675. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dmabuf.o] Error 1
  4676. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4677. 595 | NV_MEMDBG_ADD(ptr, size); \
  4678. | ^
  4679. nvidia/nv.c:2165:13: note: in expansion of macro 'NV_KMALLOC'
  4680. 2165 | NV_KMALLOC(nvlfp->attached_gpus, arg_size);
  4681. | ^~~~~~~~~~
  4682. nvidia/nv-procfs.c: At top level:
  4683. nvidia/nv-procfs.c:698:1: warning: no previous prototype for 'exercise_error_forwarding_va' [-Wmissing-prototypes]
  4684. 698 | exercise_error_forwarding_va(
  4685. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4686. nvidia/nv.c: In function 'nv_map_guest_pages':
  4687. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4688. 595 | NV_MEMDBG_ADD(ptr, size); \
  4689. | ^
  4690. nvidia/nv.c:2805:5: note: in expansion of macro 'NV_KMALLOC'
  4691. 2805 | NV_KMALLOC(pages, sizeof(struct page *) * page_count);
  4692. | ^~~~~~~~~~
  4693. CC [M] nvidia/nv-caps.o
  4694. In file included from ././common/inc/nv-procfs.h:26,
  4695. from nvidia/nv-procfs.c:31:
  4696. nvidia/nv-procfs.c: In function 'nv_procfs_add_text_file':
  4697. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4698. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4699. | ^~~~
  4700. | |
  4701. | const nv_proc_ops_t * {aka const struct file_operations *}
  4702. nvidia/nv-procfs.c:1312:5: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4703. 1312 | NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text);
  4704. | ^~~~~~~~~~~~~~~~~~~
  4705. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  4706. from ././common/inc/nv-linux.h:220:
  4707. /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 *'}
  4708. 111 | const struct proc_ops *,
  4709. | ^~~~~~~~~~~~~~~~~~~~~~~
  4710. In file included from ././common/inc/conftest.h:28,
  4711. from ././common/inc/nv_stdarg.h:29,
  4712. from ././common/inc/nv.h:41,
  4713. from ././common/inc/nv-linux.h:28,
  4714. from ././common/inc/nv-msi.h:27,
  4715. from nvidia/nv-msi.c:24:
  4716. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4717. 74 | #error dma_buf_export() conftest failed!
  4718. | ^~~~~
  4719. nvidia/nv.c: In function 'nv_alloc_kernel_mapping':
  4720. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4721. 595 | NV_MEMDBG_ADD(ptr, size); \
  4722. | ^
  4723. nvidia/nv.c:3282:13: note: in expansion of macro 'NV_KMALLOC'
  4724. 3282 | NV_KMALLOC(pages, sizeof(struct page *) * page_count);
  4725. | ^~~~~~~~~~
  4726. nvidia/nv-procfs.c: In function 'nv_procfs_init':
  4727. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4728. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4729. | ^~~~
  4730. | |
  4731. | const nv_proc_ops_t * {aka const struct file_operations *}
  4732. nvidia/nv-procfs.c:1342:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4733. 1342 | entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL);
  4734. | ^~~~~~~~~~~~~~~~~~~
  4735. /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 *'}
  4736. 111 | const struct proc_ops *,
  4737. | ^~~~~~~~~~~~~~~~~~~~~~~
  4738. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4739. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4740. | ^~~~
  4741. | |
  4742. | const nv_proc_ops_t * {aka const struct file_operations *}
  4743. nvidia/nv-procfs.c:1346:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4744. 1346 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL);
  4745. | ^~~~~~~~~~~~~~~~~~~
  4746. /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 *'}
  4747. 111 | const struct proc_ops *,
  4748. | ^~~~~~~~~~~~~~~~~~~~~~~
  4749. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4750. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4751. | ^~~~
  4752. | |
  4753. | const nv_proc_ops_t * {aka const struct file_operations *}
  4754. nvidia/nv-procfs.c:1351:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4755. 1351 | entry = NV_CREATE_PROC_FILE("suspend_depth", proc_nvidia, suspend_depth, NULL);
  4756. | ^~~~~~~~~~~~~~~~~~~
  4757. /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 *'}
  4758. 111 | const struct proc_ops *,
  4759. | ^~~~~~~~~~~~~~~~~~~~~~~
  4760. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4761. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4762. | ^~~~
  4763. | |
  4764. | const nv_proc_ops_t * {aka const struct file_operations *}
  4765. nvidia/nv-procfs.c:1355:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4766. 1355 | entry = NV_CREATE_PROC_FILE("suspend", proc_nvidia, suspend, NULL);
  4767. | ^~~~~~~~~~~~~~~~~~~
  4768. /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 *'}
  4769. 111 | const struct proc_ops *,
  4770. | ^~~~~~~~~~~~~~~~~~~~~~~
  4771. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4772. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4773. | ^~~~
  4774. | |
  4775. | const nv_proc_ops_t * {aka const struct file_operations *}
  4776. nvidia/nv-procfs.c:1377:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4777. 1377 | entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL);
  4778. | ^~~~~~~~~~~~~~~~~~~
  4779. /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 *'}
  4780. 111 | const struct proc_ops *,
  4781. | ^~~~~~~~~~~~~~~~~~~~~~~
  4782. nvidia/nv.c: In function 'nv_post_event':
  4783. nvidia/nv-procfs.c: In function 'nv_procfs_add_gpu':
  4784. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  4785. 609 | NV_MEMDBG_ADD(ptr, size); \
  4786. | ^
  4787. nvidia/nv.c:3554:9: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  4788. 3554 | NV_KMALLOC_ATOMIC(nvet, sizeof(nvidia_event_t));
  4789. | ^~~~~~~~~~~~~~~~~
  4790. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4791. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4792. | ^~~~
  4793. | |
  4794. | const nv_proc_ops_t * {aka const struct file_operations *}
  4795. nvidia/nv-procfs.c:1419:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4796. 1419 | entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info,
  4797. | ^~~~~~~~~~~~~~~~~~~
  4798. /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 *'}
  4799. 111 | const struct proc_ops *,
  4800. | ^~~~~~~~~~~~~~~~~~~~~~~
  4801. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4802. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4803. | ^~~~
  4804. | |
  4805. | const nv_proc_ops_t * {aka const struct file_operations *}
  4806. nvidia/nv-procfs.c:1424:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4807. 1424 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv);
  4808. | ^~~~~~~~~~~~~~~~~~~
  4809. /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 *'}
  4810. 111 | const struct proc_ops *,
  4811. | ^~~~~~~~~~~~~~~~~~~~~~~
  4812. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4813. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4814. | ^~~~
  4815. | |
  4816. | const nv_proc_ops_t * {aka const struct file_operations *}
  4817. nvidia/nv-procfs.c:1428:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4818. 1428 | entry = NV_CREATE_PROC_FILE("power", proc_nvidia_gpu, power, nv);
  4819. | ^~~~~~~~~~~~~~~~~~~
  4820. /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 *'}
  4821. 111 | const struct proc_ops *,
  4822. | ^~~~~~~~~~~~~~~~~~~~~~~
  4823. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4824. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4825. | ^~~~
  4826. | |
  4827. | const nv_proc_ops_t * {aka const struct file_operations *}
  4828. nvidia/nv-procfs.c:1434:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4829. 1434 | entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu,
  4830. | ^~~~~~~~~~~~~~~~~~~
  4831. /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 *'}
  4832. 111 | const struct proc_ops *,
  4833. | ^~~~~~~~~~~~~~~~~~~~~~~
  4834. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4835. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4836. | ^~~~
  4837. | |
  4838. | const nv_proc_ops_t * {aka const struct file_operations *}
  4839. nvidia/nv-procfs.c:1442:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4840. 1442 | entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv);
  4841. | ^~~~~~~~~~~~~~~~~~~
  4842. /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 *'}
  4843. 111 | const struct proc_ops *,
  4844. | ^~~~~~~~~~~~~~~~~~~~~~~
  4845. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4846. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4847. | ^~~~
  4848. | |
  4849. | const nv_proc_ops_t * {aka const struct file_operations *}
  4850. nvidia/nv-procfs.c:1449:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4851. 1449 | entry = NV_CREATE_PROC_FILE("numa_status", proc_nvidia_gpu, numa_status,
  4852. | ^~~~~~~~~~~~~~~~~~~
  4853. /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 *'}
  4854. 111 | const struct proc_ops *,
  4855. | ^~~~~~~~~~~~~~~~~~~~~~~
  4856. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  4857. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  4858. | ^~~~
  4859. | |
  4860. | const nv_proc_ops_t * {aka const struct file_operations *}
  4861. nvidia/nv-procfs.c:1454:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  4862. 1454 | entry = NV_CREATE_PROC_FILE("offline_pages", proc_nvidia_gpu, offline_pages,
  4863. | ^~~~~~~~~~~~~~~~~~~
  4864. /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 *'}
  4865. 111 | const struct proc_ops *,
  4866. | ^~~~~~~~~~~~~~~~~~~~~~~
  4867. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4868. 87 | #error wait_on_bit_lock() conftest failed!
  4869. | ^~~~~
  4870. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4871. 90 | #error radix_tree_replace_slot() conftest failed!
  4872. | ^~~~~
  4873. In file included from ././common/inc/conftest.h:28,
  4874. from ././common/inc/nv_stdarg.h:29,
  4875. from ././common/inc/nv.h:41,
  4876. from ././common/inc/nv-linux.h:28,
  4877. from nvidia/nv-caps.c:24:
  4878. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4879. 74 | #error dma_buf_export() conftest failed!
  4880. | ^~~~~
  4881. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4882. 87 | #error wait_on_bit_lock() conftest failed!
  4883. | ^~~~~
  4884. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4885. 90 | #error radix_tree_replace_slot() conftest failed!
  4886. | ^~~~~
  4887. 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]
  4888. 95 | set_memory_array_wb(pages, num_pages);
  4889. | ^~~~~~~~~~~~~~~~~~~
  4890. | set_pages_array_wb
  4891. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-procfs.o] Error 1
  4892. CC [M] nvidia/nv-frontend.o
  4893. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv.o] Error 1
  4894. CC [M] nvidia/nv_uvm_interface.o
  4895. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vm.o] Error 1
  4896. In file included from ././common/inc/conftest.h:28,
  4897. from ././common/inc/nv_stdarg.h:29,
  4898. from ././common/inc/os-interface.h:40,
  4899. from nvidia/nv-frontend.c:24:
  4900. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4901. 74 | #error dma_buf_export() conftest failed!
  4902. | ^~~~~
  4903. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4904. 87 | #error wait_on_bit_lock() conftest failed!
  4905. | ^~~~~
  4906. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4907. 90 | #error radix_tree_replace_slot() conftest failed!
  4908. | ^~~~~
  4909. CC [M] nvidia/libspdm_aead.o
  4910. In file included from ././common/inc/conftest.h:28,
  4911. from ././common/inc/nv_stdarg.h:29,
  4912. from ././common/inc/os-interface.h:40,
  4913. from nvidia/nv_uvm_interface.c:32:
  4914. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4915. 74 | #error dma_buf_export() conftest failed!
  4916. | ^~~~~
  4917. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4918. 87 | #error wait_on_bit_lock() conftest failed!
  4919. | ^~~~~
  4920. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4921. 90 | #error radix_tree_replace_slot() conftest failed!
  4922. | ^~~~~
  4923. In file included from ././common/inc/conftest.h:28,
  4924. from nvidia/internal_crypt_lib.h:32,
  4925. from nvidia/libspdm_aead.c:24:
  4926. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4927. 74 | #error dma_buf_export() conftest failed!
  4928. | ^~~~~
  4929. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4930. 87 | #error wait_on_bit_lock() conftest failed!
  4931. | ^~~~~
  4932. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4933. 90 | #error radix_tree_replace_slot() conftest failed!
  4934. | ^~~~~
  4935. In file included from ././common/inc/conftest.h:28,
  4936. from ././common/inc/nv-kthread-q.h:33,
  4937. from nvidia/nv-kthread-q.c:24:
  4938. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4939. 74 | #error dma_buf_export() conftest failed!
  4940. | ^~~~~
  4941. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4942. 87 | #error wait_on_bit_lock() conftest failed!
  4943. | ^~~~~
  4944. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4945. 90 | #error radix_tree_replace_slot() conftest failed!
  4946. | ^~~~~
  4947. nvidia/libspdm_aead.c:41:5: warning: no previous prototype for 'libspdm_aead_prealloc' [-Wmissing-prototypes]
  4948. 41 | int libspdm_aead_prealloc(void **context, char const *alg)
  4949. | ^~~~~~~~~~~~~~~~~~~~~
  4950. nvidia/libspdm_aead.c:171:5: warning: no previous prototype for 'libspdm_aead_prealloced' [-Wmissing-prototypes]
  4951. 171 | int libspdm_aead_prealloced(void *context,
  4952. | ^~~~~~~~~~~~~~~~~~~~~~~
  4953. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_aead.o] Error 1
  4954. CC [M] nvidia/libspdm_ecc.o
  4955. CC [M] nvidia/libspdm_hkdf.o
  4956. In file included from ././common/inc/conftest.h:28,
  4957. from nvidia/internal_crypt_lib.h:32,
  4958. from nvidia/libspdm_hkdf.c:24:
  4959. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  4960. 74 | #error dma_buf_export() conftest failed!
  4961. | ^~~~~
  4962. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  4963. 87 | #error wait_on_bit_lock() conftest failed!
  4964. | ^~~~~
  4965. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  4966. 90 | #error radix_tree_replace_slot() conftest failed!
  4967. | ^~~~~
  4968. In file included from ././common/inc/nv-linux.h:34,
  4969. from nvidia/os-mlock.c:27:
  4970. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  4971. 29 | typedef int vm_fault_t;
  4972. | ^~~~~~~~~~
  4973. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  4974. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  4975. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  4976. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  4977. from ././common/inc/nv-lock.h:35,
  4978. from ././common/inc/nv-linux.h:32:
  4979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  4980. 1311 | typedef __bitwise unsigned int vm_fault_t;
  4981. | ^~~~~~~~~~
  4982. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  4983. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  4984. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  4985. from ././common/inc/nv-lock.h:29:
  4986. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  4987. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  4988. 52 | #define current get_current()
  4989. | ^~~~~~~~~~~~~
  4990. | |
  4991. | struct task_struct *
  4992. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  4993. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  4994. | ^~~~~~~
  4995. In file included from ././common/inc/nv-pgprot.h:30,
  4996. from ././common/inc/nv-linux.h:33:
  4997. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  4998. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  4999. | ~~~~~~~~~~~~~~^~~~~
  5000. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5001. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5003. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5004. | ~~~~~~~~~~~~~~^~~~~~~~
  5005. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5006. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5007. | ^~~~~~~~
  5008. | |
  5009. | long unsigned int
  5010. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5011. 2535 | unsigned int gup_flags, struct page **pages);
  5012. | ~~~~~~~~~~~~~~^~~~~
  5013. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5014. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5015. | ^~~~~~~~~~~~~~ ~~~~~
  5016. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5017. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5018. | ^~~~~~~~~~~~~~
  5019. In file included from ././common/inc/nv.h:35,
  5020. from ././common/inc/nv-linux.h:28:
  5021. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  5022. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5023. 8 | #define NULL ((void *)0)
  5024. | ^~~~~~~~~~~
  5025. | |
  5026. | void *
  5027. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  5028. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5029. | ^~~~
  5030. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  5031. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5032. | ~~~~~~~~~~~~~~^~~~~
  5033. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5034. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5035. | ^~
  5036. | |
  5037. | struct mm_struct *
  5038. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5039. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5040. | ~~~~~~~~~~~~~~^~~~~~~~
  5041. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5042. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5043. | ^~~~~~~~
  5044. | |
  5045. | long unsigned int
  5046. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5047. 2535 | unsigned int gup_flags, struct page **pages);
  5048. | ~~~~~~~~~~~~~~^~~~~
  5049. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5050. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5051. | ^~~~~~~~~~~~~~ ~~~~~
  5052. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5053. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5054. | ^~~~~~~~~~~~~~
  5055. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  5056. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  5057. 237 | return (unsigned long)(vmf->virtual_address);
  5058. | ^~~~~~~~~~~~~~~
  5059. | real_address
  5060. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  5061. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5062. 246 | down_read(&mm->mmap_sem);
  5063. | ^~~~~~~~
  5064. | mmap_base
  5065. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  5066. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5067. 255 | up_read(&mm->mmap_sem);
  5068. | ^~~~~~~~
  5069. | mmap_base
  5070. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  5071. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5072. 264 | down_write(&mm->mmap_sem);
  5073. | ^~~~~~~~
  5074. | mmap_base
  5075. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  5076. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5077. 273 | up_write(&mm->mmap_sem);
  5078. | ^~~~~~~~
  5079. | mmap_base
  5080. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  5081. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5082. 282 | return rwsem_is_locked(&mm->mmap_sem);
  5083. | ^~~~~~~~
  5084. | mmap_base
  5085. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  5086. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5087. 291 | return &mm->mmap_sem;
  5088. | ^~~~~~~~
  5089. | mmap_base
  5090. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  5091. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  5092. 300 | vma->vm_flags |= flags;
  5093. | ^~
  5094. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  5095. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  5096. 309 | vma->vm_flags &= ~flags;
  5097. | ^~
  5098. In file included from ././common/inc/nv-linux.h:37:
  5099. ././common/inc/nv-time.h: At top level:
  5100. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  5101. 40 | struct timespec64 {
  5102. | ^~~~~~~~~~
  5103. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  5104. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  5105. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  5106. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  5107. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  5108. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  5109. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  5110. 13 | struct timespec64 {
  5111. | ^~~~~~~~~~
  5112. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5113. 77 | static inline struct timespec64 timespec64_add
  5114. | ^~~~~~~~~~~~~~
  5115. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  5116. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  5117. | ^~~~~~~~~~~~~~
  5118. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5119. 95 | static inline struct timespec64 timespec64_sub
  5120. | ^~~~~~~~~~~~~~
  5121. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  5122. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  5123. | ^~~~~~~~~~~~~~
  5124. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  5125. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  5126. | ^~~~~~~~~~~~~~~~
  5127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  5128. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  5129. | ^~~~~~~~~~~~~~~~
  5130. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  5131. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5132. 122 | ktime_get_raw_ts64(&ts);
  5133. | ^~~
  5134. | |
  5135. | struct timespec64 *
  5136. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  5137. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5138. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5139. | ~~~~~~~~~~~~~~~~~~~^~
  5140. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  5141. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5142. 185 | ktime_get_raw_ts64(&tm_aux);
  5143. | ^~~~~~~
  5144. | |
  5145. | struct timespec64 *
  5146. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5147. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5148. | ~~~~~~~~~~~~~~~~~~~^~
  5149. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5150. 221 | ktime_get_raw_ts64(&tm_aux);
  5151. | ^~~~~~~
  5152. | |
  5153. | struct timespec64 *
  5154. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5155. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5156. | ~~~~~~~~~~~~~~~~~~~^~
  5157. In file included from ././common/inc/nv-linux.h:34,
  5158. from nvidia/os-pci.c:27:
  5159. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  5160. 29 | typedef int vm_fault_t;
  5161. | ^~~~~~~~~~
  5162. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  5163. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  5164. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  5165. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  5166. from ././common/inc/nv-lock.h:35,
  5167. from ././common/inc/nv-linux.h:32:
  5168. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  5169. 1311 | typedef __bitwise unsigned int vm_fault_t;
  5170. | ^~~~~~~~~~
  5171. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  5172. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  5173. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  5174. from ././common/inc/nv-lock.h:29:
  5175. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  5176. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5177. 52 | #define current get_current()
  5178. | ^~~~~~~~~~~~~
  5179. | |
  5180. | struct task_struct *
  5181. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  5182. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5183. | ^~~~~~~
  5184. In file included from ././common/inc/nv-pgprot.h:30,
  5185. from ././common/inc/nv-linux.h:33:
  5186. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  5187. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5188. | ~~~~~~~~~~~~~~^~~~~
  5189. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5190. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5191. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5192. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5193. | ~~~~~~~~~~~~~~^~~~~~~~
  5194. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5195. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5196. | ^~~~~~~~
  5197. | |
  5198. | long unsigned int
  5199. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5200. 2535 | unsigned int gup_flags, struct page **pages);
  5201. | ~~~~~~~~~~~~~~^~~~~
  5202. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5203. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5204. | ^~~~~~~~~~~~~~ ~~~~~
  5205. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5206. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5207. | ^~~~~~~~~~~~~~
  5208. In file included from ././common/inc/nv.h:35,
  5209. from ././common/inc/nv-linux.h:28:
  5210. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  5211. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5212. 8 | #define NULL ((void *)0)
  5213. | ^~~~~~~~~~~
  5214. | |
  5215. | void *
  5216. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  5217. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5218. | ^~~~
  5219. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  5220. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5221. | ~~~~~~~~~~~~~~^~~~~
  5222. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5223. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5224. | ^~
  5225. | |
  5226. | struct mm_struct *
  5227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5228. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5229. | ~~~~~~~~~~~~~~^~~~~~~~
  5230. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5231. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5232. | ^~~~~~~~
  5233. | |
  5234. | long unsigned int
  5235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5236. 2535 | unsigned int gup_flags, struct page **pages);
  5237. | ~~~~~~~~~~~~~~^~~~~
  5238. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5239. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5240. | ^~~~~~~~~~~~~~ ~~~~~
  5241. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5242. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5243. | ^~~~~~~~~~~~~~
  5244. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  5245. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  5246. 237 | return (unsigned long)(vmf->virtual_address);
  5247. | ^~~~~~~~~~~~~~~
  5248. | real_address
  5249. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  5250. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5251. 246 | down_read(&mm->mmap_sem);
  5252. | ^~~~~~~~
  5253. | mmap_base
  5254. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  5255. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5256. 255 | up_read(&mm->mmap_sem);
  5257. | ^~~~~~~~
  5258. | mmap_base
  5259. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  5260. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5261. 264 | down_write(&mm->mmap_sem);
  5262. | ^~~~~~~~
  5263. | mmap_base
  5264. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  5265. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5266. 273 | up_write(&mm->mmap_sem);
  5267. | ^~~~~~~~
  5268. | mmap_base
  5269. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  5270. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5271. 282 | return rwsem_is_locked(&mm->mmap_sem);
  5272. | ^~~~~~~~
  5273. | mmap_base
  5274. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  5275. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5276. 291 | return &mm->mmap_sem;
  5277. | ^~~~~~~~
  5278. | mmap_base
  5279. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  5280. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  5281. 300 | vma->vm_flags |= flags;
  5282. | ^~
  5283. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  5284. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  5285. 309 | vma->vm_flags &= ~flags;
  5286. | ^~
  5287. In file included from ././common/inc/nv-linux.h:37:
  5288. ././common/inc/nv-time.h: At top level:
  5289. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  5290. 40 | struct timespec64 {
  5291. | ^~~~~~~~~~
  5292. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  5293. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  5294. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  5295. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  5296. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  5297. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  5298. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  5299. 13 | struct timespec64 {
  5300. | ^~~~~~~~~~
  5301. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5302. 77 | static inline struct timespec64 timespec64_add
  5303. | ^~~~~~~~~~~~~~
  5304. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  5305. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  5306. | ^~~~~~~~~~~~~~
  5307. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5308. 95 | static inline struct timespec64 timespec64_sub
  5309. | ^~~~~~~~~~~~~~
  5310. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  5311. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  5312. | ^~~~~~~~~~~~~~
  5313. In file included from ././common/inc/nv-linux.h:34,
  5314. from nvidia/os-registry.c:27:
  5315. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  5316. 29 | typedef int vm_fault_t;
  5317. | ^~~~~~~~~~
  5318. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  5319. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  5320. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  5321. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  5322. from ././common/inc/nv-lock.h:35,
  5323. from ././common/inc/nv-linux.h:32:
  5324. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  5325. 1311 | typedef __bitwise unsigned int vm_fault_t;
  5326. | ^~~~~~~~~~
  5327. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  5328. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  5329. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  5330. from ././common/inc/nv-lock.h:29:
  5331. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  5332. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5333. 52 | #define current get_current()
  5334. | ^~~~~~~~~~~~~
  5335. | |
  5336. | struct task_struct *
  5337. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  5338. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5339. | ^~~~~~~
  5340. In file included from ././common/inc/nv-pgprot.h:30,
  5341. from ././common/inc/nv-linux.h:33:
  5342. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  5343. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5344. | ~~~~~~~~~~~~~~^~~~~
  5345. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5346. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5347. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5348. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5349. | ~~~~~~~~~~~~~~^~~~~~~~
  5350. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5351. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5352. | ^~~~~~~~
  5353. | |
  5354. | long unsigned int
  5355. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5356. 2535 | unsigned int gup_flags, struct page **pages);
  5357. | ~~~~~~~~~~~~~~^~~~~
  5358. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5359. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5360. | ^~~~~~~~~~~~~~ ~~~~~
  5361. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5362. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5363. | ^~~~~~~~~~~~~~
  5364. In file included from ././common/inc/nv.h:35,
  5365. from ././common/inc/nv-linux.h:28:
  5366. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  5367. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5368. 8 | #define NULL ((void *)0)
  5369. | ^~~~~~~~~~~
  5370. | |
  5371. | void *
  5372. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  5373. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5374. | ^~~~
  5375. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  5376. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5377. | ~~~~~~~~~~~~~~^~~~~
  5378. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5379. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5380. | ^~
  5381. | |
  5382. | struct mm_struct *
  5383. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5384. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5385. | ~~~~~~~~~~~~~~^~~~~~~~
  5386. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5387. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5388. | ^~~~~~~~
  5389. | |
  5390. | long unsigned int
  5391. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5392. 2535 | unsigned int gup_flags, struct page **pages);
  5393. | ~~~~~~~~~~~~~~^~~~~
  5394. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5395. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5396. | ^~~~~~~~~~~~~~ ~~~~~
  5397. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5398. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5399. | ^~~~~~~~~~~~~~
  5400. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  5401. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  5402. 237 | return (unsigned long)(vmf->virtual_address);
  5403. | ^~~~~~~~~~~~~~~
  5404. | real_address
  5405. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  5406. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5407. 246 | down_read(&mm->mmap_sem);
  5408. | ^~~~~~~~
  5409. | mmap_base
  5410. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  5411. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5412. 255 | up_read(&mm->mmap_sem);
  5413. | ^~~~~~~~
  5414. | mmap_base
  5415. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  5416. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5417. 264 | down_write(&mm->mmap_sem);
  5418. | ^~~~~~~~
  5419. | mmap_base
  5420. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  5421. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5422. 273 | up_write(&mm->mmap_sem);
  5423. | ^~~~~~~~
  5424. | mmap_base
  5425. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  5426. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5427. 282 | return rwsem_is_locked(&mm->mmap_sem);
  5428. | ^~~~~~~~
  5429. | mmap_base
  5430. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  5431. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5432. 291 | return &mm->mmap_sem;
  5433. | ^~~~~~~~
  5434. | mmap_base
  5435. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  5436. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  5437. 300 | vma->vm_flags |= flags;
  5438. | ^~
  5439. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  5440. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  5441. 309 | vma->vm_flags &= ~flags;
  5442. | ^~
  5443. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  5444. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  5445. | ^~~~~~~~~~~~~~~~
  5446. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  5447. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  5448. | ^~~~~~~~~~~~~~~~
  5449. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  5450. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5451. 122 | ktime_get_raw_ts64(&ts);
  5452. | ^~~
  5453. | |
  5454. | struct timespec64 *
  5455. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  5456. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5457. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5458. | ~~~~~~~~~~~~~~~~~~~^~
  5459. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  5460. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5461. 185 | ktime_get_raw_ts64(&tm_aux);
  5462. | ^~~~~~~
  5463. | |
  5464. | struct timespec64 *
  5465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5466. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5467. | ~~~~~~~~~~~~~~~~~~~^~
  5468. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5469. 221 | ktime_get_raw_ts64(&tm_aux);
  5470. | ^~~~~~~
  5471. | |
  5472. | struct timespec64 *
  5473. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5474. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5475. | ~~~~~~~~~~~~~~~~~~~^~
  5476. In file included from ././common/inc/nv-linux.h:37:
  5477. ././common/inc/nv-time.h: At top level:
  5478. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  5479. 40 | struct timespec64 {
  5480. | ^~~~~~~~~~
  5481. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  5482. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  5483. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  5484. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  5485. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  5486. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  5487. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  5488. 13 | struct timespec64 {
  5489. | ^~~~~~~~~~
  5490. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5491. 77 | static inline struct timespec64 timespec64_add
  5492. | ^~~~~~~~~~~~~~
  5493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  5494. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  5495. | ^~~~~~~~~~~~~~
  5496. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5497. 95 | static inline struct timespec64 timespec64_sub
  5498. | ^~~~~~~~~~~~~~
  5499. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  5500. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  5501. | ^~~~~~~~~~~~~~
  5502. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  5503. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  5504. | ^~~~~~~~~~~~~~~~
  5505. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  5506. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  5507. | ^~~~~~~~~~~~~~~~
  5508. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  5509. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5510. 122 | ktime_get_raw_ts64(&ts);
  5511. | ^~~
  5512. | |
  5513. | struct timespec64 *
  5514. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  5515. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5516. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5517. | ~~~~~~~~~~~~~~~~~~~^~
  5518. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  5519. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5520. 185 | ktime_get_raw_ts64(&tm_aux);
  5521. | ^~~~~~~
  5522. | |
  5523. | struct timespec64 *
  5524. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5525. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5526. | ~~~~~~~~~~~~~~~~~~~^~
  5527. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5528. 221 | ktime_get_raw_ts64(&tm_aux);
  5529. | ^~~~~~~
  5530. | |
  5531. | struct timespec64 *
  5532. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5533. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5534. | ~~~~~~~~~~~~~~~~~~~^~
  5535. In file included from ././common/inc/nv-linux.h:34,
  5536. from nvidia/nv-modeset-interface.c:27:
  5537. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  5538. 29 | typedef int vm_fault_t;
  5539. | ^~~~~~~~~~
  5540. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  5541. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  5542. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  5543. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  5544. from ././common/inc/nv-lock.h:35,
  5545. from ././common/inc/nv-linux.h:32:
  5546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  5547. 1311 | typedef __bitwise unsigned int vm_fault_t;
  5548. | ^~~~~~~~~~
  5549. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  5550. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  5551. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  5552. from ././common/inc/nv-lock.h:29:
  5553. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  5554. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5555. 52 | #define current get_current()
  5556. | ^~~~~~~~~~~~~
  5557. | |
  5558. | struct task_struct *
  5559. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  5560. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5561. | ^~~~~~~
  5562. In file included from ././common/inc/nv-pgprot.h:30,
  5563. from ././common/inc/nv-linux.h:33:
  5564. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  5565. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5566. | ~~~~~~~~~~~~~~^~~~~
  5567. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5568. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5569. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5570. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5571. | ~~~~~~~~~~~~~~^~~~~~~~
  5572. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5573. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5574. | ^~~~~~~~
  5575. | |
  5576. | long unsigned int
  5577. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5578. 2535 | unsigned int gup_flags, struct page **pages);
  5579. | ~~~~~~~~~~~~~~^~~~~
  5580. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5581. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5582. | ^~~~~~~~~~~~~~ ~~~~~
  5583. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5584. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5585. | ^~~~~~~~~~~~~~
  5586. In file included from ././common/inc/nv.h:35,
  5587. from ././common/inc/nv-linux.h:28:
  5588. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  5589. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5590. 8 | #define NULL ((void *)0)
  5591. | ^~~~~~~~~~~
  5592. | |
  5593. | void *
  5594. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  5595. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5596. | ^~~~
  5597. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  5598. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5599. | ~~~~~~~~~~~~~~^~~~~
  5600. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5601. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5602. | ^~
  5603. | |
  5604. | struct mm_struct *
  5605. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5606. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5607. | ~~~~~~~~~~~~~~^~~~~~~~
  5608. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5609. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5610. | ^~~~~~~~
  5611. | |
  5612. | long unsigned int
  5613. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5614. 2535 | unsigned int gup_flags, struct page **pages);
  5615. | ~~~~~~~~~~~~~~^~~~~
  5616. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5617. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5618. | ^~~~~~~~~~~~~~ ~~~~~
  5619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5620. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5621. | ^~~~~~~~~~~~~~
  5622. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  5623. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  5624. 237 | return (unsigned long)(vmf->virtual_address);
  5625. | ^~~~~~~~~~~~~~~
  5626. | real_address
  5627. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  5628. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5629. 246 | down_read(&mm->mmap_sem);
  5630. | ^~~~~~~~
  5631. | mmap_base
  5632. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  5633. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5634. 255 | up_read(&mm->mmap_sem);
  5635. | ^~~~~~~~
  5636. | mmap_base
  5637. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  5638. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5639. 264 | down_write(&mm->mmap_sem);
  5640. | ^~~~~~~~
  5641. | mmap_base
  5642. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  5643. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5644. 273 | up_write(&mm->mmap_sem);
  5645. | ^~~~~~~~
  5646. | mmap_base
  5647. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  5648. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5649. 282 | return rwsem_is_locked(&mm->mmap_sem);
  5650. | ^~~~~~~~
  5651. | mmap_base
  5652. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  5653. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5654. 291 | return &mm->mmap_sem;
  5655. | ^~~~~~~~
  5656. | mmap_base
  5657. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  5658. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  5659. 300 | vma->vm_flags |= flags;
  5660. | ^~
  5661. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  5662. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  5663. 309 | vma->vm_flags &= ~flags;
  5664. | ^~
  5665. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_hkdf.o] Error 1
  5666. In file included from ././common/inc/nv-linux.h:37:
  5667. ././common/inc/nv-time.h: At top level:
  5668. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  5669. 40 | struct timespec64 {
  5670. | ^~~~~~~~~~
  5671. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  5672. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  5673. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  5674. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  5675. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  5676. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  5677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  5678. 13 | struct timespec64 {
  5679. | ^~~~~~~~~~
  5680. CC [M] nvidia/libspdm_rand.o
  5681. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5682. 77 | static inline struct timespec64 timespec64_add
  5683. | ^~~~~~~~~~~~~~
  5684. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  5685. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  5686. | ^~~~~~~~~~~~~~
  5687. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5688. 95 | static inline struct timespec64 timespec64_sub
  5689. | ^~~~~~~~~~~~~~
  5690. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  5691. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  5692. | ^~~~~~~~~~~~~~
  5693. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  5694. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  5695. | ^~~~~~~~~~~~~~~~
  5696. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  5697. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  5698. | ^~~~~~~~~~~~~~~~
  5699. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  5700. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5701. 122 | ktime_get_raw_ts64(&ts);
  5702. | ^~~
  5703. | |
  5704. | struct timespec64 *
  5705. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  5706. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5707. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5708. | ~~~~~~~~~~~~~~~~~~~^~
  5709. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  5710. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5711. 185 | ktime_get_raw_ts64(&tm_aux);
  5712. | ^~~~~~~
  5713. | |
  5714. | struct timespec64 *
  5715. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5716. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5717. | ~~~~~~~~~~~~~~~~~~~^~
  5718. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  5719. 221 | ktime_get_raw_ts64(&tm_aux);
  5720. | ^~~~~~~
  5721. | |
  5722. | struct timespec64 *
  5723. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  5724. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  5725. | ~~~~~~~~~~~~~~~~~~~^~
  5726. In file included from ././common/inc/nv-linux.h:34:
  5727. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  5728. 29 | typedef int vm_fault_t;
  5729. | ^~~~~~~~~~
  5730. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  5731. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  5732. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  5733. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  5734. from ././common/inc/nv-lock.h:35,
  5735. from ././common/inc/nv-linux.h:32:
  5736. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  5737. 1311 | typedef __bitwise unsigned int vm_fault_t;
  5738. | ^~~~~~~~~~
  5739. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  5740. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  5741. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  5742. from ././common/inc/nv-lock.h:29:
  5743. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  5744. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5745. 52 | #define current get_current()
  5746. | ^~~~~~~~~~~~~
  5747. | |
  5748. | struct task_struct *
  5749. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  5750. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5751. | ^~~~~~~
  5752. In file included from ././common/inc/nv-pgprot.h:30,
  5753. from ././common/inc/nv-linux.h:33:
  5754. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  5755. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5756. | ~~~~~~~~~~~~~~^~~~~
  5757. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5758. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5760. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5761. | ~~~~~~~~~~~~~~^~~~~~~~
  5762. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5763. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5764. | ^~~~~~~~
  5765. | |
  5766. | long unsigned int
  5767. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5768. 2535 | unsigned int gup_flags, struct page **pages);
  5769. | ~~~~~~~~~~~~~~^~~~~
  5770. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5771. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5772. | ^~~~~~~~~~~~~~ ~~~~~
  5773. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5774. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5775. | ^~~~~~~~~~~~~~
  5776. In file included from ././common/inc/nv.h:35:
  5777. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  5778. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5779. 8 | #define NULL ((void *)0)
  5780. | ^~~~~~~~~~~
  5781. | |
  5782. | void *
  5783. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  5784. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5785. | ^~~~
  5786. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  5787. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5788. | ~~~~~~~~~~~~~~^~~~~
  5789. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5790. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5791. | ^~
  5792. | |
  5793. | struct mm_struct *
  5794. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5795. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5796. | ~~~~~~~~~~~~~~^~~~~~~~
  5797. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5798. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5799. | ^~~~~~~~
  5800. | |
  5801. | long unsigned int
  5802. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5803. 2535 | unsigned int gup_flags, struct page **pages);
  5804. | ~~~~~~~~~~~~~~^~~~~
  5805. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5806. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5807. | ^~~~~~~~~~~~~~ ~~~~~
  5808. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5809. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5810. | ^~~~~~~~~~~~~~
  5811. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  5812. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  5813. 237 | return (unsigned long)(vmf->virtual_address);
  5814. | ^~~~~~~~~~~~~~~
  5815. | real_address
  5816. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  5817. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5818. 246 | down_read(&mm->mmap_sem);
  5819. | ^~~~~~~~
  5820. | mmap_base
  5821. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  5822. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5823. 255 | up_read(&mm->mmap_sem);
  5824. | ^~~~~~~~
  5825. | mmap_base
  5826. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  5827. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5828. 264 | down_write(&mm->mmap_sem);
  5829. | ^~~~~~~~
  5830. | mmap_base
  5831. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  5832. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5833. 273 | up_write(&mm->mmap_sem);
  5834. | ^~~~~~~~
  5835. | mmap_base
  5836. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  5837. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5838. 282 | return rwsem_is_locked(&mm->mmap_sem);
  5839. | ^~~~~~~~
  5840. | mmap_base
  5841. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  5842. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  5843. 291 | return &mm->mmap_sem;
  5844. | ^~~~~~~~
  5845. | mmap_base
  5846. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  5847. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  5848. 300 | vma->vm_flags |= flags;
  5849. | ^~
  5850. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  5851. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  5852. 309 | vma->vm_flags &= ~flags;
  5853. | ^~
  5854. In file included from ././common/inc/nv-linux.h:34,
  5855. from nvidia/os-usermap.c:27:
  5856. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  5857. 29 | typedef int vm_fault_t;
  5858. | ^~~~~~~~~~
  5859. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  5860. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  5861. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  5862. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  5863. from ././common/inc/nv-lock.h:35,
  5864. from ././common/inc/nv-linux.h:32:
  5865. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  5866. 1311 | typedef __bitwise unsigned int vm_fault_t;
  5867. | ^~~~~~~~~~
  5868. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  5869. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  5870. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  5871. from ././common/inc/nv-lock.h:29:
  5872. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  5873. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5874. 52 | #define current get_current()
  5875. | ^~~~~~~~~~~~~
  5876. | |
  5877. | struct task_struct *
  5878. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  5879. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5880. | ^~~~~~~
  5881. In file included from ././common/inc/nv-pgprot.h:30,
  5882. from ././common/inc/nv-linux.h:33:
  5883. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  5884. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5885. | ~~~~~~~~~~~~~~^~~~~
  5886. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5887. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5888. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5889. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5890. | ~~~~~~~~~~~~~~^~~~~~~~
  5891. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5892. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5893. | ^~~~~~~~
  5894. | |
  5895. | long unsigned int
  5896. In file included from ././common/inc/nv-linux.h:34:
  5897. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  5898. 29 | typedef int vm_fault_t;
  5899. | ^~~~~~~~~~
  5900. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  5901. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  5902. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  5903. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  5904. from ././common/inc/nv-lock.h:35,
  5905. from ././common/inc/nv-linux.h:32:
  5906. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  5907. 1311 | typedef __bitwise unsigned int vm_fault_t;
  5908. | ^~~~~~~~~~
  5909. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  5910. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  5911. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  5912. from ././common/inc/nv-lock.h:29:
  5913. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  5914. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5915. 52 | #define current get_current()
  5916. | ^~~~~~~~~~~~~
  5917. | |
  5918. | struct task_struct *
  5919. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  5920. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5921. | ^~~~~~~
  5922. In file included from ././common/inc/nv-pgprot.h:30,
  5923. from ././common/inc/nv-linux.h:33:
  5924. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  5925. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5926. | ~~~~~~~~~~~~~~^~~~~
  5927. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5928. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5929. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5930. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5931. | ~~~~~~~~~~~~~~^~~~~~~~
  5932. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5933. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5934. | ^~~~~~~~
  5935. | |
  5936. | long unsigned int
  5937. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5938. 2535 | unsigned int gup_flags, struct page **pages);
  5939. | ~~~~~~~~~~~~~~^~~~~
  5940. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5941. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  5942. | ^~~~~~~~~~~~~~ ~~~~~
  5943. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  5944. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5945. | ^~~~~~~~~~~~~~
  5946. In file included from ././common/inc/nv-linux.h:37:
  5947. ././common/inc/nv-time.h: At top level:
  5948. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  5949. 40 | struct timespec64 {
  5950. | ^~~~~~~~~~
  5951. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  5952. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  5953. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  5954. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  5955. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  5956. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  5957. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  5958. 13 | struct timespec64 {
  5959. | ^~~~~~~~~~
  5960. In file included from ././common/inc/nv.h:35:
  5961. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  5962. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5963. 8 | #define NULL ((void *)0)
  5964. | ^~~~~~~~~~~
  5965. | |
  5966. | void *
  5967. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  5968. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5969. | ^~~~
  5970. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  5971. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5972. | ~~~~~~~~~~~~~~^~~~~
  5973. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5974. 77 | static inline struct timespec64 timespec64_add
  5975. | ^~~~~~~~~~~~~~
  5976. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  5977. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5978. | ^~
  5979. | |
  5980. | struct mm_struct *
  5981. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  5982. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  5983. | ^~~~~~~~~~~~~~
  5984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  5985. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  5986. | ~~~~~~~~~~~~~~^~~~~~~~
  5987. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  5988. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  5989. | ^~~~~~~~
  5990. | |
  5991. | long unsigned int
  5992. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  5993. 95 | static inline struct timespec64 timespec64_sub
  5994. | ^~~~~~~~~~~~~~
  5995. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  5996. 2535 | unsigned int gup_flags, struct page **pages);
  5997. | ~~~~~~~~~~~~~~^~~~~
  5998. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  5999. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6000. | ^~~~~~~~~~~~~~ ~~~~~
  6001. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6002. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  6003. | ^~~~~~~~~~~~~~
  6004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6005. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6006. | ^~~~~~~~~~~~~~
  6007. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  6008. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  6009. | ^~~~~~~~~~~~~~~~
  6010. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  6011. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  6012. | ^~~~~~~~~~~~~~~~
  6013. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  6014. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  6015. 237 | return (unsigned long)(vmf->virtual_address);
  6016. | ^~~~~~~~~~~~~~~
  6017. | real_address
  6018. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  6019. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6020. 122 | ktime_get_raw_ts64(&ts);
  6021. | ^~~
  6022. | |
  6023. | struct timespec64 *
  6024. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  6025. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6026. 246 | down_read(&mm->mmap_sem);
  6027. | ^~~~~~~~
  6028. | mmap_base
  6029. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  6030. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6031. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6032. | ~~~~~~~~~~~~~~~~~~~^~
  6033. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  6034. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6035. 255 | up_read(&mm->mmap_sem);
  6036. | ^~~~~~~~
  6037. | mmap_base
  6038. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  6039. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6040. 264 | down_write(&mm->mmap_sem);
  6041. | ^~~~~~~~
  6042. | mmap_base
  6043. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  6044. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6045. 273 | up_write(&mm->mmap_sem);
  6046. | ^~~~~~~~
  6047. | mmap_base
  6048. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  6049. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  6050. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6051. 185 | ktime_get_raw_ts64(&tm_aux);
  6052. | ^~~~~~~
  6053. | |
  6054. | struct timespec64 *
  6055. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6056. 282 | return rwsem_is_locked(&mm->mmap_sem);
  6057. | ^~~~~~~~
  6058. | mmap_base
  6059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6060. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6061. | ~~~~~~~~~~~~~~~~~~~^~
  6062. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  6063. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6064. 291 | return &mm->mmap_sem;
  6065. | ^~~~~~~~
  6066. | mmap_base
  6067. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  6068. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  6069. 300 | vma->vm_flags |= flags;
  6070. | ^~
  6071. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  6072. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  6073. 309 | vma->vm_flags &= ~flags;
  6074. | ^~
  6075. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6076. 221 | ktime_get_raw_ts64(&tm_aux);
  6077. | ^~~~~~~
  6078. | |
  6079. | struct timespec64 *
  6080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6081. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6082. | ~~~~~~~~~~~~~~~~~~~^~
  6083. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6084. 2535 | unsigned int gup_flags, struct page **pages);
  6085. | ~~~~~~~~~~~~~~^~~~~
  6086. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6087. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6088. | ^~~~~~~~~~~~~~ ~~~~~
  6089. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6090. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6091. | ^~~~~~~~~~~~~~
  6092. In file included from ././common/inc/nv.h:35,
  6093. from ././common/inc/nv-linux.h:28:
  6094. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  6095. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6096. 8 | #define NULL ((void *)0)
  6097. | ^~~~~~~~~~~
  6098. | |
  6099. | void *
  6100. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  6101. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6102. | ^~~~
  6103. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  6104. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6105. | ~~~~~~~~~~~~~~^~~~~
  6106. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6107. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6108. | ^~
  6109. | |
  6110. | struct mm_struct *
  6111. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  6112. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6113. | ~~~~~~~~~~~~~~^~~~~~~~
  6114. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  6115. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6116. | ^~~~~~~~
  6117. | |
  6118. | long unsigned int
  6119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6120. 2535 | unsigned int gup_flags, struct page **pages);
  6121. | ~~~~~~~~~~~~~~^~~~~
  6122. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6123. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6124. | ^~~~~~~~~~~~~~ ~~~~~
  6125. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6126. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6127. | ^~~~~~~~~~~~~~
  6128. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  6129. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  6130. 237 | return (unsigned long)(vmf->virtual_address);
  6131. | ^~~~~~~~~~~~~~~
  6132. | real_address
  6133. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  6134. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6135. 246 | down_read(&mm->mmap_sem);
  6136. | ^~~~~~~~
  6137. | mmap_base
  6138. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  6139. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6140. 255 | up_read(&mm->mmap_sem);
  6141. | ^~~~~~~~
  6142. | mmap_base
  6143. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  6144. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6145. 264 | down_write(&mm->mmap_sem);
  6146. | ^~~~~~~~
  6147. | mmap_base
  6148. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  6149. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6150. 273 | up_write(&mm->mmap_sem);
  6151. | ^~~~~~~~
  6152. | mmap_base
  6153. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  6154. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6155. 282 | return rwsem_is_locked(&mm->mmap_sem);
  6156. | ^~~~~~~~
  6157. | mmap_base
  6158. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  6159. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6160. 291 | return &mm->mmap_sem;
  6161. | ^~~~~~~~
  6162. | mmap_base
  6163. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  6164. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  6165. 300 | vma->vm_flags |= flags;
  6166. | ^~
  6167. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  6168. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  6169. 309 | vma->vm_flags &= ~flags;
  6170. | ^~
  6171. In file included from ././common/inc/nv-linux.h:37:
  6172. ././common/inc/nv-time.h: At top level:
  6173. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  6174. 40 | struct timespec64 {
  6175. | ^~~~~~~~~~
  6176. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  6177. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  6178. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  6179. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  6180. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  6181. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  6182. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  6183. 13 | struct timespec64 {
  6184. | ^~~~~~~~~~
  6185. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6186. 77 | static inline struct timespec64 timespec64_add
  6187. | ^~~~~~~~~~~~~~
  6188. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6189. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  6190. | ^~~~~~~~~~~~~~
  6191. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6192. 95 | static inline struct timespec64 timespec64_sub
  6193. | ^~~~~~~~~~~~~~
  6194. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6195. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  6196. | ^~~~~~~~~~~~~~
  6197. CC [M] nvidia/libspdm_shash.o
  6198. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  6199. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  6200. | ^~~~~~~~~~~~~~~~
  6201. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  6202. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  6203. | ^~~~~~~~~~~~~~~~
  6204. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  6205. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6206. 122 | ktime_get_raw_ts64(&ts);
  6207. | ^~~
  6208. | |
  6209. | struct timespec64 *
  6210. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  6211. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6212. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6213. | ~~~~~~~~~~~~~~~~~~~^~
  6214. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  6215. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6216. 185 | ktime_get_raw_ts64(&tm_aux);
  6217. | ^~~~~~~
  6218. | |
  6219. | struct timespec64 *
  6220. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6221. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6222. | ~~~~~~~~~~~~~~~~~~~^~
  6223. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6224. 221 | ktime_get_raw_ts64(&tm_aux);
  6225. | ^~~~~~~
  6226. | |
  6227. | struct timespec64 *
  6228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6229. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6230. | ~~~~~~~~~~~~~~~~~~~^~
  6231. In file included from ././common/inc/nv-linux.h:37:
  6232. ././common/inc/nv-time.h: At top level:
  6233. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  6234. 40 | struct timespec64 {
  6235. | ^~~~~~~~~~
  6236. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  6237. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  6238. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  6239. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  6240. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  6241. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  6242. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  6243. 13 | struct timespec64 {
  6244. | ^~~~~~~~~~
  6245. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6246. 77 | static inline struct timespec64 timespec64_add
  6247. | ^~~~~~~~~~~~~~
  6248. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6249. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  6250. | ^~~~~~~~~~~~~~
  6251. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6252. 95 | static inline struct timespec64 timespec64_sub
  6253. | ^~~~~~~~~~~~~~
  6254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6255. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  6256. | ^~~~~~~~~~~~~~
  6257. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  6258. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  6259. | ^~~~~~~~~~~~~~~~
  6260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  6261. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  6262. | ^~~~~~~~~~~~~~~~
  6263. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  6264. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6265. 122 | ktime_get_raw_ts64(&ts);
  6266. | ^~~
  6267. | |
  6268. | struct timespec64 *
  6269. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  6270. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6271. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6272. | ~~~~~~~~~~~~~~~~~~~^~
  6273. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  6274. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6275. 185 | ktime_get_raw_ts64(&tm_aux);
  6276. | ^~~~~~~
  6277. | |
  6278. | struct timespec64 *
  6279. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6280. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6281. | ~~~~~~~~~~~~~~~~~~~^~
  6282. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6283. 221 | ktime_get_raw_ts64(&tm_aux);
  6284. | ^~~~~~~
  6285. | |
  6286. | struct timespec64 *
  6287. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6288. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6289. | ~~~~~~~~~~~~~~~~~~~^~
  6290. In file included from ././common/inc/conftest.h:28,
  6291. from nvidia/internal_crypt_lib.h:32,
  6292. from nvidia/libspdm_shash.c:24:
  6293. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  6294. 74 | #error dma_buf_export() conftest failed!
  6295. | ^~~~~
  6296. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  6297. 87 | #error wait_on_bit_lock() conftest failed!
  6298. | ^~~~~
  6299. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  6300. 90 | #error radix_tree_replace_slot() conftest failed!
  6301. | ^~~~~
  6302. In file included from ././common/inc/nv-linux.h:34:
  6303. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  6304. 29 | typedef int vm_fault_t;
  6305. | ^~~~~~~~~~
  6306. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  6307. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  6308. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  6309. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  6310. from ././common/inc/nv-lock.h:35,
  6311. from ././common/inc/nv-linux.h:32:
  6312. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  6313. 1311 | typedef __bitwise unsigned int vm_fault_t;
  6314. | ^~~~~~~~~~
  6315. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  6316. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  6317. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  6318. from ././common/inc/nv-lock.h:29:
  6319. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  6320. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6321. 52 | #define current get_current()
  6322. | ^~~~~~~~~~~~~
  6323. | |
  6324. | struct task_struct *
  6325. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  6326. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6327. | ^~~~~~~
  6328. In file included from ././common/inc/nv-pgprot.h:30,
  6329. from ././common/inc/nv-linux.h:33:
  6330. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  6331. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6332. | ~~~~~~~~~~~~~~^~~~~
  6333. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6334. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  6336. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6337. | ~~~~~~~~~~~~~~^~~~~~~~
  6338. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  6339. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6340. | ^~~~~~~~
  6341. | |
  6342. | long unsigned int
  6343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6344. 2535 | unsigned int gup_flags, struct page **pages);
  6345. | ~~~~~~~~~~~~~~^~~~~
  6346. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6347. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6348. | ^~~~~~~~~~~~~~ ~~~~~
  6349. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6350. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6351. | ^~~~~~~~~~~~~~
  6352. In file included from ././common/inc/nv.h:35:
  6353. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  6354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6355. 8 | #define NULL ((void *)0)
  6356. | ^~~~~~~~~~~
  6357. | |
  6358. | void *
  6359. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  6360. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6361. | ^~~~
  6362. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  6363. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6364. | ~~~~~~~~~~~~~~^~~~~
  6365. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6366. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6367. | ^~
  6368. | |
  6369. | struct mm_struct *
  6370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  6371. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6372. | ~~~~~~~~~~~~~~^~~~~~~~
  6373. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  6374. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6375. | ^~~~~~~~
  6376. | |
  6377. | long unsigned int
  6378. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6379. 2535 | unsigned int gup_flags, struct page **pages);
  6380. | ~~~~~~~~~~~~~~^~~~~
  6381. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6382. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6383. | ^~~~~~~~~~~~~~ ~~~~~
  6384. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6385. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6386. | ^~~~~~~~~~~~~~
  6387. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  6388. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  6389. 237 | return (unsigned long)(vmf->virtual_address);
  6390. | ^~~~~~~~~~~~~~~
  6391. | real_address
  6392. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  6393. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6394. 246 | down_read(&mm->mmap_sem);
  6395. | ^~~~~~~~
  6396. | mmap_base
  6397. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  6398. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6399. 255 | up_read(&mm->mmap_sem);
  6400. | ^~~~~~~~
  6401. | mmap_base
  6402. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  6403. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6404. 264 | down_write(&mm->mmap_sem);
  6405. | ^~~~~~~~
  6406. | mmap_base
  6407. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  6408. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6409. 273 | up_write(&mm->mmap_sem);
  6410. | ^~~~~~~~
  6411. | mmap_base
  6412. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  6413. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6414. 282 | return rwsem_is_locked(&mm->mmap_sem);
  6415. | ^~~~~~~~
  6416. | mmap_base
  6417. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  6418. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6419. 291 | return &mm->mmap_sem;
  6420. | ^~~~~~~~
  6421. | mmap_base
  6422. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  6423. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  6424. 300 | vma->vm_flags |= flags;
  6425. | ^~
  6426. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  6427. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  6428. 309 | vma->vm_flags &= ~flags;
  6429. | ^~
  6430. nvidia/nv-kthread-q.c: In function 'thread_create_on_node':
  6431. nvidia/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  6432. 179 | const static unsigned attempts = 3;
  6433. | ^~~~~
  6434. In file included from ././common/inc/nv-linux.h:37:
  6435. ././common/inc/nv-time.h: At top level:
  6436. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  6437. 40 | struct timespec64 {
  6438. | ^~~~~~~~~~
  6439. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  6440. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  6441. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  6442. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  6443. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  6444. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  6445. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  6446. 13 | struct timespec64 {
  6447. | ^~~~~~~~~~
  6448. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6449. 77 | static inline struct timespec64 timespec64_add
  6450. | ^~~~~~~~~~~~~~
  6451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6452. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  6453. | ^~~~~~~~~~~~~~
  6454. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6455. 95 | static inline struct timespec64 timespec64_sub
  6456. | ^~~~~~~~~~~~~~
  6457. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6458. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  6459. | ^~~~~~~~~~~~~~
  6460. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  6461. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  6462. | ^~~~~~~~~~~~~~~~
  6463. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  6464. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  6465. | ^~~~~~~~~~~~~~~~
  6466. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  6467. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6468. 122 | ktime_get_raw_ts64(&ts);
  6469. | ^~~
  6470. | |
  6471. | struct timespec64 *
  6472. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  6473. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6474. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6475. | ~~~~~~~~~~~~~~~~~~~^~
  6476. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  6477. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6478. 185 | ktime_get_raw_ts64(&tm_aux);
  6479. | ^~~~~~~
  6480. | |
  6481. | struct timespec64 *
  6482. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6483. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6484. | ~~~~~~~~~~~~~~~~~~~^~
  6485. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6486. 221 | ktime_get_raw_ts64(&tm_aux);
  6487. | ^~~~~~~
  6488. | |
  6489. | struct timespec64 *
  6490. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6491. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6492. | ~~~~~~~~~~~~~~~~~~~^~
  6493. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-kthread-q.o] Error 1
  6494. CC [M] nvidia/libspdm_aead_aes_gcm.o
  6495. CC [M] nvidia/libspdm_sha.o
  6496. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  6497. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  6498. 502 | NV_MEMDBG_ADD(ptr, size);
  6499. | ^
  6500. In file included from ././common/inc/nv-linux.h:34:
  6501. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  6502. 29 | typedef int vm_fault_t;
  6503. | ^~~~~~~~~~
  6504. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  6505. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  6506. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  6507. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  6508. from ././common/inc/nv-lock.h:35,
  6509. from ././common/inc/nv-linux.h:32:
  6510. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  6511. 1311 | typedef __bitwise unsigned int vm_fault_t;
  6512. | ^~~~~~~~~~
  6513. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  6514. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  6515. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  6516. from ././common/inc/nv-lock.h:29:
  6517. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  6518. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6519. 52 | #define current get_current()
  6520. | ^~~~~~~~~~~~~
  6521. | |
  6522. | struct task_struct *
  6523. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  6524. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6525. | ^~~~~~~
  6526. In file included from ././common/inc/nv-pgprot.h:30,
  6527. from ././common/inc/nv-linux.h:33:
  6528. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  6529. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6530. | ~~~~~~~~~~~~~~^~~~~
  6531. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6532. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6533. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  6534. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6535. | ~~~~~~~~~~~~~~^~~~~~~~
  6536. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  6537. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6538. | ^~~~~~~~
  6539. | |
  6540. | long unsigned int
  6541. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6542. 2535 | unsigned int gup_flags, struct page **pages);
  6543. | ~~~~~~~~~~~~~~^~~~~
  6544. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6545. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6546. | ^~~~~~~~~~~~~~ ~~~~~
  6547. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6548. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6549. | ^~~~~~~~~~~~~~
  6550. In file included from ././common/inc/nv.h:35:
  6551. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  6552. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6553. 8 | #define NULL ((void *)0)
  6554. | ^~~~~~~~~~~
  6555. | |
  6556. | void *
  6557. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  6558. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6559. | ^~~~
  6560. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  6561. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6562. | ~~~~~~~~~~~~~~^~~~~
  6563. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6564. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6565. | ^~
  6566. | |
  6567. | struct mm_struct *
  6568. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  6569. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6570. | ~~~~~~~~~~~~~~^~~~~~~~
  6571. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  6572. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6573. | ^~~~~~~~
  6574. | |
  6575. | long unsigned int
  6576. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6577. 2535 | unsigned int gup_flags, struct page **pages);
  6578. | ~~~~~~~~~~~~~~^~~~~
  6579. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6580. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6581. | ^~~~~~~~~~~~~~ ~~~~~
  6582. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6583. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6584. | ^~~~~~~~~~~~~~
  6585. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  6586. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  6587. 237 | return (unsigned long)(vmf->virtual_address);
  6588. | ^~~~~~~~~~~~~~~
  6589. | real_address
  6590. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  6591. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6592. 246 | down_read(&mm->mmap_sem);
  6593. | ^~~~~~~~
  6594. | mmap_base
  6595. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  6596. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6597. 255 | up_read(&mm->mmap_sem);
  6598. | ^~~~~~~~
  6599. | mmap_base
  6600. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  6601. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6602. 264 | down_write(&mm->mmap_sem);
  6603. | ^~~~~~~~
  6604. | mmap_base
  6605. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  6606. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6607. 273 | up_write(&mm->mmap_sem);
  6608. | ^~~~~~~~
  6609. | mmap_base
  6610. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  6611. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6612. 282 | return rwsem_is_locked(&mm->mmap_sem);
  6613. | ^~~~~~~~
  6614. | mmap_base
  6615. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  6616. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6617. 291 | return &mm->mmap_sem;
  6618. | ^~~~~~~~
  6619. | mmap_base
  6620. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  6621. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  6622. 300 | vma->vm_flags |= flags;
  6623. | ^~
  6624. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  6625. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  6626. 309 | vma->vm_flags &= ~flags;
  6627. | ^~
  6628. CC [M] nvidia/libspdm_hmac_sha.o
  6629. In file included from ././common/inc/nv-linux.h:37:
  6630. ././common/inc/nv-time.h: At top level:
  6631. CC [M] nvidia/libspdm_hkdf_sha.o
  6632. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  6633. 40 | struct timespec64 {
  6634. | ^~~~~~~~~~
  6635. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  6636. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  6637. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  6638. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  6639. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  6640. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  6641. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  6642. 13 | struct timespec64 {
  6643. | ^~~~~~~~~~
  6644. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6645. 77 | static inline struct timespec64 timespec64_add
  6646. | ^~~~~~~~~~~~~~
  6647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6648. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  6649. | ^~~~~~~~~~~~~~
  6650. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6651. 95 | static inline struct timespec64 timespec64_sub
  6652. | ^~~~~~~~~~~~~~
  6653. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6654. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  6655. | ^~~~~~~~~~~~~~
  6656. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  6657. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  6658. | ^~~~~~~~~~~~~~~~
  6659. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  6660. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  6661. | ^~~~~~~~~~~~~~~~
  6662. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  6663. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6664. 122 | ktime_get_raw_ts64(&ts);
  6665. | ^~~
  6666. | |
  6667. | struct timespec64 *
  6668. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  6669. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6670. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6671. | ~~~~~~~~~~~~~~~~~~~^~
  6672. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  6673. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6674. 185 | ktime_get_raw_ts64(&tm_aux);
  6675. | ^~~~~~~
  6676. | |
  6677. | struct timespec64 *
  6678. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6679. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6680. | ~~~~~~~~~~~~~~~~~~~^~
  6681. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6682. 221 | ktime_get_raw_ts64(&tm_aux);
  6683. | ^~~~~~~
  6684. | |
  6685. | struct timespec64 *
  6686. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6687. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6688. | ~~~~~~~~~~~~~~~~~~~^~
  6689. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  6690. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  6691. 502 | NV_MEMDBG_ADD(ptr, size);
  6692. | ^
  6693. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  6694. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  6695. 502 | NV_MEMDBG_ADD(ptr, size);
  6696. | ^
  6697. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_shash.o] Error 1
  6698. In file included from ././common/inc/nv-linux.h:34,
  6699. from nvidia/nv-frontend.c:25:
  6700. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  6701. 29 | typedef int vm_fault_t;
  6702. | ^~~~~~~~~~
  6703. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  6704. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  6705. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  6706. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  6707. from ././common/inc/nv-lock.h:35,
  6708. from ././common/inc/nv-linux.h:32:
  6709. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  6710. 1311 | typedef __bitwise unsigned int vm_fault_t;
  6711. | ^~~~~~~~~~
  6712. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  6713. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  6714. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  6715. from ././common/inc/nv-lock.h:29:
  6716. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  6717. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6718. 52 | #define current get_current()
  6719. | ^~~~~~~~~~~~~
  6720. | |
  6721. | struct task_struct *
  6722. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  6723. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6724. | ^~~~~~~
  6725. In file included from ././common/inc/nv-pgprot.h:30,
  6726. from ././common/inc/nv-linux.h:33:
  6727. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  6728. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6729. | ~~~~~~~~~~~~~~^~~~~
  6730. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6731. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6732. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  6733. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6734. | ~~~~~~~~~~~~~~^~~~~~~~
  6735. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  6736. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6737. | ^~~~~~~~
  6738. | |
  6739. | long unsigned int
  6740. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6741. 2535 | unsigned int gup_flags, struct page **pages);
  6742. | ~~~~~~~~~~~~~~^~~~~
  6743. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6744. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6745. | ^~~~~~~~~~~~~~ ~~~~~
  6746. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6747. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6748. | ^~~~~~~~~~~~~~
  6749. In file included from ././common/inc/nv.h:35,
  6750. from ././common/inc/nv-linux.h:28:
  6751. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  6752. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6753. 8 | #define NULL ((void *)0)
  6754. | ^~~~~~~~~~~
  6755. | |
  6756. | void *
  6757. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  6758. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6759. | ^~~~
  6760. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  6761. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6762. | ~~~~~~~~~~~~~~^~~~~
  6763. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6764. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6765. | ^~
  6766. | |
  6767. | struct mm_struct *
  6768. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  6769. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6770. | ~~~~~~~~~~~~~~^~~~~~~~
  6771. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  6772. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6773. | ^~~~~~~~
  6774. | |
  6775. | long unsigned int
  6776. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6777. 2535 | unsigned int gup_flags, struct page **pages);
  6778. | ~~~~~~~~~~~~~~^~~~~
  6779. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6780. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6781. | ^~~~~~~~~~~~~~ ~~~~~
  6782. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6783. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6784. | ^~~~~~~~~~~~~~
  6785. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  6786. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  6787. 237 | return (unsigned long)(vmf->virtual_address);
  6788. | ^~~~~~~~~~~~~~~
  6789. | real_address
  6790. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  6791. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6792. 246 | down_read(&mm->mmap_sem);
  6793. | ^~~~~~~~
  6794. | mmap_base
  6795. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  6796. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6797. 255 | up_read(&mm->mmap_sem);
  6798. | ^~~~~~~~
  6799. | mmap_base
  6800. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  6801. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6802. 264 | down_write(&mm->mmap_sem);
  6803. | ^~~~~~~~
  6804. | mmap_base
  6805. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  6806. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6807. 273 | up_write(&mm->mmap_sem);
  6808. | ^~~~~~~~
  6809. | mmap_base
  6810. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  6811. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6812. 282 | return rwsem_is_locked(&mm->mmap_sem);
  6813. | ^~~~~~~~
  6814. | mmap_base
  6815. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  6816. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6817. 291 | return &mm->mmap_sem;
  6818. | ^~~~~~~~
  6819. | mmap_base
  6820. CC [M] nvidia/libspdm_ec.o
  6821. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  6822. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  6823. 300 | vma->vm_flags |= flags;
  6824. | ^~
  6825. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  6826. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  6827. 309 | vma->vm_flags &= ~flags;
  6828. | ^~
  6829. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  6830. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  6831. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  6832. | ^~~~~~~~~~~~~~~~~~~~~~~
  6833. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  6834. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  6835. 520 | NV_MEMDBG_ADD(ptr, size);
  6836. | ^
  6837. CC [M] nvidia/libspdm_x509.o
  6838. In file included from ././common/inc/nv-linux.h:37:
  6839. ././common/inc/nv-time.h: At top level:
  6840. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  6841. 40 | struct timespec64 {
  6842. | ^~~~~~~~~~
  6843. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  6844. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  6845. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  6846. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  6847. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  6848. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  6849. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  6850. 13 | struct timespec64 {
  6851. | ^~~~~~~~~~
  6852. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6853. 77 | static inline struct timespec64 timespec64_add
  6854. | ^~~~~~~~~~~~~~
  6855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6856. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  6857. | ^~~~~~~~~~~~~~
  6858. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  6859. 95 | static inline struct timespec64 timespec64_sub
  6860. | ^~~~~~~~~~~~~~
  6861. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  6862. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  6863. | ^~~~~~~~~~~~~~
  6864. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  6865. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  6866. | ^~~~~~~~~~~~~~~~
  6867. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  6868. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  6869. | ^~~~~~~~~~~~~~~~
  6870. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  6871. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6872. 122 | ktime_get_raw_ts64(&ts);
  6873. | ^~~
  6874. | |
  6875. | struct timespec64 *
  6876. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  6877. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6878. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6879. | ~~~~~~~~~~~~~~~~~~~^~
  6880. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  6881. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6882. 185 | ktime_get_raw_ts64(&tm_aux);
  6883. | ^~~~~~~
  6884. | |
  6885. | struct timespec64 *
  6886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6887. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6888. | ~~~~~~~~~~~~~~~~~~~^~
  6889. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  6890. 221 | ktime_get_raw_ts64(&tm_aux);
  6891. | ^~~~~~~
  6892. | |
  6893. | struct timespec64 *
  6894. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  6895. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  6896. | ~~~~~~~~~~~~~~~~~~~^~
  6897. In file included from ././common/inc/nv-linux.h:34:
  6898. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  6899. 29 | typedef int vm_fault_t;
  6900. | ^~~~~~~~~~
  6901. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  6902. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  6903. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  6904. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  6905. from ././common/inc/nv-lock.h:35,
  6906. from ././common/inc/nv-linux.h:32:
  6907. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  6908. 1311 | typedef __bitwise unsigned int vm_fault_t;
  6909. | ^~~~~~~~~~
  6910. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  6911. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  6912. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  6913. from ././common/inc/nv-lock.h:29:
  6914. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  6915. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6916. 52 | #define current get_current()
  6917. | ^~~~~~~~~~~~~
  6918. | |
  6919. | struct task_struct *
  6920. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  6921. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6922. | ^~~~~~~
  6923. In file included from ././common/inc/nv-pgprot.h:30,
  6924. from ././common/inc/nv-linux.h:33:
  6925. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  6926. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6927. | ~~~~~~~~~~~~~~^~~~~
  6928. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6929. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6930. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  6931. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6932. | ~~~~~~~~~~~~~~^~~~~~~~
  6933. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  6934. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6935. | ^~~~~~~~
  6936. | |
  6937. | long unsigned int
  6938. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6939. 2535 | unsigned int gup_flags, struct page **pages);
  6940. | ~~~~~~~~~~~~~~^~~~~
  6941. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6942. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  6943. | ^~~~~~~~~~~~~~ ~~~~~
  6944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6945. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6946. | ^~~~~~~~~~~~~~
  6947. In file included from ././common/inc/nv.h:35:
  6948. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  6949. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6950. 8 | #define NULL ((void *)0)
  6951. | ^~~~~~~~~~~
  6952. | |
  6953. | void *
  6954. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  6955. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6956. | ^~~~
  6957. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  6958. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6959. | ~~~~~~~~~~~~~~^~~~~
  6960. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  6961. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6962. | ^~
  6963. | |
  6964. | struct mm_struct *
  6965. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  6966. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6967. | ~~~~~~~~~~~~~~^~~~~~~~
  6968. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  6969. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6970. | ^~~~~~~~
  6971. | |
  6972. | long unsigned int
  6973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  6974. 2535 | unsigned int gup_flags, struct page **pages);
  6975. | ~~~~~~~~~~~~~~^~~~~
  6976. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  6977. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  6978. | ^~~~~~~~~~~~~~ ~~~~~
  6979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  6980. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  6981. | ^~~~~~~~~~~~~~
  6982. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  6983. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  6984. 237 | return (unsigned long)(vmf->virtual_address);
  6985. | ^~~~~~~~~~~~~~~
  6986. | real_address
  6987. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  6988. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6989. 246 | down_read(&mm->mmap_sem);
  6990. | ^~~~~~~~
  6991. | mmap_base
  6992. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  6993. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6994. 255 | up_read(&mm->mmap_sem);
  6995. | ^~~~~~~~
  6996. | mmap_base
  6997. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  6998. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  6999. 264 | down_write(&mm->mmap_sem);
  7000. | ^~~~~~~~
  7001. | mmap_base
  7002. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  7003. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7004. 273 | up_write(&mm->mmap_sem);
  7005. | ^~~~~~~~
  7006. | mmap_base
  7007. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  7008. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7009. 282 | return rwsem_is_locked(&mm->mmap_sem);
  7010. | ^~~~~~~~
  7011. | mmap_base
  7012. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  7013. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7014. 291 | return &mm->mmap_sem;
  7015. | ^~~~~~~~
  7016. | mmap_base
  7017. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  7018. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  7019. 300 | vma->vm_flags |= flags;
  7020. | ^~
  7021. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  7022. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  7023. 309 | vma->vm_flags &= ~flags;
  7024. | ^~
  7025. CC [M] nvidia/nvlink_linux.o
  7026. In file included from ././common/inc/nv-linux.h:37:
  7027. ././common/inc/nv-time.h: At top level:
  7028. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  7029. 40 | struct timespec64 {
  7030. | ^~~~~~~~~~
  7031. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  7032. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  7033. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  7034. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  7035. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  7036. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  7037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  7038. 13 | struct timespec64 {
  7039. | ^~~~~~~~~~
  7040. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  7041. 77 | static inline struct timespec64 timespec64_add
  7042. | ^~~~~~~~~~~~~~
  7043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  7044. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  7045. | ^~~~~~~~~~~~~~
  7046. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  7047. 95 | static inline struct timespec64 timespec64_sub
  7048. | ^~~~~~~~~~~~~~
  7049. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  7050. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  7051. | ^~~~~~~~~~~~~~
  7052. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  7053. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  7054. | ^~~~~~~~~~~~~~~~
  7055. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  7056. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  7057. | ^~~~~~~~~~~~~~~~
  7058. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  7059. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  7060. 122 | ktime_get_raw_ts64(&ts);
  7061. | ^~~
  7062. | |
  7063. | struct timespec64 *
  7064. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  7065. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  7066. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  7067. | ~~~~~~~~~~~~~~~~~~~^~
  7068. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7069. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7070. 502 | NV_MEMDBG_ADD(ptr, size);
  7071. | ^
  7072. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  7073. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  7074. 185 | ktime_get_raw_ts64(&tm_aux);
  7075. | ^~~~~~~
  7076. | |
  7077. | struct timespec64 *
  7078. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  7079. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  7080. | ~~~~~~~~~~~~~~~~~~~^~
  7081. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  7082. 221 | ktime_get_raw_ts64(&tm_aux);
  7083. | ^~~~~~~
  7084. | |
  7085. | struct timespec64 *
  7086. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  7087. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  7088. | ~~~~~~~~~~~~~~~~~~~^~
  7089. CC [M] nvidia/nvlink_caps.o
  7090. In file included from ././common/inc/nv-linux.h:34:
  7091. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  7092. 29 | typedef int vm_fault_t;
  7093. | ^~~~~~~~~~
  7094. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  7095. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  7096. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  7097. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  7098. from ././common/inc/nv-lock.h:35,
  7099. from ././common/inc/nv-linux.h:32:
  7100. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  7101. 1311 | typedef __bitwise unsigned int vm_fault_t;
  7102. | ^~~~~~~~~~
  7103. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  7104. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  7105. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  7106. from ././common/inc/nv-lock.h:29:
  7107. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  7108. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  7109. 52 | #define current get_current()
  7110. | ^~~~~~~~~~~~~
  7111. | |
  7112. | struct task_struct *
  7113. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  7114. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  7115. | ^~~~~~~
  7116. In file included from ././common/inc/nv-pgprot.h:30,
  7117. from ././common/inc/nv-linux.h:33:
  7118. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  7119. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7120. | ~~~~~~~~~~~~~~^~~~~
  7121. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  7122. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  7123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  7124. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7125. | ~~~~~~~~~~~~~~^~~~~~~~
  7126. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  7127. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  7128. | ^~~~~~~~
  7129. | |
  7130. | long unsigned int
  7131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  7132. 2535 | unsigned int gup_flags, struct page **pages);
  7133. | ~~~~~~~~~~~~~~^~~~~
  7134. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  7135. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  7136. | ^~~~~~~~~~~~~~ ~~~~~
  7137. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  7138. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7139. | ^~~~~~~~~~~~~~
  7140. In file included from ././common/inc/nv.h:35:
  7141. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  7142. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  7143. 8 | #define NULL ((void *)0)
  7144. | ^~~~~~~~~~~
  7145. | |
  7146. | void *
  7147. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  7148. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  7149. | ^~~~
  7150. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  7151. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7152. | ~~~~~~~~~~~~~~^~~~~
  7153. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  7154. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  7155. | ^~
  7156. | |
  7157. | struct mm_struct *
  7158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  7159. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7160. | ~~~~~~~~~~~~~~^~~~~~~~
  7161. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  7162. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  7163. | ^~~~~~~~
  7164. | |
  7165. | long unsigned int
  7166. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  7167. 2535 | unsigned int gup_flags, struct page **pages);
  7168. | ~~~~~~~~~~~~~~^~~~~
  7169. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  7170. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  7171. | ^~~~~~~~~~~~~~ ~~~~~
  7172. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  7173. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7174. | ^~~~~~~~~~~~~~
  7175. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  7176. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  7177. 237 | return (unsigned long)(vmf->virtual_address);
  7178. | ^~~~~~~~~~~~~~~
  7179. | real_address
  7180. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  7181. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7182. 246 | down_read(&mm->mmap_sem);
  7183. | ^~~~~~~~
  7184. | mmap_base
  7185. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  7186. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7187. 255 | up_read(&mm->mmap_sem);
  7188. | ^~~~~~~~
  7189. | mmap_base
  7190. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  7191. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7192. 264 | down_write(&mm->mmap_sem);
  7193. | ^~~~~~~~
  7194. | mmap_base
  7195. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  7196. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7197. 273 | up_write(&mm->mmap_sem);
  7198. | ^~~~~~~~
  7199. | mmap_base
  7200. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  7201. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7202. 282 | return rwsem_is_locked(&mm->mmap_sem);
  7203. | ^~~~~~~~
  7204. | mmap_base
  7205. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  7206. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7207. 291 | return &mm->mmap_sem;
  7208. | ^~~~~~~~
  7209. | mmap_base
  7210. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  7211. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  7212. 300 | vma->vm_flags |= flags;
  7213. | ^~
  7214. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  7215. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  7216. 309 | vma->vm_flags &= ~flags;
  7217. | ^~
  7218. CC [M] nvidia/linux_nvswitch.o
  7219. In file included from ././common/inc/conftest.h:28,
  7220. from nvidia/nvlink_linux.c:24:
  7221. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  7222. 74 | #error dma_buf_export() conftest failed!
  7223. | ^~~~~
  7224. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  7225. 87 | #error wait_on_bit_lock() conftest failed!
  7226. | ^~~~~
  7227. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  7228. 90 | #error radix_tree_replace_slot() conftest failed!
  7229. | ^~~~~
  7230. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7231. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7232. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7233. | ^~~~~~~~~~~~~~~~~~~~~~~
  7234. In file included from ././common/inc/nv-linux.h:34,
  7235. from nvidia/nv_uvm_interface.c:33:
  7236. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  7237. 29 | typedef int vm_fault_t;
  7238. | ^~~~~~~~~~
  7239. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  7240. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  7241. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  7242. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  7243. from ././common/inc/nv-lock.h:35,
  7244. from ././common/inc/nv-linux.h:32:
  7245. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  7246. 1311 | typedef __bitwise unsigned int vm_fault_t;
  7247. | ^~~~~~~~~~
  7248. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  7249. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  7250. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  7251. from ././common/inc/nv-lock.h:29:
  7252. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  7253. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7254. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7255. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7256. | ^~~~~~~~~~~~~~~~~~~~~~~
  7257. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  7258. 52 | #define current get_current()
  7259. | ^~~~~~~~~~~~~
  7260. | |
  7261. | struct task_struct *
  7262. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  7263. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  7264. | ^~~~~~~
  7265. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7266. In file included from ././common/inc/nv-pgprot.h:30,
  7267. from ././common/inc/nv-linux.h:33:
  7268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  7269. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7270. | ~~~~~~~~~~~~~~^~~~~
  7271. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7272. 520 | NV_MEMDBG_ADD(ptr, size);
  7273. | ^
  7274. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  7275. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  7276. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  7277. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7278. | ~~~~~~~~~~~~~~^~~~~~~~
  7279. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7280. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  7281. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  7282. | ^~~~~~~~
  7283. | |
  7284. | long unsigned int
  7285. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7286. 520 | NV_MEMDBG_ADD(ptr, size);
  7287. | ^
  7288. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  7289. 2535 | unsigned int gup_flags, struct page **pages);
  7290. | ~~~~~~~~~~~~~~^~~~~
  7291. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  7292. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  7293. | ^~~~~~~~~~~~~~ ~~~~~
  7294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  7295. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7296. | ^~~~~~~~~~~~~~
  7297. In file included from ././common/inc/nv.h:35,
  7298. from ././common/inc/nv-linux.h:28:
  7299. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  7300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  7301. 8 | #define NULL ((void *)0)
  7302. | ^~~~~~~~~~~
  7303. | |
  7304. | void *
  7305. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  7306. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  7307. | ^~~~
  7308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  7309. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7310. | ~~~~~~~~~~~~~~^~~~~
  7311. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  7312. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  7313. | ^~
  7314. | |
  7315. | struct mm_struct *
  7316. In file included from ././common/inc/nv-linux.h:37:
  7317. ././common/inc/nv-time.h: At top level:
  7318. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  7319. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7320. | ~~~~~~~~~~~~~~^~~~~~~~
  7321. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  7322. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  7323. | ^~~~~~~~
  7324. | |
  7325. | long unsigned int
  7326. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  7327. 40 | struct timespec64 {
  7328. | ^~~~~~~~~~
  7329. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  7330. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  7331. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  7332. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  7333. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  7334. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  7335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  7336. 13 | struct timespec64 {
  7337. | ^~~~~~~~~~
  7338. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  7339. 2535 | unsigned int gup_flags, struct page **pages);
  7340. | ~~~~~~~~~~~~~~^~~~~
  7341. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  7342. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  7343. | ^~~~~~~~~~~~~~ ~~~~~
  7344. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  7345. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  7346. | ^~~~~~~~~~~~~~
  7347. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  7348. 77 | static inline struct timespec64 timespec64_add
  7349. | ^~~~~~~~~~~~~~
  7350. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  7351. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  7352. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  7353. | ^~~~~~~~~~~~~~
  7354. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  7355. 237 | return (unsigned long)(vmf->virtual_address);
  7356. | ^~~~~~~~~~~~~~~
  7357. | real_address
  7358. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  7359. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7360. 246 | down_read(&mm->mmap_sem);
  7361. | ^~~~~~~~
  7362. | mmap_base
  7363. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  7364. 95 | static inline struct timespec64 timespec64_sub
  7365. | ^~~~~~~~~~~~~~
  7366. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  7367. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  7368. | ^~~~~~~~~~~~~~
  7369. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  7370. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7371. 255 | up_read(&mm->mmap_sem);
  7372. | ^~~~~~~~
  7373. | mmap_base
  7374. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  7375. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  7376. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  7377. | ^~~~~~~~~~~~~~~~
  7378. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7379. 264 | down_write(&mm->mmap_sem);
  7380. | ^~~~~~~~
  7381. | mmap_base
  7382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  7383. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  7384. | ^~~~~~~~~~~~~~~~
  7385. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  7386. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7387. 273 | up_write(&mm->mmap_sem);
  7388. | ^~~~~~~~
  7389. | mmap_base
  7390. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  7391. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  7392. 122 | ktime_get_raw_ts64(&ts);
  7393. | ^~~
  7394. | |
  7395. | struct timespec64 *
  7396. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  7397. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7398. 282 | return rwsem_is_locked(&mm->mmap_sem);
  7399. | ^~~~~~~~
  7400. | mmap_base
  7401. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  7402. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  7403. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  7404. | ~~~~~~~~~~~~~~~~~~~^~
  7405. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  7406. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  7407. 291 | return &mm->mmap_sem;
  7408. | ^~~~~~~~
  7409. | mmap_base
  7410. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  7411. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  7412. 300 | vma->vm_flags |= flags;
  7413. | ^~
  7414. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  7415. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  7416. 309 | vma->vm_flags &= ~flags;
  7417. | ^~
  7418. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  7419. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  7420. 185 | ktime_get_raw_ts64(&tm_aux);
  7421. | ^~~~~~~
  7422. | |
  7423. | struct timespec64 *
  7424. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  7425. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  7426. | ~~~~~~~~~~~~~~~~~~~^~
  7427. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7428. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7429. 502 | NV_MEMDBG_ADD(ptr, size);
  7430. | ^
  7431. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  7432. 221 | ktime_get_raw_ts64(&tm_aux);
  7433. | ^~~~~~~
  7434. | |
  7435. | struct timespec64 *
  7436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  7437. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  7438. | ~~~~~~~~~~~~~~~~~~~^~
  7439. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7440. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7441. 533 | ptr = ioremap_cache_shared(phys, size);
  7442. | ^~~~~~~~~~~~~~~~~~~~
  7443. | ioremap_cache
  7444. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7445. 533 | ptr = ioremap_cache_shared(phys, size);
  7446. | ^
  7447. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7448. 556 | NV_MEMDBG_ADD(ptr, size);
  7449. | ^
  7450. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7451. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7452. 502 | NV_MEMDBG_ADD(ptr, size);
  7453. | ^
  7454. In file included from ././common/inc/nv-linux.h:37:
  7455. ././common/inc/nv-time.h: At top level:
  7456. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  7457. 40 | struct timespec64 {
  7458. | ^~~~~~~~~~
  7459. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  7460. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  7461. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  7462. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  7463. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  7464. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  7465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  7466. 13 | struct timespec64 {
  7467. | ^~~~~~~~~~
  7468. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  7469. 77 | static inline struct timespec64 timespec64_add
  7470. | ^~~~~~~~~~~~~~
  7471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  7472. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  7473. | ^~~~~~~~~~~~~~
  7474. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  7475. 95 | static inline struct timespec64 timespec64_sub
  7476. | ^~~~~~~~~~~~~~
  7477. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  7478. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  7479. | ^~~~~~~~~~~~~~
  7480. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  7481. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  7482. | ^~~~~~~~~~~~~~~~
  7483. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  7484. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  7485. | ^~~~~~~~~~~~~~~~
  7486. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  7487. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  7488. 122 | ktime_get_raw_ts64(&ts);
  7489. | ^~~
  7490. | |
  7491. | struct timespec64 *
  7492. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  7493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  7494. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  7495. | ~~~~~~~~~~~~~~~~~~~^~
  7496. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  7497. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  7498. 185 | ktime_get_raw_ts64(&tm_aux);
  7499. | ^~~~~~~
  7500. | |
  7501. | struct timespec64 *
  7502. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  7503. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  7504. | ~~~~~~~~~~~~~~~~~~~^~
  7505. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  7506. 221 | ktime_get_raw_ts64(&tm_aux);
  7507. | ^~~~~~~
  7508. | |
  7509. | struct timespec64 *
  7510. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  7511. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  7512. | ~~~~~~~~~~~~~~~~~~~^~
  7513. In file included from ././common/inc/conftest.h:28,
  7514. from ././common/inc/nv_stdarg.h:29,
  7515. from ././common/inc/nv.h:41,
  7516. from ././common/inc/nv-linux.h:28,
  7517. from nvidia/linux_nvswitch.h:28,
  7518. from nvidia/linux_nvswitch.c:24:
  7519. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  7520. 74 | #error dma_buf_export() conftest failed!
  7521. | ^~~~~
  7522. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  7523. 87 | #error wait_on_bit_lock() conftest failed!
  7524. | ^~~~~
  7525. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  7526. 90 | #error radix_tree_replace_slot() conftest failed!
  7527. | ^~~~~
  7528. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7529. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7530. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7531. | ^~~~~~~~~~~~~~~~~~~~~~~
  7532. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7533. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7534. 520 | NV_MEMDBG_ADD(ptr, size);
  7535. | ^
  7536. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7537. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7538. 533 | ptr = ioremap_cache_shared(phys, size);
  7539. | ^~~~~~~~~~~~~~~~~~~~
  7540. | ioremap_cache
  7541. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7542. 533 | ptr = ioremap_cache_shared(phys, size);
  7543. | ^
  7544. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7545. 556 | NV_MEMDBG_ADD(ptr, size);
  7546. | ^
  7547. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7548. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7549. 502 | NV_MEMDBG_ADD(ptr, size);
  7550. | ^
  7551. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7552. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7553. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7554. | ^~~~~~~~~~~~~~~~~~~~~~~
  7555. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7556. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7557. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7558. 533 | ptr = ioremap_cache_shared(phys, size);
  7559. | ^~~~~~~~~~~~~~~~~~~~
  7560. | ioremap_cache
  7561. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7562. 533 | ptr = ioremap_cache_shared(phys, size);
  7563. | ^
  7564. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7565. 556 | NV_MEMDBG_ADD(ptr, size);
  7566. | ^
  7567. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7568. 520 | NV_MEMDBG_ADD(ptr, size);
  7569. | ^
  7570. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7571. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7572. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7573. | ^~~~~~~~~~~~~~~~~~~~~~~
  7574. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7575. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7576. 520 | NV_MEMDBG_ADD(ptr, size);
  7577. | ^
  7578. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  7579. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  7580. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7581. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  7582. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7583. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7584. | ^
  7585. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7586. 573 | NV_MEMDBG_ADD(ptr, size);
  7587. | ^
  7588. ././common/inc/nv-linux.h: In function 'nv_vmap':
  7589. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7590. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  7591. | ^
  7592. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7593. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7594. 502 | NV_MEMDBG_ADD(ptr, size);
  7595. | ^
  7596. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7597. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7598. 533 | ptr = ioremap_cache_shared(phys, size);
  7599. | ^~~~~~~~~~~~~~~~~~~~
  7600. | ioremap_cache
  7601. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7602. 533 | ptr = ioremap_cache_shared(phys, size);
  7603. | ^
  7604. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7605. 556 | NV_MEMDBG_ADD(ptr, size);
  7606. | ^
  7607. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  7608. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  7609. 736 | return phys_to_dma(dev, pa);
  7610. | ^~~~~~~~~~~
  7611. | nv_phys_to_dma
  7612. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  7613. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  7614. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  7615. | ^~~~~~~~~~~~~
  7616. | d_is_dir
  7617. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7618. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7619. 502 | NV_MEMDBG_ADD(ptr, size);
  7620. | ^
  7621. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  7622. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  7623. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7624. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  7625. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7626. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7627. | ^
  7628. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7629. 573 | NV_MEMDBG_ADD(ptr, size);
  7630. | ^
  7631. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7632. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7633. 533 | ptr = ioremap_cache_shared(phys, size);
  7634. | ^~~~~~~~~~~~~~~~~~~~
  7635. | ioremap_cache
  7636. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7637. 533 | ptr = ioremap_cache_shared(phys, size);
  7638. | ^
  7639. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7640. 556 | NV_MEMDBG_ADD(ptr, size);
  7641. | ^
  7642. ././common/inc/nv-linux.h: In function 'nv_vmap':
  7643. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7644. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  7645. | ^
  7646. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7647. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7648. 533 | ptr = ioremap_cache_shared(phys, size);
  7649. | ^~~~~~~~~~~~~~~~~~~~
  7650. | ioremap_cache
  7651. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7652. 533 | ptr = ioremap_cache_shared(phys, size);
  7653. | ^
  7654. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7655. 556 | NV_MEMDBG_ADD(ptr, size);
  7656. | ^
  7657. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7658. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7659. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7660. | ^~~~~~~~~~~~~~~~~~~~~~~
  7661. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7662. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7663. 520 | NV_MEMDBG_ADD(ptr, size);
  7664. | ^
  7665. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  7666. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  7667. 736 | return phys_to_dma(dev, pa);
  7668. | ^~~~~~~~~~~
  7669. | nv_phys_to_dma
  7670. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  7671. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  7672. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7673. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  7674. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7675. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7676. | ^
  7677. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7678. 573 | NV_MEMDBG_ADD(ptr, size);
  7679. | ^
  7680. ././common/inc/nv-linux.h: In function 'nv_vmap':
  7681. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7682. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  7683. | ^
  7684. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7685. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7686. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7687. | ^~~~~~~~~~~~~~~~~~~~~~~
  7688. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7689. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7690. 520 | NV_MEMDBG_ADD(ptr, size);
  7691. | ^
  7692. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7693. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7694. 502 | NV_MEMDBG_ADD(ptr, size);
  7695. | ^
  7696. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  7697. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  7698. 736 | return phys_to_dma(dev, pa);
  7699. | ^~~~~~~~~~~
  7700. | nv_phys_to_dma
  7701. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  7702. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  7703. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7704. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  7705. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7706. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7707. | ^
  7708. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7709. 573 | NV_MEMDBG_ADD(ptr, size);
  7710. | ^
  7711. ././common/inc/nv-linux.h: In function 'nv_vmap':
  7712. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7713. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  7714. | ^
  7715. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  7716. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  7717. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  7718. | ^~~~~~~~~~~~~
  7719. | d_is_dir
  7720. nvidia/os-mlock.c: In function 'nv_follow_pfn':
  7721. nvidia/os-mlock.c:34:12: error: implicit declaration of function 'unsafe_follow_pfn'; did you mean 'nv_follow_pfn'? [-Wimplicit-function-declaration]
  7722. 34 | return unsafe_follow_pfn(vma, address, pfn);
  7723. | ^~~~~~~~~~~~~~~~~
  7724. | nv_follow_pfn
  7725. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  7726. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  7727. 736 | return phys_to_dma(dev, pa);
  7728. | ^~~~~~~~~~~
  7729. | nv_phys_to_dma
  7730. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  7731. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  7732. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  7733. | ^~~~~~~~~~~~~
  7734. | d_is_dir
  7735. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7736. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7737. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7738. | ^~~~~~~~~~~~~~~~~~~~~~~
  7739. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7740. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7741. 520 | NV_MEMDBG_ADD(ptr, size);
  7742. | ^
  7743. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-mlock.o] Error 1
  7744. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7745. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7746. 502 | NV_MEMDBG_ADD(ptr, size);
  7747. | ^
  7748. CC [M] nvidia/procfs_nvswitch.o
  7749. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7750. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7751. 533 | ptr = ioremap_cache_shared(phys, size);
  7752. | ^~~~~~~~~~~~~~~~~~~~
  7753. | ioremap_cache
  7754. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7755. 533 | ptr = ioremap_cache_shared(phys, size);
  7756. | ^
  7757. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7758. 556 | NV_MEMDBG_ADD(ptr, size);
  7759. | ^
  7760. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  7761. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  7762. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7763. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  7764. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7765. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7766. | ^
  7767. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7768. 573 | NV_MEMDBG_ADD(ptr, size);
  7769. | ^
  7770. ././common/inc/nv-linux.h: In function 'nv_vmap':
  7771. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7772. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  7773. | ^
  7774. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  7775. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  7776. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  7777. | ^~~~~~~~~~~~~
  7778. | d_is_dir
  7779. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  7780. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  7781. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7782. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  7783. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7784. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7785. | ^
  7786. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7787. 573 | NV_MEMDBG_ADD(ptr, size);
  7788. | ^
  7789. ././common/inc/nv-linux.h: In function 'nv_vmap':
  7790. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7791. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  7792. | ^
  7793. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-pci.o] Error 1
  7794. CC [M] nvidia/i2c_nvswitch.o
  7795. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7796. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7797. 533 | ptr = ioremap_cache_shared(phys, size);
  7798. | ^~~~~~~~~~~~~~~~~~~~
  7799. | ioremap_cache
  7800. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7801. 533 | ptr = ioremap_cache_shared(phys, size);
  7802. | ^
  7803. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7804. 556 | NV_MEMDBG_ADD(ptr, size);
  7805. | ^
  7806. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  7807. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  7808. 736 | return phys_to_dma(dev, pa);
  7809. | ^~~~~~~~~~~
  7810. | nv_phys_to_dma
  7811. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  7812. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  7813. 736 | return phys_to_dma(dev, pa);
  7814. | ^~~~~~~~~~~
  7815. | nv_phys_to_dma
  7816. In file included from ././common/inc/conftest.h:28,
  7817. from ././common/inc/nv_stdarg.h:29,
  7818. from ././common/inc/nv.h:41,
  7819. from ././common/inc/nv-linux.h:28,
  7820. from nvidia/linux_nvswitch.h:28,
  7821. from nvidia/procfs_nvswitch.c:24:
  7822. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  7823. 74 | #error dma_buf_export() conftest failed!
  7824. | ^~~~~
  7825. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  7826. 87 | #error wait_on_bit_lock() conftest failed!
  7827. | ^~~~~
  7828. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  7829. 90 | #error radix_tree_replace_slot() conftest failed!
  7830. | ^~~~~
  7831. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7832. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7833. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7834. | ^~~~~~~~~~~~~~~~~~~~~~~
  7835. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7836. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7837. 520 | NV_MEMDBG_ADD(ptr, size);
  7838. | ^
  7839. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7840. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7841. 502 | NV_MEMDBG_ADD(ptr, size);
  7842. | ^
  7843. In file included from ././common/inc/conftest.h:28,
  7844. from ././common/inc/nv_stdarg.h:29,
  7845. from ././common/inc/nv.h:41,
  7846. from ././common/inc/nv-linux.h:28,
  7847. from nvidia/linux_nvswitch.h:28,
  7848. from nvidia/i2c_nvswitch.c:24:
  7849. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  7850. 74 | #error dma_buf_export() conftest failed!
  7851. | ^~~~~
  7852. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  7853. 87 | #error wait_on_bit_lock() conftest failed!
  7854. | ^~~~~
  7855. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  7856. 90 | #error radix_tree_replace_slot() conftest failed!
  7857. | ^~~~~
  7858. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  7859. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7860. 502 | NV_MEMDBG_ADD(ptr, size);
  7861. | ^
  7862. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-registry.o] Error 1
  7863. CC [M] nvidia-uvm/uvm_ats_sva.o
  7864. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-modeset-interface.o] Error 1
  7865. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  7866. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  7867. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  7868. | ^~~~~~~~~~~~~
  7869. | d_is_dir
  7870. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7871. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7872. 533 | ptr = ioremap_cache_shared(phys, size);
  7873. | ^~~~~~~~~~~~~~~~~~~~
  7874. | ioremap_cache
  7875. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7876. 533 | ptr = ioremap_cache_shared(phys, size);
  7877. | ^
  7878. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7879. 556 | NV_MEMDBG_ADD(ptr, size);
  7880. | ^
  7881. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  7882. CC [M] nvidia-uvm/uvm_conf_computing.o
  7883. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  7884. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  7885. | ^~~~~~~~~~~~~
  7886. | d_is_dir
  7887. In file included from ././common/inc/conftest.h:28,
  7888. from ././common/inc/nv-time.h:27,
  7889. from nvidia-uvm/uvm_linux.h:37,
  7890. from nvidia-uvm/uvm_gpu.h:31,
  7891. from nvidia-uvm/uvm_ats_sva.h:27,
  7892. from nvidia-uvm/uvm_ats_sva.c:24:
  7893. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  7894. 74 | #error dma_buf_export() conftest failed!
  7895. | ^~~~~
  7896. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  7897. 87 | #error wait_on_bit_lock() conftest failed!
  7898. | ^~~~~
  7899. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  7900. 90 | #error radix_tree_replace_slot() conftest failed!
  7901. | ^~~~~
  7902. In file included from ././common/inc/conftest.h:28,
  7903. from ././common/inc/nv-time.h:27,
  7904. from nvidia-uvm/uvm_linux.h:37,
  7905. from nvidia-uvm/uvm_common.h:43,
  7906. from nvidia-uvm/uvm_conf_computing.c:24:
  7907. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  7908. 74 | #error dma_buf_export() conftest failed!
  7909. | ^~~~~
  7910. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  7911. 87 | #error wait_on_bit_lock() conftest failed!
  7912. | ^~~~~
  7913. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7914. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  7915. 90 | #error radix_tree_replace_slot() conftest failed!
  7916. | ^~~~~
  7917. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7918. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7919. | ^~~~~~~~~~~~~~~~~~~~~~~
  7920. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7921. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7922. 520 | NV_MEMDBG_ADD(ptr, size);
  7923. | ^
  7924. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  7925. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-report-err.o] Error 1
  7926. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  7927. 533 | ptr = ioremap_cache_shared(phys, size);
  7928. | ^~~~~~~~~~~~~~~~~~~~
  7929. | ioremap_cache
  7930. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7931. 533 | ptr = ioremap_cache_shared(phys, size);
  7932. | ^
  7933. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7934. 556 | NV_MEMDBG_ADD(ptr, size);
  7935. | ^
  7936. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  7937. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  7938. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7939. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  7940. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7941. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7942. | ^
  7943. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7944. 573 | NV_MEMDBG_ADD(ptr, size);
  7945. | ^
  7946. ././common/inc/nv-linux.h: In function 'nv_vmap':
  7947. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7948. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  7949. | ^
  7950. CC [M] nvidia-uvm/uvm_sec2_test.o
  7951. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-memdbg.o] Error 1
  7952. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  7953. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  7954. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7955. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  7956. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7957. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  7958. | ^
  7959. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7960. 573 | NV_MEMDBG_ADD(ptr, size);
  7961. | ^
  7962. ././common/inc/nv-linux.h: In function 'nv_vmap':
  7963. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7964. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  7965. | ^
  7966. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7967. CC [M] nvidia-uvm/uvm_maxwell_sec2.o
  7968. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7969. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7970. | ^~~~~~~~~~~~~~~~~~~~~~~
  7971. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7972. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7973. 520 | NV_MEMDBG_ADD(ptr, size);
  7974. | ^
  7975. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  7976. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  7977. 736 | return phys_to_dma(dev, pa);
  7978. | ^~~~~~~~~~~
  7979. | nv_phys_to_dma
  7980. In file included from ././common/inc/conftest.h:28,
  7981. from ././common/inc/nv-time.h:27,
  7982. from ././nvidia-uvm/uvm_linux.h:37,
  7983. from ././nvidia-uvm/uvm_common.h:43,
  7984. from nvidia-uvm/uvm_sec2_test.c:24:
  7985. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  7986. 74 | #error dma_buf_export() conftest failed!
  7987. | ^~~~~
  7988. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  7989. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  7990. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  7991. | ^~~~~~~~~~~~~~~~~~~~~~~
  7992. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  7993. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  7994. 520 | NV_MEMDBG_ADD(ptr, size);
  7995. | ^
  7996. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  7997. 87 | #error wait_on_bit_lock() conftest failed!
  7998. | ^~~~~
  7999. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  8000. 90 | #error radix_tree_replace_slot() conftest failed!
  8001. | ^~~~~
  8002. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  8003. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  8004. 736 | return phys_to_dma(dev, pa);
  8005. | ^~~~~~~~~~~
  8006. | nv_phys_to_dma
  8007. In file included from ././common/inc/conftest.h:28,
  8008. from ././common/inc/nv-time.h:27,
  8009. from nvidia-uvm/uvm_linux.h:37,
  8010. from nvidia-uvm/uvm_gpu.h:31,
  8011. from nvidia-uvm/uvm_maxwell_sec2.c:24:
  8012. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  8013. 74 | #error dma_buf_export() conftest failed!
  8014. | ^~~~~
  8015. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  8016. 87 | #error wait_on_bit_lock() conftest failed!
  8017. | ^~~~~
  8018. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  8019. 90 | #error radix_tree_replace_slot() conftest failed!
  8020. | ^~~~~
  8021. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  8022. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  8023. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8024. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  8025. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  8026. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8027. | ^
  8028. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8029. 573 | NV_MEMDBG_ADD(ptr, size);
  8030. | ^
  8031. ././common/inc/nv-linux.h: In function 'nv_vmap':
  8032. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8033. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  8034. | ^
  8035. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  8036. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  8037. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  8038. | ^~~~~~~~~~~~~
  8039. | d_is_dir
  8040. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  8041. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  8042. 533 | ptr = ioremap_cache_shared(phys, size);
  8043. | ^~~~~~~~~~~~~~~~~~~~
  8044. | ioremap_cache
  8045. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  8046. 533 | ptr = ioremap_cache_shared(phys, size);
  8047. | ^
  8048. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8049. 556 | NV_MEMDBG_ADD(ptr, size);
  8050. | ^
  8051. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  8052. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  8053. 736 | return phys_to_dma(dev, pa);
  8054. | ^~~~~~~~~~~
  8055. | nv_phys_to_dma
  8056. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  8057. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  8058. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  8059. | ^~~~~~~~~~~~~
  8060. | d_is_dir
  8061. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  8062. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  8063. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8064. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  8065. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  8066. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8067. | ^
  8068. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  8069. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  8070. 533 | ptr = ioremap_cache_shared(phys, size);
  8071. | ^~~~~~~~~~~~~~~~~~~~
  8072. | ioremap_cache
  8073. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8074. 573 | NV_MEMDBG_ADD(ptr, size);
  8075. | ^
  8076. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  8077. 533 | ptr = ioremap_cache_shared(phys, size);
  8078. | ^
  8079. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8080. 556 | NV_MEMDBG_ADD(ptr, size);
  8081. | ^
  8082. ././common/inc/nv-linux.h: In function 'nv_vmap':
  8083. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8084. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  8085. | ^
  8086. nvidia/nv-ibmnpu.c: At top level:
  8087. nvidia/nv-ibmnpu.c:395:6: warning: no previous prototype for 'nv_init_ibmnpu_info' [-Wmissing-prototypes]
  8088. 395 | void nv_init_ibmnpu_info(nv_state_t *nv)
  8089. | ^~~~~~~~~~~~~~~~~~~
  8090. nvidia/nv-ibmnpu.c:399:6: warning: no previous prototype for 'nv_destroy_ibmnpu_info' [-Wmissing-prototypes]
  8091. 399 | void nv_destroy_ibmnpu_info(nv_state_t *nv)
  8092. | ^~~~~~~~~~~~~~~~~~~~~~
  8093. nvidia/nv-ibmnpu.c:403:5: warning: no previous prototype for 'nv_init_ibmnpu_devices' [-Wmissing-prototypes]
  8094. 403 | int nv_init_ibmnpu_devices(nv_state_t *nv)
  8095. | ^~~~~~~~~~~~~~~~~~~~~~
  8096. nvidia/nv-ibmnpu.c:408:6: warning: no previous prototype for 'nv_unregister_ibmnpu_devices' [-Wmissing-prototypes]
  8097. 408 | void nv_unregister_ibmnpu_devices(nv_state_t *nv)
  8098. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  8099. nvidia/nv-ibmnpu.c:428:5: warning: no previous prototype for 'nv_get_ibmnpu_chip_id' [-Wmissing-prototypes]
  8100. 428 | int nv_get_ibmnpu_chip_id(nv_state_t *nv)
  8101. | ^~~~~~~~~~~~~~~~~~~~~
  8102. nvidia/nv-ibmnpu.c:437:6: warning: no previous prototype for 'nv_ibmnpu_cache_flush_numa_region' [-Wmissing-prototypes]
  8103. 437 | void nv_ibmnpu_cache_flush_numa_region(nv_state_t *nv)
  8104. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  8105. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  8106. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  8107. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  8108. | ^~~~~~~~~~~~~
  8109. | d_is_dir
  8110. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-usermap.o] Error 1
  8111. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  8112. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  8113. 533 | ptr = ioremap_cache_shared(phys, size);
  8114. | ^~~~~~~~~~~~~~~~~~~~
  8115. | ioremap_cache
  8116. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  8117. 533 | ptr = ioremap_cache_shared(phys, size);
  8118. | ^
  8119. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8120. 556 | NV_MEMDBG_ADD(ptr, size);
  8121. | ^
  8122. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  8123. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  8124. 736 | return phys_to_dma(dev, pa);
  8125. | ^~~~~~~~~~~
  8126. | nv_phys_to_dma
  8127. CC [M] nvidia-uvm/uvm_hopper_sec2.o
  8128. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-ibmnpu.o] Error 1
  8129. CC [M] nvidia-uvm/uvm_common.o
  8130. In file included from ././common/inc/conftest.h:28,
  8131. from ././common/inc/nv-time.h:27,
  8132. from nvidia-uvm/uvm_linux.h:37,
  8133. from nvidia-uvm/uvm_common.h:43,
  8134. from nvidia-uvm/uvm_hal.h:28,
  8135. from nvidia-uvm/uvm_hopper_sec2.c:24:
  8136. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  8137. 74 | #error dma_buf_export() conftest failed!
  8138. | ^~~~~
  8139. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  8140. 87 | #error wait_on_bit_lock() conftest failed!
  8141. | ^~~~~
  8142. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  8143. 90 | #error radix_tree_replace_slot() conftest failed!
  8144. | ^~~~~
  8145. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  8146. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  8147. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  8148. | ^~~~~~~~~~~~~
  8149. | d_is_dir
  8150. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-rsync.o] Error 1
  8151. In file included from ././common/inc/conftest.h:28,
  8152. from ././common/inc/nv-time.h:27,
  8153. from nvidia-uvm/uvm_linux.h:37,
  8154. from nvidia-uvm/uvm_common.h:43,
  8155. from nvidia-uvm/uvm_common.c:20:
  8156. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  8157. 74 | #error dma_buf_export() conftest failed!
  8158. | ^~~~~
  8159. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  8160. 87 | #error wait_on_bit_lock() conftest failed!
  8161. | ^~~~~
  8162. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  8163. 90 | #error radix_tree_replace_slot() conftest failed!
  8164. | ^~~~~
  8165. CC [M] nvidia-uvm/uvm_linux.o
  8166. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  8167. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  8168. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8169. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  8170. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  8171. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8172. | ^
  8173. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8174. 573 | NV_MEMDBG_ADD(ptr, size);
  8175. | ^
  8176. ././common/inc/nv-linux.h: In function 'nv_vmap':
  8177. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8178. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  8179. | ^
  8180. In file included from ././common/inc/conftest.h:28,
  8181. from ././common/inc/nv-time.h:27,
  8182. from nvidia-uvm/uvm_linux.h:37,
  8183. from nvidia-uvm/uvm_linux.c:24:
  8184. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  8185. 74 | #error dma_buf_export() conftest failed!
  8186. | ^~~~~
  8187. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  8188. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  8189. 736 | return phys_to_dma(dev, pa);
  8190. | ^~~~~~~~~~~
  8191. | nv_phys_to_dma
  8192. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  8193. 87 | #error wait_on_bit_lock() conftest failed!
  8194. | ^~~~~
  8195. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  8196. 90 | #error radix_tree_replace_slot() conftest failed!
  8197. | ^~~~~
  8198. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  8199. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  8200. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8201. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  8202. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  8203. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8204. | ^
  8205. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8206. 573 | NV_MEMDBG_ADD(ptr, size);
  8207. | ^
  8208. ././common/inc/nv-linux.h: In function 'nv_vmap':
  8209. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8210. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  8211. | ^
  8212. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  8213. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  8214. 736 | return phys_to_dma(dev, pa);
  8215. | ^~~~~~~~~~~
  8216. | nv_phys_to_dma
  8217. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-frontend.o] Error 1
  8218. CC [M] nvidia-uvm/nvstatus.o
  8219. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  8220. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  8221. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8222. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  8223. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  8224. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  8225. | ^
  8226. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8227. 573 | NV_MEMDBG_ADD(ptr, size);
  8228. | ^
  8229. ././common/inc/nv-linux.h: In function 'nv_vmap':
  8230. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8231. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  8232. | ^
  8233. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  8234. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  8235. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  8236. | ^~~~~~~~~~~~~
  8237. | d_is_dir
  8238. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  8239. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  8240. 736 | return phys_to_dma(dev, pa);
  8241. | ^~~~~~~~~~~
  8242. | nv_phys_to_dma
  8243. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  8244. 40 | struct timespec64 {
  8245. | ^~~~~~~~~~
  8246. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  8247. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  8248. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  8249. from ././common/inc/nv-time.h:29:
  8250. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  8251. 13 | struct timespec64 {
  8252. | ^~~~~~~~~~
  8253. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  8254. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  8255. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  8256. | ^~~~~~~~~~~~~
  8257. | d_is_dir
  8258. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8259. 77 | static inline struct timespec64 timespec64_add
  8260. | ^~~~~~~~~~~~~~
  8261. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8262. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  8263. | ^~~~~~~~~~~~~~
  8264. nvidia/nv-msi.c: In function 'nv_init_msi':
  8265. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8266. 602 | NV_MEMDBG_ADD(ptr, size); \
  8267. | ^
  8268. nvidia/nv-msi.c:39:9: note: in expansion of macro 'NV_KZALLOC'
  8269. 39 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * nvl->num_intr);
  8270. | ^~~~~~~~~~
  8271. nvidia/nv-msi.c: In function 'nv_init_msix':
  8272. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  8273. 40 | struct timespec64 {
  8274. | ^~~~~~~~~~
  8275. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  8276. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  8277. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  8278. from ././common/inc/nv-time.h:29:
  8279. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  8280. 13 | struct timespec64 {
  8281. | ^~~~~~~~~~
  8282. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8283. 595 | NV_MEMDBG_ADD(ptr, size); \
  8284. | ^
  8285. nvidia/nv-msi.c:90:5: note: in expansion of macro 'NV_KMALLOC'
  8286. 90 | NV_KMALLOC(nvl->msix_entries, sizeof(struct msix_entry) * num_intr);
  8287. | ^~~~~~~~~~
  8288. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8289. 77 | static inline struct timespec64 timespec64_add
  8290. | ^~~~~~~~~~~~~~
  8291. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8292. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  8293. | ^~~~~~~~~~~~~~
  8294. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8295. 95 | static inline struct timespec64 timespec64_sub
  8296. | ^~~~~~~~~~~~~~
  8297. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8298. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  8299. | ^~~~~~~~~~~~~~
  8300. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  8301. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  8302. | ^~~~~~~~~~~~~~~~
  8303. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  8304. 602 | NV_MEMDBG_ADD(ptr, size); \
  8305. | ^
  8306. nvidia/nv-msi.c:102:5: note: in expansion of macro 'NV_KZALLOC'
  8307. 102 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * num_intr);
  8308. | ^~~~~~~~~~
  8309. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  8310. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  8311. | ^~~~~~~~~~~~~~~~
  8312. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  8313. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8314. 122 | ktime_get_raw_ts64(&ts);
  8315. | ^~~
  8316. | |
  8317. | struct timespec64 *
  8318. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  8319. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  8320. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  8321. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  8322. from ././common/inc/nv-time.h:30:
  8323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8324. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8325. | ~~~~~~~~~~~~~~~~~~~^~
  8326. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8327. 95 | static inline struct timespec64 timespec64_sub
  8328. | ^~~~~~~~~~~~~~
  8329. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8330. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  8331. | ^~~~~~~~~~~~~~
  8332. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  8333. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  8334. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  8335. | ^~~~~~~~~~~~~~~~
  8336. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8337. 185 | ktime_get_raw_ts64(&tm_aux);
  8338. | ^~~~~~~
  8339. | |
  8340. | struct timespec64 *
  8341. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  8342. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  8343. | ^~~~~~~~~~~~~~~~
  8344. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8345. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8346. | ~~~~~~~~~~~~~~~~~~~^~
  8347. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  8348. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8349. 122 | ktime_get_raw_ts64(&ts);
  8350. | ^~~
  8351. | |
  8352. | struct timespec64 *
  8353. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  8354. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  8355. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  8356. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  8357. from ././common/inc/nv-time.h:30:
  8358. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8359. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8360. | ~~~~~~~~~~~~~~~~~~~^~
  8361. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  8362. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8363. 185 | ktime_get_raw_ts64(&tm_aux);
  8364. | ^~~~~~~
  8365. | |
  8366. | struct timespec64 *
  8367. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8368. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8369. | ~~~~~~~~~~~~~~~~~~~^~
  8370. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8371. 221 | ktime_get_raw_ts64(&tm_aux);
  8372. | ^~~~~~~
  8373. | |
  8374. | struct timespec64 *
  8375. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8376. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8377. | ~~~~~~~~~~~~~~~~~~~^~
  8378. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8379. 221 | ktime_get_raw_ts64(&tm_aux);
  8380. | ^~~~~~~
  8381. | |
  8382. | struct timespec64 *
  8383. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8384. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8385. | ~~~~~~~~~~~~~~~~~~~^~
  8386. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-msi.o] Error 1
  8387. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  8388. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  8389. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  8390. | ^~~~~~~~~~~~~
  8391. | d_is_dir
  8392. CC [M] nvidia-uvm/nv-kthread-q.o
  8393. CC [M] nvidia-uvm/nvCpuUuid.o
  8394. CC [M] nvidia-uvm/nv-kthread-q-selftest.o
  8395. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  8396. 40 | struct timespec64 {
  8397. | ^~~~~~~~~~
  8398. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  8399. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  8400. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  8401. from ././common/inc/nv-time.h:29:
  8402. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  8403. 13 | struct timespec64 {
  8404. | ^~~~~~~~~~
  8405. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8406. 77 | static inline struct timespec64 timespec64_add
  8407. | ^~~~~~~~~~~~~~
  8408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8409. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  8410. | ^~~~~~~~~~~~~~
  8411. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8412. 95 | static inline struct timespec64 timespec64_sub
  8413. | ^~~~~~~~~~~~~~
  8414. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8415. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  8416. | ^~~~~~~~~~~~~~
  8417. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  8418. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  8419. | ^~~~~~~~~~~~~~~~
  8420. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  8421. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  8422. | ^~~~~~~~~~~~~~~~
  8423. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  8424. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8425. 122 | ktime_get_raw_ts64(&ts);
  8426. | ^~~
  8427. | |
  8428. | struct timespec64 *
  8429. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  8430. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  8431. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  8432. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  8433. from ././common/inc/nv-time.h:30:
  8434. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8435. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8436. | ~~~~~~~~~~~~~~~~~~~^~
  8437. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  8438. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8439. 185 | ktime_get_raw_ts64(&tm_aux);
  8440. | ^~~~~~~
  8441. | |
  8442. | struct timespec64 *
  8443. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8444. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8445. | ~~~~~~~~~~~~~~~~~~~^~
  8446. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8447. 221 | ktime_get_raw_ts64(&tm_aux);
  8448. | ^~~~~~~
  8449. | |
  8450. | struct timespec64 *
  8451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8452. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8453. | ~~~~~~~~~~~~~~~~~~~^~
  8454. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  8455. 40 | struct timespec64 {
  8456. | ^~~~~~~~~~
  8457. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  8458. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  8459. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  8460. from ././common/inc/nv-time.h:29:
  8461. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  8462. 13 | struct timespec64 {
  8463. | ^~~~~~~~~~
  8464. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8465. 77 | static inline struct timespec64 timespec64_add
  8466. | ^~~~~~~~~~~~~~
  8467. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8468. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  8469. | ^~~~~~~~~~~~~~
  8470. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8471. 95 | static inline struct timespec64 timespec64_sub
  8472. | ^~~~~~~~~~~~~~
  8473. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8474. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  8475. | ^~~~~~~~~~~~~~
  8476. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  8477. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  8478. | ^~~~~~~~~~~~~~~~
  8479. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  8480. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  8481. | ^~~~~~~~~~~~~~~~
  8482. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  8483. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8484. 122 | ktime_get_raw_ts64(&ts);
  8485. | ^~~
  8486. | |
  8487. | struct timespec64 *
  8488. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  8489. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  8490. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  8491. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  8492. from ././common/inc/nv-time.h:30:
  8493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8494. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8495. | ~~~~~~~~~~~~~~~~~~~^~
  8496. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  8497. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8498. 185 | ktime_get_raw_ts64(&tm_aux);
  8499. | ^~~~~~~
  8500. | |
  8501. | struct timespec64 *
  8502. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8503. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8504. | ~~~~~~~~~~~~~~~~~~~^~
  8505. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8506. 221 | ktime_get_raw_ts64(&tm_aux);
  8507. | ^~~~~~~
  8508. | |
  8509. | struct timespec64 *
  8510. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8511. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8512. | ~~~~~~~~~~~~~~~~~~~^~
  8513. CC [M] nvidia-uvm/uvm.o
  8514. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv_uvm_interface.o] Error 1
  8515. In file included from ././common/inc/nv-linux.h:34,
  8516. from nvidia/nvlink_linux.c:30:
  8517. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  8518. 29 | typedef int vm_fault_t;
  8519. | ^~~~~~~~~~
  8520. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  8521. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  8522. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16,
  8523. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list_lru.h:14,
  8524. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:13,
  8525. from nvidia/nvlink_linux.h:30,
  8526. from nvidia/nvlink_linux.c:27:
  8527. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  8528. 1311 | typedef __bitwise unsigned int vm_fault_t;
  8529. | ^~~~~~~~~~
  8530. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  8531. from nvidia/nvlink_linux.h:28:
  8532. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  8533. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  8534. 52 | #define current get_current()
  8535. | ^~~~~~~~~~~~~
  8536. | |
  8537. | struct task_struct *
  8538. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  8539. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  8540. | ^~~~~~~
  8541. In file included from ././common/inc/nv-pgprot.h:30,
  8542. from ././common/inc/nv-linux.h:33:
  8543. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  8544. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8545. | ~~~~~~~~~~~~~~^~~~~
  8546. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  8547. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  8548. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  8549. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8550. | ~~~~~~~~~~~~~~^~~~~~~~
  8551. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  8552. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  8553. | ^~~~~~~~
  8554. | |
  8555. | long unsigned int
  8556. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  8557. 2535 | unsigned int gup_flags, struct page **pages);
  8558. | ~~~~~~~~~~~~~~^~~~~
  8559. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  8560. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  8561. | ^~~~~~~~~~~~~~ ~~~~~
  8562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  8563. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8564. | ^~~~~~~~~~~~~~
  8565. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  8566. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  8567. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  8568. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  8569. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  8570. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  8571. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  8572. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  8573. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/init.h:5,
  8574. from nvidia/nvlink_linux.h:27:
  8575. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  8576. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  8577. 8 | #define NULL ((void *)0)
  8578. | ^~~~~~~~~~~
  8579. | |
  8580. | void *
  8581. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  8582. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  8583. | ^~~~
  8584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  8585. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8586. | ~~~~~~~~~~~~~~^~~~~
  8587. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  8588. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  8589. | ^~
  8590. | |
  8591. | struct mm_struct *
  8592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  8593. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8594. | ~~~~~~~~~~~~~~^~~~~~~~
  8595. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  8596. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  8597. | ^~~~~~~~
  8598. | |
  8599. | long unsigned int
  8600. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  8601. 2535 | unsigned int gup_flags, struct page **pages);
  8602. | ~~~~~~~~~~~~~~^~~~~
  8603. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  8604. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  8605. | ^~~~~~~~~~~~~~ ~~~~~
  8606. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  8607. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8608. | ^~~~~~~~~~~~~~
  8609. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  8610. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  8611. 237 | return (unsigned long)(vmf->virtual_address);
  8612. | ^~~~~~~~~~~~~~~
  8613. | real_address
  8614. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  8615. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8616. 246 | down_read(&mm->mmap_sem);
  8617. | ^~~~~~~~
  8618. | mmap_base
  8619. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  8620. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8621. 255 | up_read(&mm->mmap_sem);
  8622. | ^~~~~~~~
  8623. | mmap_base
  8624. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  8625. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8626. 264 | down_write(&mm->mmap_sem);
  8627. | ^~~~~~~~
  8628. | mmap_base
  8629. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  8630. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8631. 273 | up_write(&mm->mmap_sem);
  8632. | ^~~~~~~~
  8633. | mmap_base
  8634. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  8635. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8636. 282 | return rwsem_is_locked(&mm->mmap_sem);
  8637. | ^~~~~~~~
  8638. | mmap_base
  8639. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  8640. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8641. 291 | return &mm->mmap_sem;
  8642. | ^~~~~~~~
  8643. | mmap_base
  8644. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  8645. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  8646. 300 | vma->vm_flags |= flags;
  8647. | ^~
  8648. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  8649. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  8650. 309 | vma->vm_flags &= ~flags;
  8651. | ^~
  8652. CC [M] nvidia-uvm/uvm_tools.o
  8653. In file included from ././common/inc/conftest.h:28,
  8654. from ././common/inc/nv-time.h:27,
  8655. from nvidia-uvm/uvm_linux.h:37,
  8656. from nvidia-uvm/uvm_common.h:43,
  8657. from nvidia-uvm/uvm_api.h:28,
  8658. from nvidia-uvm/uvm.c:24:
  8659. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  8660. 74 | #error dma_buf_export() conftest failed!
  8661. | ^~~~~
  8662. In file included from ././common/inc/nv-linux.h:37:
  8663. ././common/inc/nv-time.h: At top level:
  8664. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  8665. 40 | struct timespec64 {
  8666. | ^~~~~~~~~~
  8667. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  8668. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  8669. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:10:
  8670. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  8671. 13 | struct timespec64 {
  8672. | ^~~~~~~~~~
  8673. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8674. 77 | static inline struct timespec64 timespec64_add
  8675. | ^~~~~~~~~~~~~~
  8676. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8677. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  8678. | ^~~~~~~~~~~~~~
  8679. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8680. 95 | static inline struct timespec64 timespec64_sub
  8681. | ^~~~~~~~~~~~~~
  8682. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8683. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  8684. | ^~~~~~~~~~~~~~
  8685. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  8686. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  8687. | ^~~~~~~~~~~~~~~~
  8688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  8689. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  8690. | ^~~~~~~~~~~~~~~~
  8691. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  8692. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8693. 122 | ktime_get_raw_ts64(&ts);
  8694. | ^~~
  8695. | |
  8696. | struct timespec64 *
  8697. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  8698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  8699. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  8700. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  8701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8702. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8703. | ~~~~~~~~~~~~~~~~~~~^~
  8704. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  8705. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8706. 185 | ktime_get_raw_ts64(&tm_aux);
  8707. | ^~~~~~~
  8708. | |
  8709. | struct timespec64 *
  8710. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8711. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8712. | ~~~~~~~~~~~~~~~~~~~^~
  8713. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8714. 221 | ktime_get_raw_ts64(&tm_aux);
  8715. | ^~~~~~~
  8716. | |
  8717. | struct timespec64 *
  8718. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8719. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8720. | ~~~~~~~~~~~~~~~~~~~^~
  8721. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  8722. 87 | #error wait_on_bit_lock() conftest failed!
  8723. | ^~~~~
  8724. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  8725. 90 | #error radix_tree_replace_slot() conftest failed!
  8726. | ^~~~~
  8727. In file included from ././common/inc/nv-linux.h:34:
  8728. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  8729. 29 | typedef int vm_fault_t;
  8730. | ^~~~~~~~~~
  8731. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  8732. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  8733. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  8734. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  8735. from ././common/inc/nv-lock.h:35,
  8736. from ././common/inc/nv-linux.h:32:
  8737. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  8738. 1311 | typedef __bitwise unsigned int vm_fault_t;
  8739. | ^~~~~~~~~~
  8740. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  8741. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  8742. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  8743. from ././common/inc/nv-lock.h:29:
  8744. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  8745. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  8746. 52 | #define current get_current()
  8747. | ^~~~~~~~~~~~~
  8748. | |
  8749. | struct task_struct *
  8750. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  8751. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  8752. | ^~~~~~~
  8753. In file included from ././common/inc/nv-pgprot.h:30,
  8754. from ././common/inc/nv-linux.h:33:
  8755. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  8756. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8757. | ~~~~~~~~~~~~~~^~~~~
  8758. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  8759. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  8760. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  8761. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8762. | ~~~~~~~~~~~~~~^~~~~~~~
  8763. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  8764. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  8765. | ^~~~~~~~
  8766. | |
  8767. | long unsigned int
  8768. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  8769. 2535 | unsigned int gup_flags, struct page **pages);
  8770. | ~~~~~~~~~~~~~~^~~~~
  8771. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  8772. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  8773. | ^~~~~~~~~~~~~~ ~~~~~
  8774. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  8775. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8776. | ^~~~~~~~~~~~~~
  8777. In file included from ././common/inc/nv.h:35:
  8778. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  8779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  8780. 8 | #define NULL ((void *)0)
  8781. | ^~~~~~~~~~~
  8782. | |
  8783. | void *
  8784. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  8785. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  8786. | ^~~~
  8787. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  8788. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8789. | ~~~~~~~~~~~~~~^~~~~
  8790. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  8791. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  8792. | ^~
  8793. | |
  8794. | struct mm_struct *
  8795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  8796. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8797. | ~~~~~~~~~~~~~~^~~~~~~~
  8798. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  8799. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  8800. | ^~~~~~~~
  8801. | |
  8802. | long unsigned int
  8803. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  8804. 2535 | unsigned int gup_flags, struct page **pages);
  8805. | ~~~~~~~~~~~~~~^~~~~
  8806. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  8807. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  8808. | ^~~~~~~~~~~~~~ ~~~~~
  8809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  8810. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  8811. | ^~~~~~~~~~~~~~
  8812. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  8813. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  8814. 237 | return (unsigned long)(vmf->virtual_address);
  8815. | ^~~~~~~~~~~~~~~
  8816. | real_address
  8817. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  8818. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8819. 246 | down_read(&mm->mmap_sem);
  8820. | ^~~~~~~~
  8821. | mmap_base
  8822. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  8823. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8824. 255 | up_read(&mm->mmap_sem);
  8825. | ^~~~~~~~
  8826. | mmap_base
  8827. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  8828. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8829. 264 | down_write(&mm->mmap_sem);
  8830. | ^~~~~~~~
  8831. | mmap_base
  8832. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  8833. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8834. 273 | up_write(&mm->mmap_sem);
  8835. | ^~~~~~~~
  8836. | mmap_base
  8837. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  8838. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8839. 282 | return rwsem_is_locked(&mm->mmap_sem);
  8840. | ^~~~~~~~
  8841. | mmap_base
  8842. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  8843. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  8844. 291 | return &mm->mmap_sem;
  8845. | ^~~~~~~~
  8846. | mmap_base
  8847. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  8848. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  8849. 300 | vma->vm_flags |= flags;
  8850. | ^~
  8851. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  8852. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  8853. 309 | vma->vm_flags &= ~flags;
  8854. | ^~
  8855. In file included from ././common/inc/conftest.h:28,
  8856. from ././common/inc/nv-time.h:27,
  8857. from nvidia-uvm/uvm_linux.h:37,
  8858. from nvidia-uvm/uvm_common.h:43,
  8859. from nvidia-uvm/uvm_tools.c:23:
  8860. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  8861. 74 | #error dma_buf_export() conftest failed!
  8862. | ^~~~~
  8863. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  8864. 87 | #error wait_on_bit_lock() conftest failed!
  8865. | ^~~~~
  8866. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  8867. 90 | #error radix_tree_replace_slot() conftest failed!
  8868. | ^~~~~
  8869. In file included from ././common/inc/nv-linux.h:37:
  8870. ././common/inc/nv-time.h: At top level:
  8871. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  8872. 40 | struct timespec64 {
  8873. | ^~~~~~~~~~
  8874. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  8875. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  8876. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  8877. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  8878. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  8879. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  8880. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  8881. 13 | struct timespec64 {
  8882. | ^~~~~~~~~~
  8883. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8884. 77 | static inline struct timespec64 timespec64_add
  8885. | ^~~~~~~~~~~~~~
  8886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8887. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  8888. | ^~~~~~~~~~~~~~
  8889. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8890. 95 | static inline struct timespec64 timespec64_sub
  8891. | ^~~~~~~~~~~~~~
  8892. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8893. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  8894. | ^~~~~~~~~~~~~~
  8895. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  8896. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  8897. | ^~~~~~~~~~~~~~~~
  8898. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  8899. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  8900. | ^~~~~~~~~~~~~~~~
  8901. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  8902. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8903. 122 | ktime_get_raw_ts64(&ts);
  8904. | ^~~
  8905. | |
  8906. | struct timespec64 *
  8907. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  8908. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8909. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8910. | ~~~~~~~~~~~~~~~~~~~^~
  8911. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  8912. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8913. 185 | ktime_get_raw_ts64(&tm_aux);
  8914. | ^~~~~~~
  8915. | |
  8916. | struct timespec64 *
  8917. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8918. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8919. | ~~~~~~~~~~~~~~~~~~~^~
  8920. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8921. 221 | ktime_get_raw_ts64(&tm_aux);
  8922. | ^~~~~~~
  8923. | |
  8924. | struct timespec64 *
  8925. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8926. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8927. | ~~~~~~~~~~~~~~~~~~~^~
  8928. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  8929. 40 | struct timespec64 {
  8930. | ^~~~~~~~~~
  8931. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  8932. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  8933. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  8934. from ././common/inc/nv-time.h:29:
  8935. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  8936. 13 | struct timespec64 {
  8937. | ^~~~~~~~~~
  8938. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8939. 77 | static inline struct timespec64 timespec64_add
  8940. | ^~~~~~~~~~~~~~
  8941. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8942. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  8943. | ^~~~~~~~~~~~~~
  8944. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  8945. 95 | static inline struct timespec64 timespec64_sub
  8946. | ^~~~~~~~~~~~~~
  8947. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  8948. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  8949. | ^~~~~~~~~~~~~~
  8950. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  8951. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  8952. | ^~~~~~~~~~~~~~~~
  8953. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  8954. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  8955. | ^~~~~~~~~~~~~~~~
  8956. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  8957. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8958. 122 | ktime_get_raw_ts64(&ts);
  8959. | ^~~
  8960. | |
  8961. | struct timespec64 *
  8962. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  8963. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  8964. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  8965. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  8966. from ././common/inc/nv-time.h:30:
  8967. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8968. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8969. | ~~~~~~~~~~~~~~~~~~~^~
  8970. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  8971. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8972. 185 | ktime_get_raw_ts64(&tm_aux);
  8973. | ^~~~~~~
  8974. | |
  8975. | struct timespec64 *
  8976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8977. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8978. | ~~~~~~~~~~~~~~~~~~~^~
  8979. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  8980. 221 | ktime_get_raw_ts64(&tm_aux);
  8981. | ^~~~~~~
  8982. | |
  8983. | struct timespec64 *
  8984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  8985. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  8986. | ~~~~~~~~~~~~~~~~~~~^~
  8987. nvidia/nv-caps.c: At top level:
  8988. nvidia/nv-caps.c:269:5: warning: no previous prototype for 'nv_cap_procfs_init' [-Wmissing-prototypes]
  8989. 269 | int nv_cap_procfs_init(void)
  8990. | ^~~~~~~~~~~~~~~~~~
  8991. In file included from ././common/inc/nv-procfs.h:26,
  8992. from nvidia/nv-caps.c:26:
  8993. nvidia/nv-caps.c: In function 'nv_cap_procfs_init':
  8994. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  8995. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  8996. | ^~~~
  8997. | |
  8998. | const nv_proc_ops_t * {aka const struct file_operations *}
  8999. nvidia/nv-caps.c:279:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  9000. 279 | file_entry = NV_CREATE_PROC_FILE("mig-minors", nv_cap_procfs_dir,
  9001. | ^~~~~~~~~~~~~~~~~~~
  9002. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  9003. from ././common/inc/nv-linux.h:220:
  9004. /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 *'}
  9005. 111 | const struct proc_ops *,
  9006. | ^~~~~~~~~~~~~~~~~~~~~~~
  9007. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  9008. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  9009. | ^~~~
  9010. | |
  9011. | const nv_proc_ops_t * {aka const struct file_operations *}
  9012. nvidia/nv-caps.c:286:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  9013. 286 | file_entry = NV_CREATE_PROC_FILE("nvlink-minors", nv_cap_procfs_dir,
  9014. | ^~~~~~~~~~~~~~~~~~~
  9015. /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 *'}
  9016. 111 | const struct proc_ops *,
  9017. | ^~~~~~~~~~~~~~~~~~~~~~~
  9018. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  9019. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  9020. | ^~~~
  9021. | |
  9022. | const nv_proc_ops_t * {aka const struct file_operations *}
  9023. nvidia/nv-caps.c:293:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  9024. 293 | file_entry = NV_CREATE_PROC_FILE("sys-minors", nv_cap_procfs_dir,
  9025. | ^~~~~~~~~~~~~~~~~~~
  9026. /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 *'}
  9027. 111 | const struct proc_ops *,
  9028. | ^~~~~~~~~~~~~~~~~~~~~~~
  9029. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/string.h:392,
  9030. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bitmap.h:13,
  9031. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/cpumask.h:12,
  9032. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt.h:21,
  9033. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:102,
  9034. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18,
  9035. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:59:
  9036. nvidia/nv-caps.c: In function 'nv_cap_find_minor':
  9037. /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]
  9038. 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \
  9039. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  9040. 259 | __builtin_strlen(p), __fortify_strlen(p))
  9041. | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  9042. | |
  9043. | __kernel_size_t {aka long unsigned int}
  9044. ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen'
  9045. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  9046. | ^~~~~~
  9047. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  9048. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  9049. | ^~~~~~~~~~~~~~
  9050. nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key'
  9051. 310 | unsigned int key = nv_cap_hash_key(path);
  9052. | ^~~~~~~~~~~~~~~
  9053. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dcache.h:15,
  9054. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:8,
  9055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7,
  9056. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133:
  9057. /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'}
  9058. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  9059. | ^~~~~~~~~~~~
  9060. In file included from nvidia/nv-caps.c:27:
  9061. ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2
  9062. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  9063. | ^~~~~~~~~~~~~~
  9064. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  9065. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  9066. | ^~~~~~~~~~~~~~
  9067. nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key'
  9068. 310 | unsigned int key = nv_cap_hash_key(path);
  9069. | ^~~~~~~~~~~~~~~
  9070. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here
  9071. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  9072. | ^~~~~~~~~~~~~~
  9073. nvidia/nv-caps.c: In function '_nv_cap_table_init':
  9074. /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]
  9075. 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \
  9076. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  9077. 259 | __builtin_strlen(p), __fortify_strlen(p))
  9078. | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  9079. | |
  9080. | __kernel_size_t {aka long unsigned int}
  9081. ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen'
  9082. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  9083. | ^~~~~~
  9084. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  9085. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  9086. | ^~~~~~~~~~~~~~
  9087. nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key'
  9088. 334 | key = nv_cap_hash_key(table[i].name);
  9089. | ^~~~~~~~~~~~~~~
  9090. /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'}
  9091. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  9092. | ^~~~~~~~~~~~
  9093. ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2
  9094. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  9095. | ^~~~~~~~~~~~~~
  9096. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  9097. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  9098. | ^~~~~~~~~~~~~~
  9099. nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key'
  9100. 334 | key = nv_cap_hash_key(table[i].name);
  9101. | ^~~~~~~~~~~~~~~
  9102. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here
  9103. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  9104. | ^~~~~~~~~~~~~~
  9105. nvidia/nv-caps.c: In function 'nv_cap_procfs_open':
  9106. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  9107. 595 | NV_MEMDBG_ADD(ptr, size); \
  9108. | ^
  9109. nvidia/nv-caps.c:410:5: note: in expansion of macro 'NV_KMALLOC'
  9110. 410 | NV_KMALLOC(private, sizeof(nv_cap_file_private_t));
  9111. | ^~~~~~~~~~
  9112. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  9113. 40 | struct timespec64 {
  9114. | ^~~~~~~~~~
  9115. nvidia/nv-caps.c: In function 'nv_cap_alloc':
  9116. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  9117. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  9118. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  9119. from ././common/inc/nv-time.h:29:
  9120. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  9121. 13 | struct timespec64 {
  9122. | ^~~~~~~~~~
  9123. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  9124. 595 | NV_MEMDBG_ADD(ptr, size); \
  9125. | ^
  9126. nvidia/nv-caps.c:614:5: note: in expansion of macro 'NV_KMALLOC'
  9127. 614 | NV_KMALLOC(cap, sizeof(nv_cap_t));
  9128. | ^~~~~~~~~~
  9129. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  9130. 77 | static inline struct timespec64 timespec64_add
  9131. | ^~~~~~~~~~~~~~
  9132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  9133. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  9134. | ^~~~~~~~~~~~~~
  9135. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  9136. 95 | static inline struct timespec64 timespec64_sub
  9137. | ^~~~~~~~~~~~~~
  9138. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  9139. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  9140. | ^~~~~~~~~~~~~~
  9141. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  9142. 595 | NV_MEMDBG_ADD(ptr, size); \
  9143. | ^
  9144. nvidia/nv-caps.c:621:5: note: in expansion of macro 'NV_KMALLOC'
  9145. 621 | NV_KMALLOC(cap->path, len);
  9146. | ^~~~~~~~~~
  9147. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  9148. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  9149. | ^~~~~~~~~~~~~~~~
  9150. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  9151. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  9152. | ^~~~~~~~~~~~~~~~
  9153. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  9154. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9155. 122 | ktime_get_raw_ts64(&ts);
  9156. | ^~~
  9157. | |
  9158. | struct timespec64 *
  9159. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  9160. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  9161. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  9162. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  9163. from ././common/inc/nv-time.h:30:
  9164. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9165. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9166. | ~~~~~~~~~~~~~~~~~~~^~
  9167. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  9168. 595 | NV_MEMDBG_ADD(ptr, size); \
  9169. | ^
  9170. nvidia/nv-caps.c:633:5: note: in expansion of macro 'NV_KMALLOC'
  9171. 633 | NV_KMALLOC(cap->name, len);
  9172. | ^~~~~~~~~~
  9173. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  9174. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9175. 185 | ktime_get_raw_ts64(&tm_aux);
  9176. | ^~~~~~~
  9177. | |
  9178. | struct timespec64 *
  9179. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9180. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9181. | ~~~~~~~~~~~~~~~~~~~^~
  9182. nvidia/nv-caps.c: In function 'nv_cap_create_file_entry':
  9183. nvidia/nv-caps.c:688:35: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  9184. 688 | &g_nv_cap_procfs_fops, (void*)cap);
  9185. | ^~~~~~~~~~~~~~~~~~~~~
  9186. | |
  9187. | nv_proc_ops_t * {aka struct file_operations *}
  9188. /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 *'}
  9189. 111 | const struct proc_ops *,
  9190. | ^~~~~~~~~~~~~~~~~~~~~~~
  9191. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9192. 221 | ktime_get_raw_ts64(&tm_aux);
  9193. | ^~~~~~~
  9194. | |
  9195. | struct timespec64 *
  9196. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9197. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9198. | ~~~~~~~~~~~~~~~~~~~^~
  9199. nvidia/nv-caps.c: In function 'nv_cap_init':
  9200. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  9201. 595 | NV_MEMDBG_ADD(ptr, size); \
  9202. | ^
  9203. nvidia/nv-caps.c:738:5: note: in expansion of macro 'NV_KMALLOC'
  9204. 738 | NV_KMALLOC(name, (strlen(path) + strlen(dir)) + 1);
  9205. | ^~~~~~~~~~
  9206. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  9207. 40 | struct timespec64 {
  9208. | ^~~~~~~~~~
  9209. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  9210. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  9211. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  9212. from ././common/inc/nv-time.h:29:
  9213. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  9214. 13 | struct timespec64 {
  9215. | ^~~~~~~~~~
  9216. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  9217. 77 | static inline struct timespec64 timespec64_add
  9218. | ^~~~~~~~~~~~~~
  9219. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  9220. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  9221. | ^~~~~~~~~~~~~~
  9222. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  9223. 95 | static inline struct timespec64 timespec64_sub
  9224. | ^~~~~~~~~~~~~~
  9225. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  9226. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  9227. | ^~~~~~~~~~~~~~
  9228. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  9229. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  9230. | ^~~~~~~~~~~~~~~~
  9231. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  9232. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  9233. | ^~~~~~~~~~~~~~~~
  9234. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  9235. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9236. 122 | ktime_get_raw_ts64(&ts);
  9237. | ^~~
  9238. | |
  9239. | struct timespec64 *
  9240. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  9241. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  9242. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  9243. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  9244. from ././common/inc/nv-time.h:30:
  9245. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9246. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9247. | ~~~~~~~~~~~~~~~~~~~^~
  9248. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-caps.o] Error 1
  9249. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  9250. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9251. 185 | ktime_get_raw_ts64(&tm_aux);
  9252. | ^~~~~~~
  9253. | |
  9254. | struct timespec64 *
  9255. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9256. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9257. | ~~~~~~~~~~~~~~~~~~~^~
  9258. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9259. 221 | ktime_get_raw_ts64(&tm_aux);
  9260. | ^~~~~~~
  9261. | |
  9262. | struct timespec64 *
  9263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9264. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9265. | ~~~~~~~~~~~~~~~~~~~^~
  9266. CC [M] nvidia-uvm/uvm_global.o
  9267. In file included from ././common/inc/nv-linux.h:34:
  9268. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  9269. 29 | typedef int vm_fault_t;
  9270. | ^~~~~~~~~~
  9271. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  9272. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  9273. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  9274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  9275. from ././common/inc/nv-lock.h:35,
  9276. from ././common/inc/nv-linux.h:32:
  9277. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  9278. 1311 | typedef __bitwise unsigned int vm_fault_t;
  9279. | ^~~~~~~~~~
  9280. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  9281. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  9282. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  9283. from ././common/inc/nv-lock.h:29:
  9284. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  9285. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9286. 52 | #define current get_current()
  9287. | ^~~~~~~~~~~~~
  9288. | |
  9289. | struct task_struct *
  9290. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  9291. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9292. | ^~~~~~~
  9293. In file included from ././common/inc/nv-pgprot.h:30,
  9294. from ././common/inc/nv-linux.h:33:
  9295. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  9296. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9297. | ~~~~~~~~~~~~~~^~~~~
  9298. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9299. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  9301. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9302. | ~~~~~~~~~~~~~~^~~~~~~~
  9303. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  9304. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9305. | ^~~~~~~~
  9306. | |
  9307. | long unsigned int
  9308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  9309. 2535 | unsigned int gup_flags, struct page **pages);
  9310. | ~~~~~~~~~~~~~~^~~~~
  9311. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  9312. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9313. | ^~~~~~~~~~~~~~ ~~~~~
  9314. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  9315. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9316. | ^~~~~~~~~~~~~~
  9317. In file included from ././common/inc/nv.h:35:
  9318. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  9319. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9320. 8 | #define NULL ((void *)0)
  9321. | ^~~~~~~~~~~
  9322. | |
  9323. | void *
  9324. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  9325. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9326. | ^~~~
  9327. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  9328. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9329. | ~~~~~~~~~~~~~~^~~~~
  9330. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9331. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9332. | ^~
  9333. | |
  9334. | struct mm_struct *
  9335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  9336. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9337. | ~~~~~~~~~~~~~~^~~~~~~~
  9338. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  9339. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9340. | ^~~~~~~~
  9341. | |
  9342. | long unsigned int
  9343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  9344. 2535 | unsigned int gup_flags, struct page **pages);
  9345. | ~~~~~~~~~~~~~~^~~~~
  9346. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  9347. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9348. | ^~~~~~~~~~~~~~ ~~~~~
  9349. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  9350. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9351. | ^~~~~~~~~~~~~~
  9352. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  9353. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  9354. 237 | return (unsigned long)(vmf->virtual_address);
  9355. | ^~~~~~~~~~~~~~~
  9356. | real_address
  9357. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  9358. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9359. 246 | down_read(&mm->mmap_sem);
  9360. | ^~~~~~~~
  9361. | mmap_base
  9362. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  9363. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9364. 255 | up_read(&mm->mmap_sem);
  9365. | ^~~~~~~~
  9366. | mmap_base
  9367. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  9368. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9369. 264 | down_write(&mm->mmap_sem);
  9370. | ^~~~~~~~
  9371. | mmap_base
  9372. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  9373. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9374. 273 | up_write(&mm->mmap_sem);
  9375. | ^~~~~~~~
  9376. | mmap_base
  9377. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  9378. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9379. 282 | return rwsem_is_locked(&mm->mmap_sem);
  9380. | ^~~~~~~~
  9381. | mmap_base
  9382. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  9383. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9384. 291 | return &mm->mmap_sem;
  9385. | ^~~~~~~~
  9386. | mmap_base
  9387. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  9388. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  9389. 300 | vma->vm_flags |= flags;
  9390. | ^~
  9391. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  9392. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  9393. 309 | vma->vm_flags &= ~flags;
  9394. | ^~
  9395. In file included from ././common/inc/nv-linux.h:34:
  9396. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  9397. 29 | typedef int vm_fault_t;
  9398. | ^~~~~~~~~~
  9399. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  9400. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  9401. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  9402. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  9403. from ././common/inc/nv-lock.h:35,
  9404. from ././common/inc/nv-linux.h:32:
  9405. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  9406. 1311 | typedef __bitwise unsigned int vm_fault_t;
  9407. | ^~~~~~~~~~
  9408. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  9409. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  9410. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  9411. from ././common/inc/nv-lock.h:29:
  9412. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  9413. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9414. 52 | #define current get_current()
  9415. | ^~~~~~~~~~~~~
  9416. | |
  9417. | struct task_struct *
  9418. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  9419. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9420. | ^~~~~~~
  9421. In file included from ././common/inc/nv-pgprot.h:30,
  9422. from ././common/inc/nv-linux.h:33:
  9423. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  9424. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9425. | ~~~~~~~~~~~~~~^~~~~
  9426. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9427. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9428. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  9429. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9430. | ~~~~~~~~~~~~~~^~~~~~~~
  9431. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  9432. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9433. | ^~~~~~~~
  9434. | |
  9435. | long unsigned int
  9436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  9437. 2535 | unsigned int gup_flags, struct page **pages);
  9438. | ~~~~~~~~~~~~~~^~~~~
  9439. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  9440. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9441. | ^~~~~~~~~~~~~~ ~~~~~
  9442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  9443. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9444. | ^~~~~~~~~~~~~~
  9445. In file included from ././common/inc/nv.h:35:
  9446. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  9447. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9448. 8 | #define NULL ((void *)0)
  9449. | ^~~~~~~~~~~
  9450. | |
  9451. | void *
  9452. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  9453. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9454. | ^~~~
  9455. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  9456. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9457. | ~~~~~~~~~~~~~~^~~~~
  9458. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9459. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9460. | ^~
  9461. | |
  9462. | struct mm_struct *
  9463. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  9464. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9465. | ~~~~~~~~~~~~~~^~~~~~~~
  9466. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  9467. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9468. | ^~~~~~~~
  9469. | |
  9470. | long unsigned int
  9471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  9472. 2535 | unsigned int gup_flags, struct page **pages);
  9473. | ~~~~~~~~~~~~~~^~~~~
  9474. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  9475. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9476. | ^~~~~~~~~~~~~~ ~~~~~
  9477. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  9478. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9479. | ^~~~~~~~~~~~~~
  9480. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  9481. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  9482. 237 | return (unsigned long)(vmf->virtual_address);
  9483. | ^~~~~~~~~~~~~~~
  9484. | real_address
  9485. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  9486. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9487. 246 | down_read(&mm->mmap_sem);
  9488. | ^~~~~~~~
  9489. | mmap_base
  9490. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  9491. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9492. 255 | up_read(&mm->mmap_sem);
  9493. | ^~~~~~~~
  9494. | mmap_base
  9495. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  9496. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9497. 264 | down_write(&mm->mmap_sem);
  9498. | ^~~~~~~~
  9499. | mmap_base
  9500. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  9501. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9502. 273 | up_write(&mm->mmap_sem);
  9503. | ^~~~~~~~
  9504. | mmap_base
  9505. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  9506. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9507. 282 | return rwsem_is_locked(&mm->mmap_sem);
  9508. | ^~~~~~~~
  9509. | mmap_base
  9510. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  9511. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9512. 291 | return &mm->mmap_sem;
  9513. | ^~~~~~~~
  9514. | mmap_base
  9515. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  9516. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  9517. 300 | vma->vm_flags |= flags;
  9518. | ^~
  9519. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  9520. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  9521. 309 | vma->vm_flags &= ~flags;
  9522. | ^~
  9523. In file included from ././common/inc/nv-linux.h:37:
  9524. ././common/inc/nv-time.h: At top level:
  9525. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  9526. 40 | struct timespec64 {
  9527. | ^~~~~~~~~~
  9528. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  9529. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  9530. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  9531. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  9532. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  9533. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  9534. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  9535. 13 | struct timespec64 {
  9536. | ^~~~~~~~~~
  9537. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  9538. 77 | static inline struct timespec64 timespec64_add
  9539. | ^~~~~~~~~~~~~~
  9540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  9541. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  9542. | ^~~~~~~~~~~~~~
  9543. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  9544. 95 | static inline struct timespec64 timespec64_sub
  9545. | ^~~~~~~~~~~~~~
  9546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  9547. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  9548. | ^~~~~~~~~~~~~~
  9549. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  9550. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  9551. | ^~~~~~~~~~~~~~~~
  9552. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  9553. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  9554. | ^~~~~~~~~~~~~~~~
  9555. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  9556. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9557. 122 | ktime_get_raw_ts64(&ts);
  9558. | ^~~
  9559. | |
  9560. | struct timespec64 *
  9561. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  9562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9563. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9564. | ~~~~~~~~~~~~~~~~~~~^~
  9565. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  9566. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9567. 185 | ktime_get_raw_ts64(&tm_aux);
  9568. | ^~~~~~~
  9569. | |
  9570. | struct timespec64 *
  9571. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9572. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9573. | ~~~~~~~~~~~~~~~~~~~^~
  9574. In file included from ././common/inc/conftest.h:28,
  9575. from ././common/inc/nv-time.h:27,
  9576. from nvidia-uvm/uvm_linux.h:37,
  9577. from nvidia-uvm/uvm_common.h:43,
  9578. from nvidia-uvm/uvm_api.h:28,
  9579. from nvidia-uvm/uvm_global.c:24:
  9580. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  9581. 74 | #error dma_buf_export() conftest failed!
  9582. | ^~~~~
  9583. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  9584. 87 | #error wait_on_bit_lock() conftest failed!
  9585. | ^~~~~
  9586. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  9587. 90 | #error radix_tree_replace_slot() conftest failed!
  9588. | ^~~~~
  9589. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9590. 221 | ktime_get_raw_ts64(&tm_aux);
  9591. | ^~~~~~~
  9592. | |
  9593. | struct timespec64 *
  9594. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9595. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9596. | ~~~~~~~~~~~~~~~~~~~^~
  9597. In file included from ././common/inc/nv-linux.h:37:
  9598. ././common/inc/nv-time.h: At top level:
  9599. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  9600. 40 | struct timespec64 {
  9601. | ^~~~~~~~~~
  9602. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  9603. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  9604. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  9605. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  9606. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  9607. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  9608. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  9609. 13 | struct timespec64 {
  9610. | ^~~~~~~~~~
  9611. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  9612. 77 | static inline struct timespec64 timespec64_add
  9613. | ^~~~~~~~~~~~~~
  9614. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  9615. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  9616. | ^~~~~~~~~~~~~~
  9617. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  9618. 95 | static inline struct timespec64 timespec64_sub
  9619. | ^~~~~~~~~~~~~~
  9620. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  9621. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  9622. | ^~~~~~~~~~~~~~
  9623. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  9624. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  9625. | ^~~~~~~~~~~~~~~~
  9626. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  9627. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  9628. | ^~~~~~~~~~~~~~~~
  9629. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  9630. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9631. 122 | ktime_get_raw_ts64(&ts);
  9632. | ^~~
  9633. | |
  9634. | struct timespec64 *
  9635. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  9636. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9637. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9638. | ~~~~~~~~~~~~~~~~~~~^~
  9639. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  9640. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9641. 185 | ktime_get_raw_ts64(&tm_aux);
  9642. | ^~~~~~~
  9643. | |
  9644. | struct timespec64 *
  9645. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9646. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9647. | ~~~~~~~~~~~~~~~~~~~^~
  9648. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  9649. 221 | ktime_get_raw_ts64(&tm_aux);
  9650. | ^~~~~~~
  9651. | |
  9652. | struct timespec64 *
  9653. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  9654. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  9655. | ~~~~~~~~~~~~~~~~~~~^~
  9656. In file included from ././common/inc/conftest.h:28,
  9657. from ././common/inc/nv-kthread-q.h:33,
  9658. from nvidia-uvm/nv-kthread-q.c:24:
  9659. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  9660. 74 | #error dma_buf_export() conftest failed!
  9661. | ^~~~~
  9662. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  9663. 87 | #error wait_on_bit_lock() conftest failed!
  9664. | ^~~~~
  9665. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  9666. 90 | #error radix_tree_replace_slot() conftest failed!
  9667. | ^~~~~
  9668. In file included from ././common/inc/nv-linux.h:34,
  9669. from nvidia-uvm/uvm_linux.h:40:
  9670. ././common/inc/nv-mm.h: At top level:
  9671. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  9672. 29 | typedef int vm_fault_t;
  9673. | ^~~~~~~~~~
  9674. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  9675. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  9676. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  9677. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  9678. from ././common/inc/nv-lock.h:35,
  9679. from ././common/inc/nv-linux.h:32:
  9680. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  9681. 1311 | typedef __bitwise unsigned int vm_fault_t;
  9682. | ^~~~~~~~~~
  9683. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  9684. from ././common/inc/nv-time.h:28:
  9685. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  9686. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9687. 52 | #define current get_current()
  9688. | ^~~~~~~~~~~~~
  9689. | |
  9690. | struct task_struct *
  9691. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  9692. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9693. | ^~~~~~~
  9694. In file included from ././common/inc/nv-pgprot.h:30,
  9695. from ././common/inc/nv-linux.h:33:
  9696. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  9697. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9698. | ~~~~~~~~~~~~~~^~~~~
  9699. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9700. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  9702. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9703. | ~~~~~~~~~~~~~~^~~~~~~~
  9704. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  9705. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9706. | ^~~~~~~~
  9707. | |
  9708. | long unsigned int
  9709. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  9710. 2535 | unsigned int gup_flags, struct page **pages);
  9711. | ~~~~~~~~~~~~~~^~~~~
  9712. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  9713. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9714. | ^~~~~~~~~~~~~~ ~~~~~
  9715. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  9716. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9717. | ^~~~~~~~~~~~~~
  9718. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  9719. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  9720. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  9721. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  9722. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  9723. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  9724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9725. 8 | #define NULL ((void *)0)
  9726. | ^~~~~~~~~~~
  9727. | |
  9728. | void *
  9729. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  9730. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9731. | ^~~~
  9732. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  9733. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9734. | ~~~~~~~~~~~~~~^~~~~
  9735. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9736. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9737. | ^~
  9738. | |
  9739. | struct mm_struct *
  9740. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  9741. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9742. | ~~~~~~~~~~~~~~^~~~~~~~
  9743. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  9744. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9745. | ^~~~~~~~
  9746. | |
  9747. | long unsigned int
  9748. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  9749. 2535 | unsigned int gup_flags, struct page **pages);
  9750. | ~~~~~~~~~~~~~~^~~~~
  9751. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  9752. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9753. | ^~~~~~~~~~~~~~ ~~~~~
  9754. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  9755. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9756. | ^~~~~~~~~~~~~~
  9757. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  9758. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  9759. 237 | return (unsigned long)(vmf->virtual_address);
  9760. | ^~~~~~~~~~~~~~~
  9761. | real_address
  9762. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  9763. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9764. 246 | down_read(&mm->mmap_sem);
  9765. | ^~~~~~~~
  9766. | mmap_base
  9767. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  9768. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9769. 255 | up_read(&mm->mmap_sem);
  9770. | ^~~~~~~~
  9771. | mmap_base
  9772. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  9773. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9774. 264 | down_write(&mm->mmap_sem);
  9775. | ^~~~~~~~
  9776. | mmap_base
  9777. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  9778. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9779. 273 | up_write(&mm->mmap_sem);
  9780. | ^~~~~~~~
  9781. | mmap_base
  9782. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  9783. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9784. 282 | return rwsem_is_locked(&mm->mmap_sem);
  9785. | ^~~~~~~~
  9786. | mmap_base
  9787. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  9788. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9789. 291 | return &mm->mmap_sem;
  9790. | ^~~~~~~~
  9791. | mmap_base
  9792. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  9793. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  9794. 300 | vma->vm_flags |= flags;
  9795. | ^~
  9796. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  9797. In file included from ././common/inc/nv-linux.h:34,
  9798. from nvidia-uvm/uvm_linux.h:40:
  9799. ././common/inc/nv-mm.h: At top level:
  9800. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  9801. 29 | typedef int vm_fault_t;
  9802. | ^~~~~~~~~~
  9803. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  9804. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  9805. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  9806. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  9807. from ././common/inc/nv-lock.h:35,
  9808. from ././common/inc/nv-linux.h:32:
  9809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  9810. 1311 | typedef __bitwise unsigned int vm_fault_t;
  9811. | ^~~~~~~~~~
  9812. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  9813. from ././common/inc/nv-time.h:28:
  9814. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  9815. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9816. 52 | #define current get_current()
  9817. | ^~~~~~~~~~~~~
  9818. | |
  9819. | struct task_struct *
  9820. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  9821. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9822. | ^~~~~~~
  9823. In file included from ././common/inc/nv-pgprot.h:30,
  9824. from ././common/inc/nv-linux.h:33:
  9825. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  9826. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9827. | ~~~~~~~~~~~~~~^~~~~
  9828. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9829. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9830. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  9831. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9832. | ~~~~~~~~~~~~~~^~~~~~~~
  9833. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  9834. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9835. | ^~~~~~~~
  9836. | |
  9837. | long unsigned int
  9838. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  9839. 2535 | unsigned int gup_flags, struct page **pages);
  9840. | ~~~~~~~~~~~~~~^~~~~
  9841. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  9842. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9843. | ^~~~~~~~~~~~~~ ~~~~~
  9844. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  9845. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9846. | ^~~~~~~~~~~~~~
  9847. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  9848. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  9849. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  9850. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  9851. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  9852. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  9853. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9854. 8 | #define NULL ((void *)0)
  9855. | ^~~~~~~~~~~
  9856. | |
  9857. | void *
  9858. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  9859. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9860. | ^~~~
  9861. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  9862. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9863. | ~~~~~~~~~~~~~~^~~~~
  9864. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9865. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9866. | ^~
  9867. | |
  9868. | struct mm_struct *
  9869. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  9870. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9871. | ~~~~~~~~~~~~~~^~~~~~~~
  9872. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  9873. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9874. | ^~~~~~~~
  9875. | |
  9876. | long unsigned int
  9877. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  9878. 2535 | unsigned int gup_flags, struct page **pages);
  9879. | ~~~~~~~~~~~~~~^~~~~
  9880. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  9881. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  9882. | ^~~~~~~~~~~~~~ ~~~~~
  9883. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  9884. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9885. | ^~~~~~~~~~~~~~
  9886. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  9887. 309 | vma->vm_flags &= ~flags;
  9888. | ^~
  9889. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  9890. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  9891. 237 | return (unsigned long)(vmf->virtual_address);
  9892. | ^~~~~~~~~~~~~~~
  9893. | real_address
  9894. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  9895. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9896. 246 | down_read(&mm->mmap_sem);
  9897. | ^~~~~~~~
  9898. | mmap_base
  9899. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  9900. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9901. 255 | up_read(&mm->mmap_sem);
  9902. | ^~~~~~~~
  9903. | mmap_base
  9904. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  9905. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9906. 264 | down_write(&mm->mmap_sem);
  9907. | ^~~~~~~~
  9908. | mmap_base
  9909. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  9910. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9911. 273 | up_write(&mm->mmap_sem);
  9912. | ^~~~~~~~
  9913. | mmap_base
  9914. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  9915. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9916. 282 | return rwsem_is_locked(&mm->mmap_sem);
  9917. | ^~~~~~~~
  9918. | mmap_base
  9919. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  9920. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  9921. 291 | return &mm->mmap_sem;
  9922. | ^~~~~~~~
  9923. | mmap_base
  9924. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  9925. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  9926. 300 | vma->vm_flags |= flags;
  9927. | ^~
  9928. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  9929. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  9930. 309 | vma->vm_flags &= ~flags;
  9931. | ^~
  9932. In file included from ././common/inc/conftest.h:28,
  9933. from ././common/inc/nv-kthread-q.h:33,
  9934. from nvidia-uvm/nv-kthread-q-selftest.c:24:
  9935. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  9936. 74 | #error dma_buf_export() conftest failed!
  9937. | ^~~~~
  9938. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  9939. 87 | #error wait_on_bit_lock() conftest failed!
  9940. | ^~~~~
  9941. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  9942. 90 | #error radix_tree_replace_slot() conftest failed!
  9943. | ^~~~~
  9944. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  9945. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  9946. 502 | NV_MEMDBG_ADD(ptr, size);
  9947. | ^
  9948. In file included from ././common/inc/nv-linux.h:34,
  9949. from ././nvidia-uvm/uvm_linux.h:40:
  9950. ././common/inc/nv-mm.h: At top level:
  9951. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  9952. 29 | typedef int vm_fault_t;
  9953. | ^~~~~~~~~~
  9954. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  9955. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  9956. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  9957. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  9958. from ././common/inc/nv-lock.h:35,
  9959. from ././common/inc/nv-linux.h:32:
  9960. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  9961. 1311 | typedef __bitwise unsigned int vm_fault_t;
  9962. | ^~~~~~~~~~
  9963. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  9964. from ././common/inc/nv-time.h:28:
  9965. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  9966. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9967. 52 | #define current get_current()
  9968. | ^~~~~~~~~~~~~
  9969. | |
  9970. | struct task_struct *
  9971. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  9972. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9973. | ^~~~~~~
  9974. In file included from ././common/inc/nv-pgprot.h:30,
  9975. from ././common/inc/nv-linux.h:33:
  9976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  9977. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9978. | ~~~~~~~~~~~~~~^~~~~
  9979. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  9980. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9981. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  9982. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9983. | ~~~~~~~~~~~~~~^~~~~~~~
  9984. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  9985. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9986. | ^~~~~~~~
  9987. | |
  9988. | long unsigned int
  9989. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  9990. 2535 | unsigned int gup_flags, struct page **pages);
  9991. | ~~~~~~~~~~~~~~^~~~~
  9992. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  9993. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  9994. | ^~~~~~~~~~~~~~ ~~~~~
  9995. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  9996. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  9997. | ^~~~~~~~~~~~~~
  9998. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  9999. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  10000. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  10001. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  10002. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  10003. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  10004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10005. 8 | #define NULL ((void *)0)
  10006. | ^~~~~~~~~~~
  10007. | |
  10008. | void *
  10009. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  10010. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10011. | ^~~~
  10012. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  10013. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10014. | ~~~~~~~~~~~~~~^~~~~
  10015. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10016. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10017. | ^~
  10018. | |
  10019. | struct mm_struct *
  10020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  10021. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10022. | ~~~~~~~~~~~~~~^~~~~~~~
  10023. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  10024. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10025. | ^~~~~~~~
  10026. | |
  10027. | long unsigned int
  10028. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  10029. 2535 | unsigned int gup_flags, struct page **pages);
  10030. | ~~~~~~~~~~~~~~^~~~~
  10031. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  10032. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10033. | ^~~~~~~~~~~~~~ ~~~~~
  10034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  10035. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10036. | ^~~~~~~~~~~~~~
  10037. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  10038. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  10039. 237 | return (unsigned long)(vmf->virtual_address);
  10040. | ^~~~~~~~~~~~~~~
  10041. | real_address
  10042. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  10043. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10044. 246 | down_read(&mm->mmap_sem);
  10045. | ^~~~~~~~
  10046. | mmap_base
  10047. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  10048. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10049. 255 | up_read(&mm->mmap_sem);
  10050. | ^~~~~~~~
  10051. | mmap_base
  10052. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  10053. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10054. 264 | down_write(&mm->mmap_sem);
  10055. | ^~~~~~~~
  10056. | mmap_base
  10057. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  10058. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10059. 273 | up_write(&mm->mmap_sem);
  10060. | ^~~~~~~~
  10061. | mmap_base
  10062. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  10063. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10064. 282 | return rwsem_is_locked(&mm->mmap_sem);
  10065. | ^~~~~~~~
  10066. | mmap_base
  10067. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  10068. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10069. 291 | return &mm->mmap_sem;
  10070. | ^~~~~~~~
  10071. | mmap_base
  10072. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  10073. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  10074. 300 | vma->vm_flags |= flags;
  10075. | ^~
  10076. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  10077. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  10078. 309 | vma->vm_flags &= ~flags;
  10079. | ^~
  10080. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  10081. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10082. 502 | NV_MEMDBG_ADD(ptr, size);
  10083. | ^
  10084. In file included from ././common/inc/nv-linux.h:34,
  10085. from nvidia-uvm/uvm_linux.h:40:
  10086. ././common/inc/nv-mm.h: At top level:
  10087. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  10088. 29 | typedef int vm_fault_t;
  10089. | ^~~~~~~~~~
  10090. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  10091. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  10092. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  10093. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  10094. from ././common/inc/nv-lock.h:35,
  10095. from ././common/inc/nv-linux.h:32:
  10096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  10097. 1311 | typedef __bitwise unsigned int vm_fault_t;
  10098. | ^~~~~~~~~~
  10099. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  10100. from ././common/inc/nv-time.h:28:
  10101. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  10102. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  10103. 40 | struct timespec64 {
  10104. | ^~~~~~~~~~
  10105. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  10106. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  10107. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  10108. from ././common/inc/nv-time.h:29:
  10109. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  10110. 13 | struct timespec64 {
  10111. | ^~~~~~~~~~
  10112. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10113. 52 | #define current get_current()
  10114. | ^~~~~~~~~~~~~
  10115. | |
  10116. | struct task_struct *
  10117. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  10118. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10119. | ^~~~~~~
  10120. In file included from ././common/inc/nv-pgprot.h:30,
  10121. from ././common/inc/nv-linux.h:33:
  10122. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  10123. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10124. | ~~~~~~~~~~~~~~^~~~~
  10125. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10126. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10127. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  10128. 77 | static inline struct timespec64 timespec64_add
  10129. | ^~~~~~~~~~~~~~
  10130. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  10131. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  10132. | ^~~~~~~~~~~~~~
  10133. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  10134. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10135. | ~~~~~~~~~~~~~~^~~~~~~~
  10136. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  10137. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10138. | ^~~~~~~~
  10139. | |
  10140. | long unsigned int
  10141. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  10142. 2535 | unsigned int gup_flags, struct page **pages);
  10143. | ~~~~~~~~~~~~~~^~~~~
  10144. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  10145. 95 | static inline struct timespec64 timespec64_sub
  10146. | ^~~~~~~~~~~~~~
  10147. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  10148. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  10149. | ^~~~~~~~~~~~~~
  10150. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  10151. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10152. | ^~~~~~~~~~~~~~ ~~~~~
  10153. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  10154. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  10155. | ^~~~~~~~~~~~~~~~
  10156. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  10157. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  10158. | ^~~~~~~~~~~~~~~~
  10159. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  10160. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10161. | ^~~~~~~~~~~~~~
  10162. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  10163. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10164. 122 | ktime_get_raw_ts64(&ts);
  10165. | ^~~
  10166. | |
  10167. | struct timespec64 *
  10168. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  10169. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  10170. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  10171. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  10172. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  10173. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  10174. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  10175. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  10176. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  10177. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  10178. from ././common/inc/nv-time.h:30:
  10179. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10180. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10181. | ~~~~~~~~~~~~~~~~~~~^~
  10182. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10183. 8 | #define NULL ((void *)0)
  10184. | ^~~~~~~~~~~
  10185. | |
  10186. | void *
  10187. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  10188. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10189. | ^~~~
  10190. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  10191. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10192. | ~~~~~~~~~~~~~~^~~~~
  10193. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10194. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10195. | ^~
  10196. | |
  10197. | struct mm_struct *
  10198. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  10199. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10200. | ~~~~~~~~~~~~~~^~~~~~~~
  10201. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  10202. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10203. | ^~~~~~~~
  10204. | |
  10205. | long unsigned int
  10206. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  10207. 2535 | unsigned int gup_flags, struct page **pages);
  10208. | ~~~~~~~~~~~~~~^~~~~
  10209. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  10210. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10211. | ^~~~~~~~~~~~~~ ~~~~~
  10212. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  10213. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10214. | ^~~~~~~~~~~~~~
  10215. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  10216. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10217. 185 | ktime_get_raw_ts64(&tm_aux);
  10218. | ^~~~~~~
  10219. | |
  10220. | struct timespec64 *
  10221. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  10222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10223. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10224. | ~~~~~~~~~~~~~~~~~~~^~
  10225. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  10226. 237 | return (unsigned long)(vmf->virtual_address);
  10227. | ^~~~~~~~~~~~~~~
  10228. | real_address
  10229. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  10230. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10231. 246 | down_read(&mm->mmap_sem);
  10232. | ^~~~~~~~
  10233. | mmap_base
  10234. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  10235. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10236. 255 | up_read(&mm->mmap_sem);
  10237. | ^~~~~~~~
  10238. | mmap_base
  10239. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  10240. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10241. 264 | down_write(&mm->mmap_sem);
  10242. | ^~~~~~~~
  10243. | mmap_base
  10244. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  10245. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10246. 273 | up_write(&mm->mmap_sem);
  10247. | ^~~~~~~~
  10248. | mmap_base
  10249. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  10250. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10251. 282 | return rwsem_is_locked(&mm->mmap_sem);
  10252. | ^~~~~~~~
  10253. | mmap_base
  10254. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  10255. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10256. 291 | return &mm->mmap_sem;
  10257. | ^~~~~~~~
  10258. | mmap_base
  10259. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  10260. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  10261. 300 | vma->vm_flags |= flags;
  10262. | ^~
  10263. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10264. 221 | ktime_get_raw_ts64(&tm_aux);
  10265. | ^~~~~~~
  10266. | |
  10267. | struct timespec64 *
  10268. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  10269. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  10270. 309 | vma->vm_flags &= ~flags;
  10271. | ^~
  10272. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10273. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10274. | ~~~~~~~~~~~~~~~~~~~^~
  10275. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  10276. 40 | struct timespec64 {
  10277. | ^~~~~~~~~~
  10278. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  10279. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  10280. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  10281. from ././common/inc/nv-time.h:29:
  10282. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  10283. 13 | struct timespec64 {
  10284. | ^~~~~~~~~~
  10285. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  10286. 77 | static inline struct timespec64 timespec64_add
  10287. | ^~~~~~~~~~~~~~
  10288. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  10289. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  10290. | ^~~~~~~~~~~~~~
  10291. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  10292. 95 | static inline struct timespec64 timespec64_sub
  10293. | ^~~~~~~~~~~~~~
  10294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  10295. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  10296. | ^~~~~~~~~~~~~~
  10297. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  10298. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  10299. | ^~~~~~~~~~~~~~~~
  10300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  10301. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  10302. | ^~~~~~~~~~~~~~~~
  10303. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  10304. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10305. 122 | ktime_get_raw_ts64(&ts);
  10306. | ^~~
  10307. | |
  10308. | struct timespec64 *
  10309. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  10310. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  10311. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  10312. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  10313. from ././common/inc/nv-time.h:30:
  10314. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10315. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10316. | ~~~~~~~~~~~~~~~~~~~^~
  10317. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  10318. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10319. 185 | ktime_get_raw_ts64(&tm_aux);
  10320. | ^~~~~~~
  10321. | |
  10322. | struct timespec64 *
  10323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10324. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10325. | ~~~~~~~~~~~~~~~~~~~^~
  10326. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10327. 221 | ktime_get_raw_ts64(&tm_aux);
  10328. | ^~~~~~~
  10329. | |
  10330. | struct timespec64 *
  10331. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10332. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10333. | ~~~~~~~~~~~~~~~~~~~^~
  10334. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  10335. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  10336. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  10337. | ^~~~~~~~~~~~~~~~~~~~~~~
  10338. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10339. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10340. 520 | NV_MEMDBG_ADD(ptr, size);
  10341. | ^
  10342. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  10343. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  10344. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  10345. | ^~~~~~~~~~~~~~~~~~~~~~~
  10346. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10347. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10348. 520 | NV_MEMDBG_ADD(ptr, size);
  10349. | ^
  10350. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  10351. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  10352. 533 | ptr = ioremap_cache_shared(phys, size);
  10353. | ^~~~~~~~~~~~~~~~~~~~
  10354. | ioremap_cache
  10355. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10356. 533 | ptr = ioremap_cache_shared(phys, size);
  10357. | ^
  10358. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10359. 556 | NV_MEMDBG_ADD(ptr, size);
  10360. | ^
  10361. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  10362. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10363. 502 | NV_MEMDBG_ADD(ptr, size);
  10364. | ^
  10365. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  10366. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10367. 502 | NV_MEMDBG_ADD(ptr, size);
  10368. | ^
  10369. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  10370. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  10371. 533 | ptr = ioremap_cache_shared(phys, size);
  10372. | ^~~~~~~~~~~~~~~~~~~~
  10373. | ioremap_cache
  10374. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10375. 533 | ptr = ioremap_cache_shared(phys, size);
  10376. | ^
  10377. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10378. 556 | NV_MEMDBG_ADD(ptr, size);
  10379. | ^
  10380. In file included from ././common/inc/nv-linux.h:34,
  10381. from nvidia-uvm/uvm_linux.h:40:
  10382. ././common/inc/nv-mm.h: At top level:
  10383. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  10384. 29 | typedef int vm_fault_t;
  10385. | ^~~~~~~~~~
  10386. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  10387. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  10388. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  10389. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  10390. from ././common/inc/nv-lock.h:35,
  10391. from ././common/inc/nv-linux.h:32:
  10392. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  10393. 1311 | typedef __bitwise unsigned int vm_fault_t;
  10394. | ^~~~~~~~~~
  10395. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  10396. from ././common/inc/nv-time.h:28:
  10397. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  10398. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10399. 52 | #define current get_current()
  10400. | ^~~~~~~~~~~~~
  10401. | |
  10402. | struct task_struct *
  10403. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  10404. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10405. | ^~~~~~~
  10406. In file included from ././common/inc/nv-pgprot.h:30,
  10407. from ././common/inc/nv-linux.h:33:
  10408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  10409. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10410. | ~~~~~~~~~~~~~~^~~~~
  10411. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10412. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10413. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  10414. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10415. | ~~~~~~~~~~~~~~^~~~~~~~
  10416. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  10417. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10418. | ^~~~~~~~
  10419. | |
  10420. | long unsigned int
  10421. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  10422. 2535 | unsigned int gup_flags, struct page **pages);
  10423. | ~~~~~~~~~~~~~~^~~~~
  10424. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  10425. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10426. | ^~~~~~~~~~~~~~ ~~~~~
  10427. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  10428. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10429. | ^~~~~~~~~~~~~~
  10430. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  10431. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  10432. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  10433. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  10434. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  10435. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  10436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10437. 8 | #define NULL ((void *)0)
  10438. | ^~~~~~~~~~~
  10439. | |
  10440. | void *
  10441. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  10442. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10443. | ^~~~
  10444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  10445. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10446. | ~~~~~~~~~~~~~~^~~~~
  10447. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10448. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10449. | ^~
  10450. | |
  10451. | struct mm_struct *
  10452. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  10453. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10454. | ~~~~~~~~~~~~~~^~~~~~~~
  10455. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  10456. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10457. | ^~~~~~~~
  10458. | |
  10459. | long unsigned int
  10460. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  10461. 2535 | unsigned int gup_flags, struct page **pages);
  10462. | ~~~~~~~~~~~~~~^~~~~
  10463. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  10464. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10465. | ^~~~~~~~~~~~~~ ~~~~~
  10466. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  10467. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10468. | ^~~~~~~~~~~~~~
  10469. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  10470. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  10471. 237 | return (unsigned long)(vmf->virtual_address);
  10472. | ^~~~~~~~~~~~~~~
  10473. | real_address
  10474. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  10475. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10476. 246 | down_read(&mm->mmap_sem);
  10477. | ^~~~~~~~
  10478. | mmap_base
  10479. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  10480. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10481. 255 | up_read(&mm->mmap_sem);
  10482. | ^~~~~~~~
  10483. | mmap_base
  10484. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  10485. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10486. 264 | down_write(&mm->mmap_sem);
  10487. | ^~~~~~~~
  10488. | mmap_base
  10489. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  10490. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10491. 273 | up_write(&mm->mmap_sem);
  10492. | ^~~~~~~~
  10493. | mmap_base
  10494. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  10495. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10496. 282 | return rwsem_is_locked(&mm->mmap_sem);
  10497. | ^~~~~~~~
  10498. | mmap_base
  10499. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  10500. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10501. 291 | return &mm->mmap_sem;
  10502. | ^~~~~~~~
  10503. | mmap_base
  10504. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  10505. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  10506. 300 | vma->vm_flags |= flags;
  10507. | ^~
  10508. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  10509. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  10510. 309 | vma->vm_flags &= ~flags;
  10511. | ^~
  10512. In file included from ././common/inc/nv-linux.h:34,
  10513. from nvidia-uvm/uvm_linux.h:40:
  10514. ././common/inc/nv-mm.h: At top level:
  10515. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  10516. 29 | typedef int vm_fault_t;
  10517. | ^~~~~~~~~~
  10518. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  10519. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  10520. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  10521. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  10522. from ././common/inc/nv-lock.h:35,
  10523. from ././common/inc/nv-linux.h:32:
  10524. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  10525. 1311 | typedef __bitwise unsigned int vm_fault_t;
  10526. | ^~~~~~~~~~
  10527. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  10528. from ././common/inc/nv-time.h:28:
  10529. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  10530. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10531. 52 | #define current get_current()
  10532. | ^~~~~~~~~~~~~
  10533. | |
  10534. | struct task_struct *
  10535. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  10536. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10537. | ^~~~~~~
  10538. In file included from ././common/inc/nv-pgprot.h:30,
  10539. from ././common/inc/nv-linux.h:33:
  10540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  10541. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10542. | ~~~~~~~~~~~~~~^~~~~
  10543. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10544. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10545. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  10546. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10547. | ~~~~~~~~~~~~~~^~~~~~~~
  10548. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  10549. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10550. | ^~~~~~~~
  10551. | |
  10552. | long unsigned int
  10553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  10554. 2535 | unsigned int gup_flags, struct page **pages);
  10555. | ~~~~~~~~~~~~~~^~~~~
  10556. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  10557. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10558. | ^~~~~~~~~~~~~~ ~~~~~
  10559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  10560. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10561. | ^~~~~~~~~~~~~~
  10562. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  10563. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  10564. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  10565. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  10566. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  10567. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  10568. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10569. 8 | #define NULL ((void *)0)
  10570. | ^~~~~~~~~~~
  10571. | |
  10572. | void *
  10573. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  10574. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10575. | ^~~~
  10576. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  10577. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10578. | ~~~~~~~~~~~~~~^~~~~
  10579. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10580. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10581. | ^~
  10582. | |
  10583. | struct mm_struct *
  10584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  10585. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10586. | ~~~~~~~~~~~~~~^~~~~~~~
  10587. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  10588. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10589. | ^~~~~~~~
  10590. | |
  10591. | long unsigned int
  10592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  10593. 2535 | unsigned int gup_flags, struct page **pages);
  10594. | ~~~~~~~~~~~~~~^~~~~
  10595. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  10596. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10597. | ^~~~~~~~~~~~~~ ~~~~~
  10598. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  10599. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10600. | ^~~~~~~~~~~~~~
  10601. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  10602. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  10603. 237 | return (unsigned long)(vmf->virtual_address);
  10604. | ^~~~~~~~~~~~~~~
  10605. | real_address
  10606. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  10607. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10608. 246 | down_read(&mm->mmap_sem);
  10609. | ^~~~~~~~
  10610. | mmap_base
  10611. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  10612. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10613. 255 | up_read(&mm->mmap_sem);
  10614. | ^~~~~~~~
  10615. | mmap_base
  10616. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  10617. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10618. 264 | down_write(&mm->mmap_sem);
  10619. | ^~~~~~~~
  10620. | mmap_base
  10621. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  10622. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10623. 273 | up_write(&mm->mmap_sem);
  10624. | ^~~~~~~~
  10625. | mmap_base
  10626. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  10627. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10628. 282 | return rwsem_is_locked(&mm->mmap_sem);
  10629. | ^~~~~~~~
  10630. | mmap_base
  10631. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  10632. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10633. 291 | return &mm->mmap_sem;
  10634. | ^~~~~~~~
  10635. | mmap_base
  10636. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  10637. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  10638. 300 | vma->vm_flags |= flags;
  10639. | ^~
  10640. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  10641. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  10642. 309 | vma->vm_flags &= ~flags;
  10643. | ^~
  10644. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  10645. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10646. 502 | NV_MEMDBG_ADD(ptr, size);
  10647. | ^
  10648. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  10649. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  10650. 40 | struct timespec64 {
  10651. | ^~~~~~~~~~
  10652. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10653. 502 | NV_MEMDBG_ADD(ptr, size);
  10654. | ^
  10655. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  10656. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  10657. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  10658. from ././common/inc/nv-time.h:29:
  10659. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  10660. 13 | struct timespec64 {
  10661. | ^~~~~~~~~~
  10662. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  10663. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  10664. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  10665. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  10666. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10667. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  10668. | ^
  10669. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10670. 573 | NV_MEMDBG_ADD(ptr, size);
  10671. | ^
  10672. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  10673. 77 | static inline struct timespec64 timespec64_add
  10674. | ^~~~~~~~~~~~~~
  10675. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  10676. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  10677. | ^~~~~~~~~~~~~~
  10678. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  10679. 95 | static inline struct timespec64 timespec64_sub
  10680. | ^~~~~~~~~~~~~~
  10681. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  10682. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  10683. | ^~~~~~~~~~~~~~
  10684. ././common/inc/nv-linux.h: In function 'nv_vmap':
  10685. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10686. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  10687. | ^
  10688. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  10689. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  10690. | ^~~~~~~~~~~~~~~~
  10691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  10692. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  10693. | ^~~~~~~~~~~~~~~~
  10694. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  10695. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10696. 122 | ktime_get_raw_ts64(&ts);
  10697. | ^~~
  10698. | |
  10699. | struct timespec64 *
  10700. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  10701. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  10702. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  10703. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  10704. from ././common/inc/nv-time.h:30:
  10705. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10706. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10707. | ~~~~~~~~~~~~~~~~~~~^~
  10708. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  10709. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10710. 185 | ktime_get_raw_ts64(&tm_aux);
  10711. | ^~~~~~~
  10712. | |
  10713. | struct timespec64 *
  10714. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10715. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10716. | ~~~~~~~~~~~~~~~~~~~^~
  10717. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10718. 221 | ktime_get_raw_ts64(&tm_aux);
  10719. | ^~~~~~~
  10720. | |
  10721. | struct timespec64 *
  10722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10723. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10724. | ~~~~~~~~~~~~~~~~~~~^~
  10725. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  10726. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  10727. 736 | return phys_to_dma(dev, pa);
  10728. | ^~~~~~~~~~~
  10729. | nv_phys_to_dma
  10730. In file included from ././common/inc/nv-linux.h:34,
  10731. from nvidia-uvm/uvm_linux.h:40:
  10732. ././common/inc/nv-mm.h: At top level:
  10733. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  10734. 29 | typedef int vm_fault_t;
  10735. | ^~~~~~~~~~
  10736. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  10737. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  10738. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  10739. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  10740. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  10741. from ././common/inc/nv-lock.h:35,
  10742. from ././common/inc/nv-linux.h:32:
  10743. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  10744. 1311 | typedef __bitwise unsigned int vm_fault_t;
  10745. | ^~~~~~~~~~
  10746. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  10747. from ././common/inc/nv-time.h:28:
  10748. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  10749. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10750. 52 | #define current get_current()
  10751. | ^~~~~~~~~~~~~
  10752. | |
  10753. | struct task_struct *
  10754. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  10755. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10756. | ^~~~~~~
  10757. In file included from ././common/inc/nv-pgprot.h:30,
  10758. from ././common/inc/nv-linux.h:33:
  10759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  10760. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10761. | ~~~~~~~~~~~~~~^~~~~
  10762. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10763. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10764. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  10765. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10766. | ~~~~~~~~~~~~~~^~~~~~~~
  10767. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  10768. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10769. | ^~~~~~~~
  10770. | |
  10771. | long unsigned int
  10772. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  10773. 2535 | unsigned int gup_flags, struct page **pages);
  10774. | ~~~~~~~~~~~~~~^~~~~
  10775. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  10776. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  10777. | ^~~~~~~~~~~~~~ ~~~~~
  10778. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  10779. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10780. | ^~~~~~~~~~~~~~
  10781. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  10782. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  10783. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  10784. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  10785. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  10786. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  10787. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10788. 8 | #define NULL ((void *)0)
  10789. | ^~~~~~~~~~~
  10790. | |
  10791. | void *
  10792. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  10793. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10794. | ^~~~
  10795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  10796. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10797. | ~~~~~~~~~~~~~~^~~~~
  10798. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  10799. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10800. | ^~
  10801. | |
  10802. | struct mm_struct *
  10803. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  10804. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10805. | ~~~~~~~~~~~~~~^~~~~~~~
  10806. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  10807. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10808. | ^~~~~~~~
  10809. | |
  10810. | long unsigned int
  10811. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  10812. 2535 | unsigned int gup_flags, struct page **pages);
  10813. | ~~~~~~~~~~~~~~^~~~~
  10814. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  10815. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  10816. | ^~~~~~~~~~~~~~ ~~~~~
  10817. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  10818. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  10819. | ^~~~~~~~~~~~~~
  10820. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  10821. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  10822. 237 | return (unsigned long)(vmf->virtual_address);
  10823. | ^~~~~~~~~~~~~~~
  10824. | real_address
  10825. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  10826. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10827. 246 | down_read(&mm->mmap_sem);
  10828. | ^~~~~~~~
  10829. | mmap_base
  10830. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  10831. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10832. 255 | up_read(&mm->mmap_sem);
  10833. | ^~~~~~~~
  10834. | mmap_base
  10835. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  10836. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10837. 264 | down_write(&mm->mmap_sem);
  10838. | ^~~~~~~~
  10839. | mmap_base
  10840. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  10841. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10842. 273 | up_write(&mm->mmap_sem);
  10843. | ^~~~~~~~
  10844. | mmap_base
  10845. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  10846. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10847. 282 | return rwsem_is_locked(&mm->mmap_sem);
  10848. | ^~~~~~~~
  10849. | mmap_base
  10850. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  10851. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  10852. 291 | return &mm->mmap_sem;
  10853. | ^~~~~~~~
  10854. | mmap_base
  10855. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  10856. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  10857. 300 | vma->vm_flags |= flags;
  10858. | ^~
  10859. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  10860. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  10861. 309 | vma->vm_flags &= ~flags;
  10862. | ^~
  10863. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  10864. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  10865. | ^~~~~~~~~~~~~~~~~~~~~~~
  10866. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10867. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10868. 520 | NV_MEMDBG_ADD(ptr, size);
  10869. | ^
  10870. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  10871. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10872. 502 | NV_MEMDBG_ADD(ptr, size);
  10873. | ^
  10874. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  10875. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  10876. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  10877. | ^~~~~~~~~~~~~~~~~~~~~~~
  10878. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10879. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10880. 520 | NV_MEMDBG_ADD(ptr, size);
  10881. | ^
  10882. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  10883. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  10884. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  10885. | ^~~~~~~~~~~~~
  10886. | d_is_dir
  10887. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  10888. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10889. 502 | NV_MEMDBG_ADD(ptr, size);
  10890. | ^
  10891. nvidia/linux_nvswitch.c: At top level:
  10892. nvidia/linux_nvswitch.c:52:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  10893. 52 | const static struct
  10894. | ^~~~~
  10895. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  10896. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  10897. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  10898. | ^~~~~~~~~~~~~~~~~~~~~~~
  10899. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10900. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10901. 520 | NV_MEMDBG_ADD(ptr, size);
  10902. | ^
  10903. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  10904. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  10905. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  10906. | ^~~~~~~~~~~~~~~~~~~~~~~
  10907. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10908. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10909. 520 | NV_MEMDBG_ADD(ptr, size);
  10910. | ^
  10911. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  10912. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  10913. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  10914. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  10915. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10916. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  10917. | ^
  10918. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10919. 573 | NV_MEMDBG_ADD(ptr, size);
  10920. | ^
  10921. ././common/inc/nv-linux.h: In function 'nv_vmap':
  10922. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10923. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  10924. | ^
  10925. nvidia/linux_nvswitch.c:1705:1: warning: no previous prototype for 'nvswitch_init' [-Wmissing-prototypes]
  10926. 1705 | nvswitch_init
  10927. | ^~~~~~~~~~~~~
  10928. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  10929. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  10930. 533 | ptr = ioremap_cache_shared(phys, size);
  10931. | ^~~~~~~~~~~~~~~~~~~~
  10932. | ioremap_cache
  10933. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10934. 533 | ptr = ioremap_cache_shared(phys, size);
  10935. | ^
  10936. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10937. 556 | NV_MEMDBG_ADD(ptr, size);
  10938. | ^
  10939. nvidia/linux_nvswitch.c:1790:1: warning: no previous prototype for 'nvswitch_exit' [-Wmissing-prototypes]
  10940. 1790 | nvswitch_exit
  10941. | ^~~~~~~~~~~~~
  10942. nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time':
  10943. nvidia/linux_nvswitch.c:1827:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10944. 1827 | ktime_get_raw_ts64(&ts);
  10945. | ^~~
  10946. | |
  10947. | struct timespec64 *
  10948. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  10949. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  10950. | ~~~~~~~~~~~~~~~~~~~^~
  10951. nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time_epoch':
  10952. nvidia/linux_nvswitch.c:1849:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  10953. 1849 | ktime_get_real_ts64(&ts);
  10954. | ^~~
  10955. | |
  10956. | struct timespec64 *
  10957. /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 *'
  10958. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  10959. | ~~~~~~~~~~~~~~~~~~~^~
  10960. nvidia-uvm/nv-kthread-q.c: In function 'thread_create_on_node':
  10961. nvidia-uvm/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  10962. 179 | const static unsigned attempts = 3;
  10963. | ^~~~~
  10964. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  10965. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  10966. 736 | return phys_to_dma(dev, pa);
  10967. | ^~~~~~~~~~~
  10968. | nv_phys_to_dma
  10969. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  10970. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  10971. 533 | ptr = ioremap_cache_shared(phys, size);
  10972. | ^~~~~~~~~~~~~~~~~~~~
  10973. | ioremap_cache
  10974. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10975. 533 | ptr = ioremap_cache_shared(phys, size);
  10976. | ^
  10977. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10978. 556 | NV_MEMDBG_ADD(ptr, size);
  10979. | ^
  10980. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  10981. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  10982. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  10983. | ^~~~~~~~~~~~~~~~~~~~~~~
  10984. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  10985. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  10986. 520 | NV_MEMDBG_ADD(ptr, size);
  10987. | ^
  10988. In file included from ././common/inc/nv-linux.h:34,
  10989. from nvidia-uvm/uvm_linux.h:40:
  10990. ././common/inc/nv-mm.h: At top level:
  10991. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  10992. 29 | typedef int vm_fault_t;
  10993. | ^~~~~~~~~~
  10994. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  10995. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  10996. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  10997. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  10998. from ././common/inc/nv-lock.h:35,
  10999. from ././common/inc/nv-linux.h:32:
  11000. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  11001. 1311 | typedef __bitwise unsigned int vm_fault_t;
  11002. | ^~~~~~~~~~
  11003. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  11004. from ././common/inc/nv-time.h:28:
  11005. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  11006. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11007. 52 | #define current get_current()
  11008. | ^~~~~~~~~~~~~
  11009. | |
  11010. | struct task_struct *
  11011. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  11012. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11013. | ^~~~~~~
  11014. In file included from ././common/inc/nv-pgprot.h:30,
  11015. from ././common/inc/nv-linux.h:33:
  11016. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  11017. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11018. | ~~~~~~~~~~~~~~^~~~~
  11019. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11020. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11021. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  11022. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11023. | ~~~~~~~~~~~~~~^~~~~~~~
  11024. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  11025. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11026. | ^~~~~~~~
  11027. | |
  11028. | long unsigned int
  11029. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  11030. 2535 | unsigned int gup_flags, struct page **pages);
  11031. | ~~~~~~~~~~~~~~^~~~~
  11032. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  11033. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11034. | ^~~~~~~~~~~~~~ ~~~~~
  11035. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  11036. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11037. | ^~~~~~~~~~~~~~
  11038. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  11039. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  11040. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  11041. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  11042. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  11043. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  11044. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11045. 8 | #define NULL ((void *)0)
  11046. | ^~~~~~~~~~~
  11047. | |
  11048. | void *
  11049. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  11050. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11051. | ^~~~
  11052. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  11053. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11054. | ~~~~~~~~~~~~~~^~~~~
  11055. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11056. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11057. | ^~
  11058. | |
  11059. | struct mm_struct *
  11060. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  11061. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11062. | ~~~~~~~~~~~~~~^~~~~~~~
  11063. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  11064. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11065. | ^~~~~~~~
  11066. | |
  11067. | long unsigned int
  11068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  11069. 2535 | unsigned int gup_flags, struct page **pages);
  11070. | ~~~~~~~~~~~~~~^~~~~
  11071. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  11072. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11073. | ^~~~~~~~~~~~~~ ~~~~~
  11074. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  11075. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11076. | ^~~~~~~~~~~~~~
  11077. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  11078. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  11079. 237 | return (unsigned long)(vmf->virtual_address);
  11080. | ^~~~~~~~~~~~~~~
  11081. | real_address
  11082. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  11083. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11084. 246 | down_read(&mm->mmap_sem);
  11085. | ^~~~~~~~
  11086. | mmap_base
  11087. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  11088. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11089. 255 | up_read(&mm->mmap_sem);
  11090. | ^~~~~~~~
  11091. | mmap_base
  11092. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  11093. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11094. 264 | down_write(&mm->mmap_sem);
  11095. | ^~~~~~~~
  11096. | mmap_base
  11097. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  11098. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11099. 273 | up_write(&mm->mmap_sem);
  11100. | ^~~~~~~~
  11101. | mmap_base
  11102. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  11103. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11104. 282 | return rwsem_is_locked(&mm->mmap_sem);
  11105. | ^~~~~~~~
  11106. | mmap_base
  11107. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  11108. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11109. 291 | return &mm->mmap_sem;
  11110. | ^~~~~~~~
  11111. | mmap_base
  11112. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  11113. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  11114. 300 | vma->vm_flags |= flags;
  11115. | ^~
  11116. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  11117. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  11118. 309 | vma->vm_flags &= ~flags;
  11119. | ^~
  11120. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/nv-kthread-q.o] Error 1
  11121. CC [M] nvidia-uvm/uvm_gpu.o
  11122. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  11123. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  11124. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  11125. | ^~~~~~~~~~~~~
  11126. | d_is_dir
  11127. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  11128. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  11129. 533 | ptr = ioremap_cache_shared(phys, size);
  11130. | ^~~~~~~~~~~~~~~~~~~~
  11131. | ioremap_cache
  11132. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11133. 533 | ptr = ioremap_cache_shared(phys, size);
  11134. | ^
  11135. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11136. 556 | NV_MEMDBG_ADD(ptr, size);
  11137. | ^
  11138. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/linux_nvswitch.o] Error 1
  11139. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  11140. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  11141. 533 | ptr = ioremap_cache_shared(phys, size);
  11142. | ^~~~~~~~~~~~~~~~~~~~
  11143. | ioremap_cache
  11144. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11145. 533 | ptr = ioremap_cache_shared(phys, size);
  11146. | ^
  11147. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11148. 556 | NV_MEMDBG_ADD(ptr, size);
  11149. | ^
  11150. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  11151. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  11152. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  11153. | ^~~~~~~~~~~~~~~~~~~~~~~
  11154. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11155. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11156. 520 | NV_MEMDBG_ADD(ptr, size);
  11157. | ^
  11158. CC [M] nvidia-uvm/uvm_gpu_isr.o
  11159. In file included from ././common/inc/conftest.h:28,
  11160. from ././common/inc/nv-time.h:27,
  11161. from ././nvidia-uvm/uvm_linux.h:37,
  11162. from ././common/inc/nv_uvm_interface.h:37,
  11163. from nvidia-uvm/uvm_gpu.c:24:
  11164. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  11165. 74 | #error dma_buf_export() conftest failed!
  11166. | ^~~~~
  11167. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  11168. 87 | #error wait_on_bit_lock() conftest failed!
  11169. | ^~~~~
  11170. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  11171. 90 | #error radix_tree_replace_slot() conftest failed!
  11172. | ^~~~~
  11173. In file included from ././common/inc/nv-procfs.h:26,
  11174. from nvidia/nvlink_linux.c:31:
  11175. nvidia/nvlink_linux.c: In function 'nvlink_permissions_init':
  11176. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  11177. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  11178. | ^~~~
  11179. | |
  11180. | const nv_proc_ops_t * {aka const struct file_operations *}
  11181. nvidia/nvlink_linux.c:115:26: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  11182. 115 | nvlink_permissions = NV_CREATE_PROC_FILE("permissions",
  11183. | ^~~~~~~~~~~~~~~~~~~
  11184. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  11185. from ././common/inc/nv-linux.h:220:
  11186. /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 *'}
  11187. 111 | const struct proc_ops *,
  11188. | ^~~~~~~~~~~~~~~~~~~~~~~
  11189. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  11190. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  11191. 533 | ptr = ioremap_cache_shared(phys, size);
  11192. | ^~~~~~~~~~~~~~~~~~~~
  11193. | ioremap_cache
  11194. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11195. 533 | ptr = ioremap_cache_shared(phys, size);
  11196. | ^
  11197. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11198. 556 | NV_MEMDBG_ADD(ptr, size);
  11199. | ^
  11200. nvidia/nvlink_linux.c: At top level:
  11201. nvidia/nvlink_linux.c:313:12: warning: no previous prototype for 'nvlink_core_init' [-Wmissing-prototypes]
  11202. 313 | int __init nvlink_core_init(void)
  11203. | ^~~~~~~~~~~~~~~~
  11204. nvidia/nvlink_linux.c:389:6: warning: no previous prototype for 'nvlink_core_exit' [-Wmissing-prototypes]
  11205. 389 | void nvlink_core_exit(void)
  11206. | ^~~~~~~~~~~~~~~~
  11207. In file included from ././common/inc/nv-linux.h:34,
  11208. from nvidia-uvm/nv-kthread-q-selftest.c:39:
  11209. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  11210. 29 | typedef int vm_fault_t;
  11211. | ^~~~~~~~~~
  11212. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  11213. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  11214. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4,
  11215. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9,
  11216. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17,
  11217. from nvidia-uvm/nv-kthread-q-selftest.c:29:
  11218. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  11219. 1311 | typedef __bitwise unsigned int vm_fault_t;
  11220. | ^~~~~~~~~~
  11221. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  11222. from ././common/inc/nv-kthread-q.h:29:
  11223. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  11224. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11225. 52 | #define current get_current()
  11226. | ^~~~~~~~~~~~~
  11227. | |
  11228. | struct task_struct *
  11229. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  11230. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11231. | ^~~~~~~
  11232. In file included from nvidia-uvm/nv-kthread-q-selftest.c:31:
  11233. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  11234. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11235. | ~~~~~~~~~~~~~~^~~~~
  11236. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11237. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11238. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  11239. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11240. | ~~~~~~~~~~~~~~^~~~~~~~
  11241. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  11242. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11243. | ^~~~~~~~
  11244. | |
  11245. | long unsigned int
  11246. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  11247. 2535 | unsigned int gup_flags, struct page **pages);
  11248. | ~~~~~~~~~~~~~~^~~~~
  11249. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  11250. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11251. | ^~~~~~~~~~~~~~ ~~~~~
  11252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  11253. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11254. | ^~~~~~~~~~~~~~
  11255. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  11256. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  11257. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  11258. from ././common/inc/nv-kthread-q.h:27:
  11259. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  11260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11261. 8 | #define NULL ((void *)0)
  11262. | ^~~~~~~~~~~
  11263. | |
  11264. | void *
  11265. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  11266. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11267. | ^~~~
  11268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  11269. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11270. | ~~~~~~~~~~~~~~^~~~~
  11271. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11272. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11273. | ^~
  11274. | |
  11275. | struct mm_struct *
  11276. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  11277. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11278. | ~~~~~~~~~~~~~~^~~~~~~~
  11279. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  11280. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11281. | ^~~~~~~~
  11282. | |
  11283. | long unsigned int
  11284. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  11285. 2535 | unsigned int gup_flags, struct page **pages);
  11286. | ~~~~~~~~~~~~~~^~~~~
  11287. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  11288. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11289. | ^~~~~~~~~~~~~~ ~~~~~
  11290. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  11291. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11292. | ^~~~~~~~~~~~~~
  11293. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  11294. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  11295. 237 | return (unsigned long)(vmf->virtual_address);
  11296. | ^~~~~~~~~~~~~~~
  11297. | real_address
  11298. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  11299. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11300. 246 | down_read(&mm->mmap_sem);
  11301. | ^~~~~~~~
  11302. | mmap_base
  11303. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  11304. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11305. 255 | up_read(&mm->mmap_sem);
  11306. | ^~~~~~~~
  11307. | mmap_base
  11308. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  11309. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11310. 264 | down_write(&mm->mmap_sem);
  11311. | ^~~~~~~~
  11312. | mmap_base
  11313. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  11314. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11315. 273 | up_write(&mm->mmap_sem);
  11316. | ^~~~~~~~
  11317. | mmap_base
  11318. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  11319. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11320. 282 | return rwsem_is_locked(&mm->mmap_sem);
  11321. | ^~~~~~~~
  11322. | mmap_base
  11323. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  11324. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11325. 291 | return &mm->mmap_sem;
  11326. | ^~~~~~~~
  11327. | mmap_base
  11328. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  11329. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  11330. 300 | vma->vm_flags |= flags;
  11331. | ^~
  11332. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  11333. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  11334. 309 | vma->vm_flags &= ~flags;
  11335. | ^~
  11336. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  11337. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  11338. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11339. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  11340. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11341. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11342. | ^
  11343. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11344. 573 | NV_MEMDBG_ADD(ptr, size);
  11345. | ^
  11346. In file included from ././common/inc/conftest.h:28,
  11347. from ././common/inc/nv-time.h:27,
  11348. from nvidia-uvm/uvm_linux.h:37,
  11349. from nvidia-uvm/uvm_common.h:43,
  11350. from nvidia-uvm/uvm_api.h:28,
  11351. from nvidia-uvm/uvm_gpu_isr.c:24:
  11352. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  11353. 74 | #error dma_buf_export() conftest failed!
  11354. | ^~~~~
  11355. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  11356. 87 | #error wait_on_bit_lock() conftest failed!
  11357. | ^~~~~
  11358. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  11359. 90 | #error radix_tree_replace_slot() conftest failed!
  11360. | ^~~~~
  11361. ././common/inc/nv-linux.h: In function 'nv_vmap':
  11362. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11363. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  11364. | ^
  11365. In file included from ././common/inc/nv-linux.h:34,
  11366. from nvidia-uvm/uvm_linux.h:40:
  11367. ././common/inc/nv-mm.h: At top level:
  11368. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  11369. 29 | typedef int vm_fault_t;
  11370. | ^~~~~~~~~~
  11371. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  11372. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  11373. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  11374. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  11375. from ././common/inc/nv-lock.h:35,
  11376. from ././common/inc/nv-linux.h:32:
  11377. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  11378. 1311 | typedef __bitwise unsigned int vm_fault_t;
  11379. | ^~~~~~~~~~
  11380. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  11381. from ././common/inc/nv-time.h:28:
  11382. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  11383. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11384. 52 | #define current get_current()
  11385. | ^~~~~~~~~~~~~
  11386. | |
  11387. | struct task_struct *
  11388. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  11389. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11390. | ^~~~~~~
  11391. In file included from ././common/inc/nv-pgprot.h:30,
  11392. from ././common/inc/nv-linux.h:33:
  11393. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  11394. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11395. | ~~~~~~~~~~~~~~^~~~~
  11396. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11397. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  11399. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11400. | ~~~~~~~~~~~~~~^~~~~~~~
  11401. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  11402. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11403. | ^~~~~~~~
  11404. | |
  11405. | long unsigned int
  11406. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  11407. 2535 | unsigned int gup_flags, struct page **pages);
  11408. | ~~~~~~~~~~~~~~^~~~~
  11409. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  11410. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11411. | ^~~~~~~~~~~~~~ ~~~~~
  11412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  11413. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11414. | ^~~~~~~~~~~~~~
  11415. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  11416. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  11417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  11418. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  11419. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  11420. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  11421. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11422. 8 | #define NULL ((void *)0)
  11423. | ^~~~~~~~~~~
  11424. | |
  11425. | void *
  11426. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  11427. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11428. | ^~~~
  11429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  11430. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11431. | ~~~~~~~~~~~~~~^~~~~
  11432. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11433. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11434. | ^~
  11435. | |
  11436. | struct mm_struct *
  11437. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  11438. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11439. | ~~~~~~~~~~~~~~^~~~~~~~
  11440. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  11441. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11442. | ^~~~~~~~
  11443. | |
  11444. | long unsigned int
  11445. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  11446. 2535 | unsigned int gup_flags, struct page **pages);
  11447. | ~~~~~~~~~~~~~~^~~~~
  11448. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  11449. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11450. | ^~~~~~~~~~~~~~ ~~~~~
  11451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  11452. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11453. | ^~~~~~~~~~~~~~
  11454. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  11455. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  11456. 237 | return (unsigned long)(vmf->virtual_address);
  11457. | ^~~~~~~~~~~~~~~
  11458. | real_address
  11459. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  11460. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11461. 246 | down_read(&mm->mmap_sem);
  11462. | ^~~~~~~~
  11463. | mmap_base
  11464. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  11465. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11466. 255 | up_read(&mm->mmap_sem);
  11467. | ^~~~~~~~
  11468. | mmap_base
  11469. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  11470. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11471. 264 | down_write(&mm->mmap_sem);
  11472. | ^~~~~~~~
  11473. | mmap_base
  11474. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  11475. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11476. 273 | up_write(&mm->mmap_sem);
  11477. | ^~~~~~~~
  11478. | mmap_base
  11479. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  11480. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11481. 282 | return rwsem_is_locked(&mm->mmap_sem);
  11482. | ^~~~~~~~
  11483. | mmap_base
  11484. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  11485. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11486. 291 | return &mm->mmap_sem;
  11487. | ^~~~~~~~
  11488. | mmap_base
  11489. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  11490. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  11491. 300 | vma->vm_flags |= flags;
  11492. | ^~
  11493. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  11494. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  11495. 309 | vma->vm_flags &= ~flags;
  11496. | ^~
  11497. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  11498. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  11499. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11500. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  11501. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11502. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11503. | ^
  11504. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11505. 573 | NV_MEMDBG_ADD(ptr, size);
  11506. | ^
  11507. In file included from ././common/inc/nv-linux.h:37:
  11508. ././common/inc/nv-time.h: At top level:
  11509. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  11510. 40 | struct timespec64 {
  11511. | ^~~~~~~~~~
  11512. ././common/inc/nv-linux.h: In function 'nv_vmap':
  11513. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11514. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  11515. | ^
  11516. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  11517. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  11518. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13:
  11519. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  11520. 13 | struct timespec64 {
  11521. | ^~~~~~~~~~
  11522. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  11523. 77 | static inline struct timespec64 timespec64_add
  11524. | ^~~~~~~~~~~~~~
  11525. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  11526. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  11527. | ^~~~~~~~~~~~~~
  11528. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  11529. 95 | static inline struct timespec64 timespec64_sub
  11530. | ^~~~~~~~~~~~~~
  11531. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  11532. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  11533. | ^~~~~~~~~~~~~~
  11534. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  11535. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  11536. | ^~~~~~~~~~~~~~~~
  11537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  11538. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  11539. | ^~~~~~~~~~~~~~~~
  11540. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  11541. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  11542. 122 | ktime_get_raw_ts64(&ts);
  11543. | ^~~
  11544. | |
  11545. | struct timespec64 *
  11546. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  11547. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  11548. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  11549. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  11550. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  11551. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  11552. | ~~~~~~~~~~~~~~~~~~~^~
  11553. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  11554. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  11555. 185 | ktime_get_raw_ts64(&tm_aux);
  11556. | ^~~~~~~
  11557. | |
  11558. | struct timespec64 *
  11559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  11560. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  11561. | ~~~~~~~~~~~~~~~~~~~^~
  11562. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  11563. 221 | ktime_get_raw_ts64(&tm_aux);
  11564. | ^~~~~~~
  11565. | |
  11566. | struct timespec64 *
  11567. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  11568. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  11569. | ~~~~~~~~~~~~~~~~~~~^~
  11570. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  11571. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  11572. 736 | return phys_to_dma(dev, pa);
  11573. | ^~~~~~~~~~~
  11574. | nv_phys_to_dma
  11575. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  11576. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  11577. 736 | return phys_to_dma(dev, pa);
  11578. | ^~~~~~~~~~~
  11579. | nv_phys_to_dma
  11580. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  11581. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  11582. 533 | ptr = ioremap_cache_shared(phys, size);
  11583. | ^~~~~~~~~~~~~~~~~~~~
  11584. | ioremap_cache
  11585. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11586. 533 | ptr = ioremap_cache_shared(phys, size);
  11587. | ^
  11588. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11589. 556 | NV_MEMDBG_ADD(ptr, size);
  11590. | ^
  11591. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  11592. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11593. 502 | NV_MEMDBG_ADD(ptr, size);
  11594. | ^
  11595. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  11596. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  11597. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  11598. | ^~~~~~~~~~~~~
  11599. | d_is_dir
  11600. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  11601. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  11602. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11603. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  11604. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11605. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11606. | ^
  11607. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11608. 573 | NV_MEMDBG_ADD(ptr, size);
  11609. | ^
  11610. ././common/inc/nv-linux.h: In function 'nv_vmap':
  11611. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11612. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  11613. | ^
  11614. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  11615. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  11616. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11617. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  11618. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11619. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11620. | ^
  11621. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11622. 573 | NV_MEMDBG_ADD(ptr, size);
  11623. | ^
  11624. ././common/inc/nv-linux.h: In function 'nv_vmap':
  11625. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11626. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  11627. | ^
  11628. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  11629. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  11630. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  11631. | ^~~~~~~~~~~~~
  11632. | d_is_dir
  11633. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nvlink_linux.o] Error 1
  11634. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  11635. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  11636. 736 | return phys_to_dma(dev, pa);
  11637. | ^~~~~~~~~~~
  11638. | nv_phys_to_dma
  11639. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  11640. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  11641. 736 | return phys_to_dma(dev, pa);
  11642. | ^~~~~~~~~~~
  11643. | nv_phys_to_dma
  11644. CC [M] nvidia-uvm/uvm_procfs.o
  11645. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  11646. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  11647. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11648. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  11649. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11650. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11651. | ^
  11652. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11653. 573 | NV_MEMDBG_ADD(ptr, size);
  11654. | ^
  11655. In file included from ././common/inc/nv-procfs.h:26,
  11656. from nvidia/procfs_nvswitch.c:25:
  11657. nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_device_add':
  11658. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  11659. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  11660. | ^~~~
  11661. | |
  11662. | const nv_proc_ops_t * {aka const struct file_operations *}
  11663. nvidia/procfs_nvswitch.c:135:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  11664. 135 | entry = NV_CREATE_PROC_FILE("information", device_dir, device_info,
  11665. | ^~~~~~~~~~~~~~~~~~~
  11666. ././common/inc/nv-linux.h: In function 'nv_vmap':
  11667. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11668. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  11669. | ^
  11670. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  11671. from ././common/inc/nv-linux.h:220:
  11672. /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 *'}
  11673. 111 | const struct proc_ops *,
  11674. | ^~~~~~~~~~~~~~~~~~~~~~~
  11675. nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_init':
  11676. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  11677. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  11678. | ^~~~
  11679. | |
  11680. | const nv_proc_ops_t * {aka const struct file_operations *}
  11681. nvidia/procfs_nvswitch.c:174:28: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  11682. 174 | nvswitch_permissions = NV_CREATE_PROC_FILE("permissions",
  11683. | ^~~~~~~~~~~~~~~~~~~
  11684. /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 *'}
  11685. 111 | const struct proc_ops *,
  11686. | ^~~~~~~~~~~~~~~~~~~~~~~
  11687. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  11688. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11689. 502 | NV_MEMDBG_ADD(ptr, size);
  11690. | ^
  11691. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  11692. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  11693. 736 | return phys_to_dma(dev, pa);
  11694. | ^~~~~~~~~~~
  11695. | nv_phys_to_dma
  11696. In file included from ././common/inc/conftest.h:28,
  11697. from ././common/inc/nv-time.h:27,
  11698. from nvidia-uvm/uvm_linux.h:37,
  11699. from nvidia-uvm/uvm_extern_decl.h:27,
  11700. from nvidia-uvm/uvm_global.h:28,
  11701. from nvidia-uvm/uvm_procfs.c:24:
  11702. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  11703. 74 | #error dma_buf_export() conftest failed!
  11704. | ^~~~~
  11705. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  11706. 87 | #error wait_on_bit_lock() conftest failed!
  11707. | ^~~~~
  11708. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  11709. 90 | #error radix_tree_replace_slot() conftest failed!
  11710. | ^~~~~
  11711. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/procfs_nvswitch.o] Error 1
  11712. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  11713. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  11714. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  11715. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  11716. | ^~~~~~~~~~~~~
  11717. | d_is_dir
  11718. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  11719. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  11720. | ^~~~~~~~~~~~~
  11721. | d_is_dir
  11722. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/i2c_nvswitch.o] Error 1
  11723. CC [M] nvidia-uvm/uvm_va_space.o
  11724. CC [M] nvidia-uvm/uvm_va_space_mm.o
  11725. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  11726. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11727. 502 | NV_MEMDBG_ADD(ptr, size);
  11728. | ^
  11729. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  11730. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  11731. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  11732. | ^~~~~~~~~~~~~
  11733. | d_is_dir
  11734. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  11735. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  11736. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11737. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  11738. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11739. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  11740. | ^
  11741. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11742. 573 | NV_MEMDBG_ADD(ptr, size);
  11743. | ^
  11744. ././common/inc/nv-linux.h: In function 'nv_vmap':
  11745. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11746. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  11747. | ^
  11748. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  11749. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  11750. 287 | ktime_get_raw_ts64(&tm);
  11751. | ^~~
  11752. | |
  11753. | struct timespec64 *
  11754. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  11755. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  11756. | ~~~~~~~~~~~~~~~~~~~^~
  11757. nvidia-uvm/uvm_linux.h: At top level:
  11758. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11759. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  11760. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11761. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11762. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  11763. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11764. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  11765. 449 | #error "Unknown number of arguments"
  11766. | ^~~~~
  11767. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  11768. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11769. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  11770. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11771. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  11772. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  11773. | ^~~~~~~~~~~~~~~~~~~~~~~
  11774. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11775. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  11776. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11777. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  11778. 485 | #error "Unknown number of arguments"
  11779. | ^~~~~
  11780. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11781. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11782. 520 | NV_MEMDBG_ADD(ptr, size);
  11783. | ^
  11784. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  11785. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  11786. 287 | ktime_get_raw_ts64(&tm);
  11787. | ^~~
  11788. | |
  11789. | struct timespec64 *
  11790. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  11791. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  11792. | ~~~~~~~~~~~~~~~~~~~^~
  11793. nvidia-uvm/uvm_linux.h: At top level:
  11794. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11795. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  11796. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11797. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11798. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  11799. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11800. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  11801. 449 | #error "Unknown number of arguments"
  11802. | ^~~~~
  11803. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11804. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  11805. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11806. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11807. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  11808. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11809. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  11810. 485 | #error "Unknown number of arguments"
  11811. | ^~~~~
  11812. In file included from ././common/inc/conftest.h:28,
  11813. from ././common/inc/nv-time.h:27,
  11814. from nvidia-uvm/uvm_linux.h:37,
  11815. from nvidia-uvm/uvm_common.h:43,
  11816. from nvidia-uvm/uvm_va_space_mm.c:24:
  11817. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  11818. 74 | #error dma_buf_export() conftest failed!
  11819. | ^~~~~
  11820. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  11821. 87 | #error wait_on_bit_lock() conftest failed!
  11822. | ^~~~~
  11823. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  11824. 90 | #error radix_tree_replace_slot() conftest failed!
  11825. | ^~~~~
  11826. In file included from ././common/inc/conftest.h:28,
  11827. from ././common/inc/nv-time.h:27,
  11828. from nvidia-uvm/uvm_linux.h:37,
  11829. from nvidia-uvm/uvm_common.h:43,
  11830. from nvidia-uvm/uvm_api.h:28,
  11831. from nvidia-uvm/uvm_va_space.c:24:
  11832. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  11833. 74 | #error dma_buf_export() conftest failed!
  11834. | ^~~~~
  11835. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  11836. 87 | #error wait_on_bit_lock() conftest failed!
  11837. | ^~~~~
  11838. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  11839. 90 | #error radix_tree_replace_slot() conftest failed!
  11840. | ^~~~~
  11841. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  11842. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  11843. 287 | ktime_get_raw_ts64(&tm);
  11844. | ^~~
  11845. | |
  11846. | struct timespec64 *
  11847. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  11848. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  11849. | ~~~~~~~~~~~~~~~~~~~^~
  11850. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  11851. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  11852. 736 | return phys_to_dma(dev, pa);
  11853. | ^~~~~~~~~~~
  11854. | nv_phys_to_dma
  11855. ././nvidia-uvm/uvm_linux.h: At top level:
  11856. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11857. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  11858. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11859. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11860. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  11861. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11862. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  11863. 449 | #error "Unknown number of arguments"
  11864. | ^~~~~
  11865. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11866. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  11867. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11868. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  11869. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  11870. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11871. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  11872. 485 | #error "Unknown number of arguments"
  11873. | ^~~~~
  11874. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  11875. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  11876. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  11877. | ^~~~~~~~~~~~~~~~~~~~~~~
  11878. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  11879. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11880. 520 | NV_MEMDBG_ADD(ptr, size);
  11881. | ^
  11882. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  11883. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  11884. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  11885. | ^~~~~~~~~~~~~
  11886. | d_is_dir
  11887. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  11888. In file included from ././common/inc/nv-linux.h:34,
  11889. from nvidia-uvm/uvm_linux.h:40:
  11890. ././common/inc/nv-mm.h: At top level:
  11891. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  11892. 502 | NV_MEMDBG_ADD(ptr, size);
  11893. | ^
  11894. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  11895. 29 | typedef int vm_fault_t;
  11896. | ^~~~~~~~~~
  11897. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  11898. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  11899. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  11900. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  11901. from ././common/inc/nv-lock.h:35,
  11902. from ././common/inc/nv-linux.h:32:
  11903. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  11904. 1311 | typedef __bitwise unsigned int vm_fault_t;
  11905. | ^~~~~~~~~~
  11906. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  11907. from ././common/inc/nv-time.h:28:
  11908. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  11909. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11910. 52 | #define current get_current()
  11911. | ^~~~~~~~~~~~~
  11912. | |
  11913. | struct task_struct *
  11914. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  11915. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11916. | ^~~~~~~
  11917. In file included from ././common/inc/nv-pgprot.h:30,
  11918. from ././common/inc/nv-linux.h:33:
  11919. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  11920. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11921. | ~~~~~~~~~~~~~~^~~~~
  11922. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11923. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11924. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  11925. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11926. | ~~~~~~~~~~~~~~^~~~~~~~
  11927. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  11928. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11929. | ^~~~~~~~
  11930. | |
  11931. | long unsigned int
  11932. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  11933. 2535 | unsigned int gup_flags, struct page **pages);
  11934. | ~~~~~~~~~~~~~~^~~~~
  11935. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  11936. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  11937. | ^~~~~~~~~~~~~~ ~~~~~
  11938. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  11939. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11940. | ^~~~~~~~~~~~~~
  11941. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  11942. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  11943. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  11944. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  11945. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  11946. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  11947. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11948. 8 | #define NULL ((void *)0)
  11949. | ^~~~~~~~~~~
  11950. | |
  11951. | void *
  11952. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  11953. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11954. | ^~~~
  11955. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  11956. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11957. | ~~~~~~~~~~~~~~^~~~~
  11958. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  11959. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11960. | ^~
  11961. | |
  11962. | struct mm_struct *
  11963. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  11964. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11965. | ~~~~~~~~~~~~~~^~~~~~~~
  11966. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  11967. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11968. | ^~~~~~~~
  11969. | |
  11970. | long unsigned int
  11971. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  11972. 2535 | unsigned int gup_flags, struct page **pages);
  11973. | ~~~~~~~~~~~~~~^~~~~
  11974. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  11975. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  11976. | ^~~~~~~~~~~~~~ ~~~~~
  11977. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  11978. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  11979. | ^~~~~~~~~~~~~~
  11980. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  11981. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  11982. 237 | return (unsigned long)(vmf->virtual_address);
  11983. | ^~~~~~~~~~~~~~~
  11984. | real_address
  11985. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  11986. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11987. 246 | down_read(&mm->mmap_sem);
  11988. | ^~~~~~~~
  11989. | mmap_base
  11990. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  11991. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11992. 255 | up_read(&mm->mmap_sem);
  11993. | ^~~~~~~~
  11994. | mmap_base
  11995. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  11996. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  11997. 264 | down_write(&mm->mmap_sem);
  11998. | ^~~~~~~~
  11999. | mmap_base
  12000. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  12001. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  12002. 273 | up_write(&mm->mmap_sem);
  12003. | ^~~~~~~~
  12004. | mmap_base
  12005. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  12006. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  12007. 282 | return rwsem_is_locked(&mm->mmap_sem);
  12008. | ^~~~~~~~
  12009. | mmap_base
  12010. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  12011. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  12012. 291 | return &mm->mmap_sem;
  12013. | ^~~~~~~~
  12014. | mmap_base
  12015. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  12016. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  12017. 300 | vma->vm_flags |= flags;
  12018. | ^~
  12019. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  12020. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  12021. 309 | vma->vm_flags &= ~flags;
  12022. | ^~
  12023. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  12024. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  12025. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  12026. | ^~~~~~~~~~~~~~~~~~~~~~~
  12027. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12028. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12029. 520 | NV_MEMDBG_ADD(ptr, size);
  12030. | ^
  12031. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  12032. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  12033. 533 | ptr = ioremap_cache_shared(phys, size);
  12034. | ^~~~~~~~~~~~~~~~~~~~
  12035. | ioremap_cache
  12036. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12037. 533 | ptr = ioremap_cache_shared(phys, size);
  12038. | ^
  12039. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12040. 556 | NV_MEMDBG_ADD(ptr, size);
  12041. | ^
  12042. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  12043. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12044. 287 | ktime_get_raw_ts64(&tm);
  12045. | ^~~
  12046. | |
  12047. | struct timespec64 *
  12048. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12049. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12050. | ~~~~~~~~~~~~~~~~~~~^~
  12051. nvidia-uvm/uvm_linux.h: At top level:
  12052. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12053. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  12054. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12055. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12056. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  12057. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12058. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  12059. 449 | #error "Unknown number of arguments"
  12060. | ^~~~~
  12061. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12062. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  12063. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12064. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12065. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  12066. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12067. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  12068. 485 | #error "Unknown number of arguments"
  12069. | ^~~~~
  12070. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  12071. from nvidia-uvm/uvm_gpu.h:37:
  12072. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  12073. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  12074. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  12075. | ^~~~~~~~~~~~~~~~~~~~
  12076. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  12077. from nvidia-uvm/uvm_gpu.h:37,
  12078. from nvidia-uvm/uvm_global.h:32,
  12079. from nvidia-uvm/uvm_conf_computing.c:25:
  12080. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  12081. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  12082. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  12083. | ^~~~~~~~~~~~~~~~~~~~
  12084. In file included from ././nvidia-uvm/uvm_pmm_gpu.h:55,
  12085. from ././nvidia-uvm/uvm_gpu.h:37,
  12086. from nvidia-uvm/uvm_sec2_test.c:25:
  12087. ././nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  12088. ././nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  12089. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  12090. | ^~~~~~~~~~~~~~~~~~~~
  12091. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  12092. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  12093. 533 | ptr = ioremap_cache_shared(phys, size);
  12094. | ^~~~~~~~~~~~~~~~~~~~
  12095. | ioremap_cache
  12096. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12097. 533 | ptr = ioremap_cache_shared(phys, size);
  12098. | ^
  12099. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12100. 556 | NV_MEMDBG_ADD(ptr, size);
  12101. | ^
  12102. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  12103. 40 | struct timespec64 {
  12104. | ^~~~~~~~~~
  12105. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  12106. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  12107. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  12108. from ././common/inc/nv-time.h:29:
  12109. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  12110. 13 | struct timespec64 {
  12111. | ^~~~~~~~~~
  12112. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12113. 77 | static inline struct timespec64 timespec64_add
  12114. | ^~~~~~~~~~~~~~
  12115. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  12116. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12117. 502 | NV_MEMDBG_ADD(ptr, size);
  12118. | ^
  12119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12120. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  12121. | ^~~~~~~~~~~~~~
  12122. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12123. 95 | static inline struct timespec64 timespec64_sub
  12124. | ^~~~~~~~~~~~~~
  12125. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12126. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  12127. | ^~~~~~~~~~~~~~
  12128. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  12129. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  12130. | ^~~~~~~~~~~~~~~~
  12131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  12132. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  12133. | ^~~~~~~~~~~~~~~~
  12134. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  12135. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12136. 122 | ktime_get_raw_ts64(&ts);
  12137. | ^~~
  12138. | |
  12139. | struct timespec64 *
  12140. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  12141. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  12142. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  12143. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  12144. from ././common/inc/nv-time.h:30:
  12145. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12146. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12147. | ~~~~~~~~~~~~~~~~~~~^~
  12148. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  12149. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12150. 185 | ktime_get_raw_ts64(&tm_aux);
  12151. | ^~~~~~~
  12152. | |
  12153. | struct timespec64 *
  12154. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12155. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12156. | ~~~~~~~~~~~~~~~~~~~^~
  12157. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12158. 221 | ktime_get_raw_ts64(&tm_aux);
  12159. | ^~~~~~~
  12160. | |
  12161. | struct timespec64 *
  12162. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12163. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12164. | ~~~~~~~~~~~~~~~~~~~^~
  12165. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  12166. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  12167. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  12168. | ^~~~~~~~~~~~~~~~~~~~~~~
  12169. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12170. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12171. 520 | NV_MEMDBG_ADD(ptr, size);
  12172. | ^
  12173. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  12174. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  12175. 533 | ptr = ioremap_cache_shared(phys, size);
  12176. | ^~~~~~~~~~~~~~~~~~~~
  12177. | ioremap_cache
  12178. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12179. 533 | ptr = ioremap_cache_shared(phys, size);
  12180. | ^
  12181. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12182. 556 | NV_MEMDBG_ADD(ptr, size);
  12183. | ^
  12184. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  12185. 40 | struct timespec64 {
  12186. | ^~~~~~~~~~
  12187. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  12188. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  12189. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  12190. from ././common/inc/nv-time.h:29:
  12191. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  12192. 13 | struct timespec64 {
  12193. | ^~~~~~~~~~
  12194. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12195. 77 | static inline struct timespec64 timespec64_add
  12196. | ^~~~~~~~~~~~~~
  12197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12198. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  12199. | ^~~~~~~~~~~~~~
  12200. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12201. 95 | static inline struct timespec64 timespec64_sub
  12202. | ^~~~~~~~~~~~~~
  12203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12204. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  12205. | ^~~~~~~~~~~~~~
  12206. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  12207. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  12208. | ^~~~~~~~~~~~~~~~
  12209. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  12210. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  12211. | ^~~~~~~~~~~~~~~~
  12212. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  12213. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12214. 122 | ktime_get_raw_ts64(&ts);
  12215. | ^~~
  12216. | |
  12217. | struct timespec64 *
  12218. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  12219. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  12220. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  12221. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  12222. from ././common/inc/nv-time.h:30:
  12223. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12224. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12225. | ~~~~~~~~~~~~~~~~~~~^~
  12226. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  12227. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12228. 185 | ktime_get_raw_ts64(&tm_aux);
  12229. | ^~~~~~~
  12230. | |
  12231. | struct timespec64 *
  12232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12233. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12234. | ~~~~~~~~~~~~~~~~~~~^~
  12235. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12236. 221 | ktime_get_raw_ts64(&tm_aux);
  12237. | ^~~~~~~
  12238. | |
  12239. | struct timespec64 *
  12240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12241. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12242. | ~~~~~~~~~~~~~~~~~~~^~
  12243. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  12244. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12245. 502 | NV_MEMDBG_ADD(ptr, size);
  12246. | ^
  12247. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  12248. from nvidia-uvm/uvm_gpu.h:37:
  12249. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  12250. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  12251. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  12252. | ^~~~~~~~~~~~~~~~~~~~
  12253. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  12254. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  12255. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12256. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  12257. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12258. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12259. | ^
  12260. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12261. 573 | NV_MEMDBG_ADD(ptr, size);
  12262. | ^
  12263. ././common/inc/nv-linux.h: In function 'nv_vmap':
  12264. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12265. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  12266. | ^
  12267. cc1: some warnings being treated as errors
  12268. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_sva.o] Error 1
  12269. CC [M] nvidia-uvm/uvm_gpu_semaphore.o
  12270. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  12271. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  12272. 736 | return phys_to_dma(dev, pa);
  12273. | ^~~~~~~~~~~
  12274. | nv_phys_to_dma
  12275. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  12276. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  12277. 533 | ptr = ioremap_cache_shared(phys, size);
  12278. | ^~~~~~~~~~~~~~~~~~~~
  12279. | ioremap_cache
  12280. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12281. 533 | ptr = ioremap_cache_shared(phys, size);
  12282. | ^
  12283. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12284. 556 | NV_MEMDBG_ADD(ptr, size);
  12285. | ^
  12286. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  12287. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  12288. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  12289. | ^~~~~~~~~~~~~~~~~~~~~~~
  12290. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  12291. 40 | struct timespec64 {
  12292. | ^~~~~~~~~~
  12293. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  12294. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  12295. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  12296. from ././common/inc/nv-time.h:29:
  12297. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  12298. 13 | struct timespec64 {
  12299. | ^~~~~~~~~~
  12300. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12301. 77 | static inline struct timespec64 timespec64_add
  12302. | ^~~~~~~~~~~~~~
  12303. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12304. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  12305. | ^~~~~~~~~~~~~~
  12306. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12307. 95 | static inline struct timespec64 timespec64_sub
  12308. | ^~~~~~~~~~~~~~
  12309. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  12310. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12311. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  12312. | ^~~~~~~~~~~~~~
  12313. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  12314. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12315. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  12316. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12317. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12318. | ^
  12319. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  12320. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  12321. | ^~~~~~~~~~~~~~~~
  12322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  12323. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  12324. | ^~~~~~~~~~~~~~~~
  12325. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12326. 573 | NV_MEMDBG_ADD(ptr, size);
  12327. | ^
  12328. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  12329. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12330. 122 | ktime_get_raw_ts64(&ts);
  12331. | ^~~
  12332. | |
  12333. | struct timespec64 *
  12334. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  12335. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  12336. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  12337. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  12338. from ././common/inc/nv-time.h:30:
  12339. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12340. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12341. | ~~~~~~~~~~~~~~~~~~~^~
  12342. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  12343. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12344. 185 | ktime_get_raw_ts64(&tm_aux);
  12345. | ^~~~~~~
  12346. | |
  12347. | struct timespec64 *
  12348. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12349. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12350. | ~~~~~~~~~~~~~~~~~~~^~
  12351. ././common/inc/nv-linux.h: In function 'nv_vmap':
  12352. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12353. 221 | ktime_get_raw_ts64(&tm_aux);
  12354. | ^~~~~~~
  12355. | |
  12356. | struct timespec64 *
  12357. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12358. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  12359. | ^
  12360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12361. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12362. | ~~~~~~~~~~~~~~~~~~~^~
  12363. In file included from ././common/inc/conftest.h:28,
  12364. from ././common/inc/nv-time.h:27,
  12365. from nvidia-uvm/uvm_linux.h:37,
  12366. from nvidia-uvm/uvm_lock.h:28,
  12367. from nvidia-uvm/uvm_gpu_semaphore.h:28,
  12368. from nvidia-uvm/uvm_gpu_semaphore.c:24:
  12369. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  12370. 74 | #error dma_buf_export() conftest failed!
  12371. | ^~~~~
  12372. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  12373. 87 | #error wait_on_bit_lock() conftest failed!
  12374. | ^~~~~
  12375. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  12376. 90 | #error radix_tree_replace_slot() conftest failed!
  12377. | ^~~~~
  12378. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12379. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12380. 520 | NV_MEMDBG_ADD(ptr, size);
  12381. | ^
  12382. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  12383. cc1: some warnings being treated as errors
  12384. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  12385. 736 | return phys_to_dma(dev, pa);
  12386. | ^~~~~~~~~~~
  12387. | nv_phys_to_dma
  12388. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  12389. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  12390. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  12391. | ^~~~~~~~~~~~~~~~~~~~~~~
  12392. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12393. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12394. 520 | NV_MEMDBG_ADD(ptr, size);
  12395. | ^
  12396. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  12397. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_conf_computing.o] Error 1
  12398. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  12399. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12400. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  12401. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12402. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12403. | ^
  12404. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12405. 573 | NV_MEMDBG_ADD(ptr, size);
  12406. | ^
  12407. ././common/inc/nv-linux.h: In function 'nv_vmap':
  12408. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12409. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  12410. | ^
  12411. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  12412. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  12413. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  12414. | ^~~~~~~~~~~~~
  12415. | d_is_dir
  12416. CC [M] nvidia-uvm/uvm_mem.o
  12417. cc1: some warnings being treated as errors
  12418. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  12419. 40 | struct timespec64 {
  12420. | ^~~~~~~~~~
  12421. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  12422. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  12423. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  12424. from ././common/inc/nv-time.h:29:
  12425. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  12426. 13 | struct timespec64 {
  12427. | ^~~~~~~~~~
  12428. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12429. 77 | static inline struct timespec64 timespec64_add
  12430. | ^~~~~~~~~~~~~~
  12431. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12432. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  12433. | ^~~~~~~~~~~~~~
  12434. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12435. 95 | static inline struct timespec64 timespec64_sub
  12436. | ^~~~~~~~~~~~~~
  12437. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12438. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  12439. | ^~~~~~~~~~~~~~
  12440. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  12441. 40 | struct timespec64 {
  12442. | ^~~~~~~~~~
  12443. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  12444. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  12445. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  12446. from ././common/inc/nv-time.h:29:
  12447. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  12448. 13 | struct timespec64 {
  12449. | ^~~~~~~~~~
  12450. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  12451. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  12452. | ^~~~~~~~~~~~~~~~
  12453. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  12454. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  12455. | ^~~~~~~~~~~~~~~~
  12456. cc1: some warnings being treated as errors
  12457. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  12458. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12459. 77 | static inline struct timespec64 timespec64_add
  12460. | ^~~~~~~~~~~~~~
  12461. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12462. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  12463. | ^~~~~~~~~~~~~~
  12464. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12465. 122 | ktime_get_raw_ts64(&ts);
  12466. | ^~~
  12467. | |
  12468. | struct timespec64 *
  12469. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  12470. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  12471. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  12472. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  12473. from ././common/inc/nv-time.h:30:
  12474. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12475. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12476. | ~~~~~~~~~~~~~~~~~~~^~
  12477. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12478. 95 | static inline struct timespec64 timespec64_sub
  12479. | ^~~~~~~~~~~~~~
  12480. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12481. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  12482. | ^~~~~~~~~~~~~~
  12483. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  12484. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  12485. | ^~~~~~~~~~~~~~~~
  12486. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  12487. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  12488. | ^~~~~~~~~~~~~~~~
  12489. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  12490. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12491. 122 | ktime_get_raw_ts64(&ts);
  12492. | ^~~
  12493. | |
  12494. | struct timespec64 *
  12495. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  12496. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12497. 185 | ktime_get_raw_ts64(&tm_aux);
  12498. | ^~~~~~~
  12499. | |
  12500. | struct timespec64 *
  12501. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  12502. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  12503. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  12504. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  12505. from ././common/inc/nv-time.h:30:
  12506. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12507. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12508. | ~~~~~~~~~~~~~~~~~~~^~
  12509. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12510. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12511. | ~~~~~~~~~~~~~~~~~~~^~
  12512. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  12513. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12514. 185 | ktime_get_raw_ts64(&tm_aux);
  12515. | ^~~~~~~
  12516. | |
  12517. | struct timespec64 *
  12518. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12519. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12520. | ~~~~~~~~~~~~~~~~~~~^~
  12521. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12522. 221 | ktime_get_raw_ts64(&tm_aux);
  12523. | ^~~~~~~
  12524. | |
  12525. | struct timespec64 *
  12526. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12527. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12528. | ~~~~~~~~~~~~~~~~~~~^~
  12529. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_sec2_test.o] Error 1
  12530. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12531. 221 | ktime_get_raw_ts64(&tm_aux);
  12532. | ^~~~~~~
  12533. | |
  12534. | struct timespec64 *
  12535. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12536. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12537. | ~~~~~~~~~~~~~~~~~~~^~
  12538. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_sec2.o] Error 1
  12539. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  12540. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  12541. 736 | return phys_to_dma(dev, pa);
  12542. | ^~~~~~~~~~~
  12543. | nv_phys_to_dma
  12544. CC [M] nvidia-uvm/uvm_channel.o
  12545. In file included from ././common/inc/conftest.h:28,
  12546. from ././common/inc/nv-time.h:27,
  12547. from nvidia-uvm/uvm_linux.h:37,
  12548. from nvidia-uvm/uvm_processors.h:27,
  12549. from nvidia-uvm/uvm_mem.h:28,
  12550. from nvidia-uvm/uvm_mem.c:24:
  12551. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  12552. 74 | #error dma_buf_export() conftest failed!
  12553. | ^~~~~
  12554. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  12555. 87 | #error wait_on_bit_lock() conftest failed!
  12556. | ^~~~~
  12557. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  12558. 90 | #error radix_tree_replace_slot() conftest failed!
  12559. | ^~~~~
  12560. CC [M] nvidia-uvm/uvm_rm_mem.o
  12561. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  12562. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12563. 287 | ktime_get_raw_ts64(&tm);
  12564. | ^~~
  12565. | |
  12566. | struct timespec64 *
  12567. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12568. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12569. | ~~~~~~~~~~~~~~~~~~~^~
  12570. nvidia-uvm/uvm_linux.h: At top level:
  12571. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12572. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  12573. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12574. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12575. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  12576. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12577. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  12578. 449 | #error "Unknown number of arguments"
  12579. | ^~~~~
  12580. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12581. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  12582. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12583. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12584. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  12585. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12586. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  12587. 485 | #error "Unknown number of arguments"
  12588. | ^~~~~
  12589. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  12590. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  12591. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  12592. | ^~~~~~~~~~~~~
  12593. | d_is_dir
  12594. In file included from ././common/inc/conftest.h:28,
  12595. from ././common/inc/nv-time.h:27,
  12596. from nvidia-uvm/uvm_linux.h:37,
  12597. from nvidia-uvm/uvm_processors.h:27,
  12598. from nvidia-uvm/uvm_rm_mem.h:28,
  12599. from nvidia-uvm/uvm_rm_mem.c:24:
  12600. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  12601. 74 | #error dma_buf_export() conftest failed!
  12602. | ^~~~~
  12603. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  12604. 87 | #error wait_on_bit_lock() conftest failed!
  12605. | ^~~~~
  12606. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  12607. 90 | #error radix_tree_replace_slot() conftest failed!
  12608. | ^~~~~
  12609. In file included from ././common/inc/conftest.h:28,
  12610. from ././common/inc/nv-time.h:27,
  12611. from nvidia-uvm/uvm_linux.h:37,
  12612. from nvidia-uvm/uvm_lock.h:28,
  12613. from nvidia-uvm/uvm_gpu_semaphore.h:28,
  12614. from nvidia-uvm/uvm_channel.h:29,
  12615. from nvidia-uvm/uvm_channel.c:24:
  12616. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  12617. 74 | #error dma_buf_export() conftest failed!
  12618. | ^~~~~
  12619. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  12620. 87 | #error wait_on_bit_lock() conftest failed!
  12621. | ^~~~~
  12622. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  12623. 90 | #error radix_tree_replace_slot() conftest failed!
  12624. | ^~~~~
  12625. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  12626. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  12627. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  12628. | ^~~~~~~~~~~~~
  12629. | d_is_dir
  12630. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  12631. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  12632. 533 | ptr = ioremap_cache_shared(phys, size);
  12633. | ^~~~~~~~~~~~~~~~~~~~
  12634. | ioremap_cache
  12635. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12636. 533 | ptr = ioremap_cache_shared(phys, size);
  12637. | ^
  12638. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12639. 556 | NV_MEMDBG_ADD(ptr, size);
  12640. | ^
  12641. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  12642. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12643. 287 | ktime_get_raw_ts64(&tm);
  12644. | ^~~
  12645. | |
  12646. | struct timespec64 *
  12647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12648. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12649. | ~~~~~~~~~~~~~~~~~~~^~
  12650. nvidia-uvm/uvm_linux.h: At top level:
  12651. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12652. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  12653. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12654. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12655. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  12656. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12657. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  12658. 449 | #error "Unknown number of arguments"
  12659. | ^~~~~
  12660. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12661. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  12662. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12663. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12664. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  12665. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12666. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  12667. 485 | #error "Unknown number of arguments"
  12668. | ^~~~~
  12669. cc1: some warnings being treated as errors
  12670. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  12671. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  12672. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12673. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  12674. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_common.o] Error 1
  12675. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  12676. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  12677. 533 | ptr = ioremap_cache_shared(phys, size);
  12678. | ^~~~~~~~~~~~~~~~~~~~
  12679. | ioremap_cache
  12680. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12681. 533 | ptr = ioremap_cache_shared(phys, size);
  12682. | ^
  12683. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12684. 556 | NV_MEMDBG_ADD(ptr, size);
  12685. | ^
  12686. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12687. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12688. | ^
  12689. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12690. 573 | NV_MEMDBG_ADD(ptr, size);
  12691. | ^
  12692. ././common/inc/nv-linux.h: In function 'nv_vmap':
  12693. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12694. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  12695. | ^
  12696. CC [M] nvidia-uvm/uvm_lock.o
  12697. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  12698. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12699. 287 | ktime_get_raw_ts64(&tm);
  12700. | ^~~
  12701. | |
  12702. | struct timespec64 *
  12703. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12704. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12705. | ~~~~~~~~~~~~~~~~~~~^~
  12706. nvidia-uvm/uvm_linux.h: At top level:
  12707. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12708. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  12709. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12710. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12711. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  12712. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12713. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  12714. 449 | #error "Unknown number of arguments"
  12715. | ^~~~~
  12716. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12717. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  12718. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12719. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12720. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  12721. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12722. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  12723. 485 | #error "Unknown number of arguments"
  12724. | ^~~~~
  12725. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  12726. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  12727. 736 | return phys_to_dma(dev, pa);
  12728. | ^~~~~~~~~~~
  12729. | nv_phys_to_dma
  12730. cc1: some warnings being treated as errors
  12731. In file included from ././common/inc/conftest.h:28,
  12732. from ././common/inc/nv-time.h:27,
  12733. from nvidia-uvm/uvm_linux.h:37,
  12734. from nvidia-uvm/uvm_lock.h:28,
  12735. from nvidia-uvm/uvm_lock.c:24:
  12736. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  12737. 74 | #error dma_buf_export() conftest failed!
  12738. | ^~~~~
  12739. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  12740. 87 | #error wait_on_bit_lock() conftest failed!
  12741. | ^~~~~
  12742. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  12743. 90 | #error radix_tree_replace_slot() conftest failed!
  12744. | ^~~~~
  12745. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_linux.o] Error 1
  12746. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  12747. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12748. 502 | NV_MEMDBG_ADD(ptr, size);
  12749. | ^
  12750. CC [M] nvidia-uvm/uvm_hal.o
  12751. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  12752. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  12753. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  12754. | ^~~~~~~~~~~~~
  12755. | d_is_dir
  12756. In file included from ././common/inc/conftest.h:28,
  12757. from ././common/inc/nv-time.h:27,
  12758. from nvidia-uvm/uvm_linux.h:37,
  12759. from nvidia-uvm/uvm_common.h:43,
  12760. from nvidia-uvm/uvm_hal.h:28,
  12761. from nvidia-uvm/uvm_hal.c:24:
  12762. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  12763. 74 | #error dma_buf_export() conftest failed!
  12764. | ^~~~~
  12765. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  12766. 87 | #error wait_on_bit_lock() conftest failed!
  12767. | ^~~~~
  12768. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  12769. 90 | #error radix_tree_replace_slot() conftest failed!
  12770. | ^~~~~
  12771. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  12772. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  12773. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  12774. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12775. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  12776. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12777. 287 | ktime_get_raw_ts64(&tm);
  12778. | ^~~
  12779. | |
  12780. | struct timespec64 *
  12781. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12782. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12783. | ~~~~~~~~~~~~~~~~~~~^~
  12784. nvidia-uvm/uvm_linux.h: At top level:
  12785. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12786. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  12787. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12788. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12789. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  12790. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12791. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  12792. 449 | #error "Unknown number of arguments"
  12793. | ^~~~~
  12794. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12795. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  12796. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12797. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12798. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  12799. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12800. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  12801. 485 | #error "Unknown number of arguments"
  12802. | ^~~~~
  12803. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12804. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12805. | ^
  12806. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12807. 573 | NV_MEMDBG_ADD(ptr, size);
  12808. | ^
  12809. ././common/inc/nv-linux.h: In function 'nv_vmap':
  12810. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12811. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  12812. | ^
  12813. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  12814. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  12815. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12816. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  12817. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12818. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  12819. | ^
  12820. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12821. 573 | NV_MEMDBG_ADD(ptr, size);
  12822. | ^
  12823. ././common/inc/nv-linux.h: In function 'nv_vmap':
  12824. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12825. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  12826. | ^
  12827. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  12828. from nvidia-uvm/uvm_channel.h:29,
  12829. from nvidia-uvm/uvm_push.h:29,
  12830. from nvidia-uvm/uvm_hal.h:31:
  12831. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  12832. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  12833. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  12834. | ^~~~~~~~~~~~~~~~~~~~
  12835. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  12836. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  12837. 736 | return phys_to_dma(dev, pa);
  12838. | ^~~~~~~~~~~
  12839. | nv_phys_to_dma
  12840. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  12841. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  12842. 736 | return phys_to_dma(dev, pa);
  12843. | ^~~~~~~~~~~
  12844. | nv_phys_to_dma
  12845. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  12846. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  12847. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  12848. | ^~~~~~~~~~~~~~~~~~~~~~~
  12849. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  12850. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  12851. 520 | NV_MEMDBG_ADD(ptr, size);
  12852. | ^
  12853. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  12854. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  12855. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  12856. | ^~~~~~~~~~~~~
  12857. | d_is_dir
  12858. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  12859. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  12860. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  12861. | ^~~~~~~~~~~~~
  12862. | d_is_dir
  12863. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  12864. 40 | struct timespec64 {
  12865. | ^~~~~~~~~~
  12866. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  12867. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  12868. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  12869. from ././common/inc/nv-time.h:29:
  12870. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  12871. 13 | struct timespec64 {
  12872. | ^~~~~~~~~~
  12873. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12874. 77 | static inline struct timespec64 timespec64_add
  12875. | ^~~~~~~~~~~~~~
  12876. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12877. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  12878. | ^~~~~~~~~~~~~~
  12879. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  12880. 95 | static inline struct timespec64 timespec64_sub
  12881. | ^~~~~~~~~~~~~~
  12882. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  12883. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  12884. | ^~~~~~~~~~~~~~
  12885. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  12886. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  12887. | ^~~~~~~~~~~~~~~~
  12888. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  12889. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  12890. | ^~~~~~~~~~~~~~~~
  12891. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  12892. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12893. 122 | ktime_get_raw_ts64(&ts);
  12894. | ^~~
  12895. | |
  12896. | struct timespec64 *
  12897. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  12898. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  12899. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  12900. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  12901. from ././common/inc/nv-time.h:30:
  12902. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12903. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12904. | ~~~~~~~~~~~~~~~~~~~^~
  12905. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  12906. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12907. 185 | ktime_get_raw_ts64(&tm_aux);
  12908. | ^~~~~~~
  12909. | |
  12910. | struct timespec64 *
  12911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12912. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12913. | ~~~~~~~~~~~~~~~~~~~^~
  12914. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12915. 221 | ktime_get_raw_ts64(&tm_aux);
  12916. | ^~~~~~~
  12917. | |
  12918. | struct timespec64 *
  12919. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12920. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12921. | ~~~~~~~~~~~~~~~~~~~^~
  12922. nvidia-uvm/nv-kthread-q-selftest.c: At top level:
  12923. nvidia-uvm/nv-kthread-q-selftest.c:84:6: warning: no previous prototype for 'on_nvq_assert' [-Wmissing-prototypes]
  12924. 84 | void on_nvq_assert(void)
  12925. | ^~~~~~~~~~~~~
  12926. In file included from nvidia-uvm/uvm_api.h:31:
  12927. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  12928. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  12929. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  12930. | ^~~~~~~~~~~~~~~~~~~~
  12931. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  12932. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  12933. 287 | ktime_get_raw_ts64(&tm);
  12934. | ^~~
  12935. | |
  12936. | struct timespec64 *
  12937. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  12938. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  12939. | ~~~~~~~~~~~~~~~~~~~^~
  12940. nvidia-uvm/uvm_linux.h: At top level:
  12941. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12942. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  12943. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12944. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12945. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  12946. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12947. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  12948. 449 | #error "Unknown number of arguments"
  12949. | ^~~~~
  12950. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12951. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  12952. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12953. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  12954. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  12955. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12956. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  12957. 485 | #error "Unknown number of arguments"
  12958. | ^~~~~
  12959. In file included from ././common/inc/nv-linux.h:34,
  12960. from ././nvidia-uvm/uvm_linux.h:40:
  12961. ././common/inc/nv-mm.h: At top level:
  12962. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  12963. 29 | typedef int vm_fault_t;
  12964. | ^~~~~~~~~~
  12965. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  12966. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  12967. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  12968. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  12969. from ././common/inc/nv-lock.h:35,
  12970. from ././common/inc/nv-linux.h:32:
  12971. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  12972. 1311 | typedef __bitwise unsigned int vm_fault_t;
  12973. | ^~~~~~~~~~
  12974. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  12975. from ././common/inc/nv-time.h:28:
  12976. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  12977. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  12978. 52 | #define current get_current()
  12979. | ^~~~~~~~~~~~~
  12980. | |
  12981. | struct task_struct *
  12982. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  12983. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  12984. | ^~~~~~~
  12985. In file included from ././common/inc/nv-pgprot.h:30,
  12986. from ././common/inc/nv-linux.h:33:
  12987. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  12988. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  12989. | ~~~~~~~~~~~~~~^~~~~
  12990. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  12991. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  12992. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  12993. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  12994. | ~~~~~~~~~~~~~~^~~~~~~~
  12995. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  12996. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  12997. | ^~~~~~~~
  12998. | |
  12999. | long unsigned int
  13000. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13001. 2535 | unsigned int gup_flags, struct page **pages);
  13002. | ~~~~~~~~~~~~~~^~~~~
  13003. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13004. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13005. | ^~~~~~~~~~~~~~ ~~~~~
  13006. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13007. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13008. | ^~~~~~~~~~~~~~
  13009. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  13010. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  13011. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  13012. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  13013. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  13014. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  13015. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13016. 8 | #define NULL ((void *)0)
  13017. | ^~~~~~~~~~~
  13018. | |
  13019. | void *
  13020. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  13021. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13022. | ^~~~
  13023. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  13024. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13025. | ~~~~~~~~~~~~~~^~~~~
  13026. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13027. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13028. | ^~
  13029. | |
  13030. | struct mm_struct *
  13031. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  13032. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13033. | ~~~~~~~~~~~~~~^~~~~~~~
  13034. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  13035. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13036. | ^~~~~~~~
  13037. | |
  13038. | long unsigned int
  13039. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13040. 2535 | unsigned int gup_flags, struct page **pages);
  13041. | ~~~~~~~~~~~~~~^~~~~
  13042. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13043. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13044. | ^~~~~~~~~~~~~~ ~~~~~
  13045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13046. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13047. | ^~~~~~~~~~~~~~
  13048. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  13049. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  13050. 237 | return (unsigned long)(vmf->virtual_address);
  13051. | ^~~~~~~~~~~~~~~
  13052. | real_address
  13053. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  13054. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13055. 246 | down_read(&mm->mmap_sem);
  13056. | ^~~~~~~~
  13057. | mmap_base
  13058. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  13059. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13060. 255 | up_read(&mm->mmap_sem);
  13061. | ^~~~~~~~
  13062. | mmap_base
  13063. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  13064. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13065. 264 | down_write(&mm->mmap_sem);
  13066. | ^~~~~~~~
  13067. | mmap_base
  13068. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  13069. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13070. 273 | up_write(&mm->mmap_sem);
  13071. | ^~~~~~~~
  13072. | mmap_base
  13073. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  13074. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13075. 282 | return rwsem_is_locked(&mm->mmap_sem);
  13076. | ^~~~~~~~
  13077. | mmap_base
  13078. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  13079. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13080. 291 | return &mm->mmap_sem;
  13081. | ^~~~~~~~
  13082. | mmap_base
  13083. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  13084. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  13085. 300 | vma->vm_flags |= flags;
  13086. | ^~
  13087. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  13088. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  13089. 309 | vma->vm_flags &= ~flags;
  13090. | ^~
  13091. In file included from ././common/inc/nv-linux.h:34,
  13092. from nvidia-uvm/uvm_linux.h:40:
  13093. ././common/inc/nv-mm.h: At top level:
  13094. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  13095. 29 | typedef int vm_fault_t;
  13096. | ^~~~~~~~~~
  13097. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  13098. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  13099. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  13100. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  13101. from ././common/inc/nv-lock.h:35,
  13102. from ././common/inc/nv-linux.h:32:
  13103. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  13104. 1311 | typedef __bitwise unsigned int vm_fault_t;
  13105. | ^~~~~~~~~~
  13106. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  13107. from ././common/inc/nv-time.h:28:
  13108. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  13109. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13110. 52 | #define current get_current()
  13111. | ^~~~~~~~~~~~~
  13112. | |
  13113. | struct task_struct *
  13114. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  13115. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13116. | ^~~~~~~
  13117. In file included from ././common/inc/nv-pgprot.h:30,
  13118. from ././common/inc/nv-linux.h:33:
  13119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  13120. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13121. | ~~~~~~~~~~~~~~^~~~~
  13122. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13123. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13124. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  13125. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13126. | ~~~~~~~~~~~~~~^~~~~~~~
  13127. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  13128. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13129. | ^~~~~~~~
  13130. | |
  13131. | long unsigned int
  13132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13133. 2535 | unsigned int gup_flags, struct page **pages);
  13134. | ~~~~~~~~~~~~~~^~~~~
  13135. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13136. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13137. | ^~~~~~~~~~~~~~ ~~~~~
  13138. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13139. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13140. | ^~~~~~~~~~~~~~
  13141. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  13142. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  13143. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  13144. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  13145. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  13146. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  13147. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13148. 8 | #define NULL ((void *)0)
  13149. | ^~~~~~~~~~~
  13150. | |
  13151. | void *
  13152. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  13153. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13154. | ^~~~
  13155. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  13156. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13157. | ~~~~~~~~~~~~~~^~~~~
  13158. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13159. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13160. | ^~
  13161. | |
  13162. | struct mm_struct *
  13163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  13164. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13165. | ~~~~~~~~~~~~~~^~~~~~~~
  13166. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  13167. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13168. | ^~~~~~~~
  13169. | |
  13170. | long unsigned int
  13171. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13172. 2535 | unsigned int gup_flags, struct page **pages);
  13173. | ~~~~~~~~~~~~~~^~~~~
  13174. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13175. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13176. | ^~~~~~~~~~~~~~ ~~~~~
  13177. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13178. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13179. | ^~~~~~~~~~~~~~
  13180. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  13181. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  13182. 237 | return (unsigned long)(vmf->virtual_address);
  13183. | ^~~~~~~~~~~~~~~
  13184. | real_address
  13185. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  13186. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13187. 246 | down_read(&mm->mmap_sem);
  13188. | ^~~~~~~~
  13189. | mmap_base
  13190. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  13191. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13192. 255 | up_read(&mm->mmap_sem);
  13193. | ^~~~~~~~
  13194. | mmap_base
  13195. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  13196. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13197. 264 | down_write(&mm->mmap_sem);
  13198. | ^~~~~~~~
  13199. | mmap_base
  13200. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  13201. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13202. 273 | up_write(&mm->mmap_sem);
  13203. | ^~~~~~~~
  13204. | mmap_base
  13205. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  13206. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13207. 282 | return rwsem_is_locked(&mm->mmap_sem);
  13208. | ^~~~~~~~
  13209. | mmap_base
  13210. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  13211. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13212. 291 | return &mm->mmap_sem;
  13213. | ^~~~~~~~
  13214. | mmap_base
  13215. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  13216. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  13217. 300 | vma->vm_flags |= flags;
  13218. | ^~
  13219. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  13220. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  13221. 309 | vma->vm_flags &= ~flags;
  13222. | ^~
  13223. In file included from ././common/inc/nv-linux.h:34,
  13224. from nvidia-uvm/uvm_linux.h:40:
  13225. ././common/inc/nv-mm.h: At top level:
  13226. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  13227. 29 | typedef int vm_fault_t;
  13228. | ^~~~~~~~~~
  13229. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  13230. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  13231. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  13232. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  13233. from ././common/inc/nv-lock.h:35,
  13234. from ././common/inc/nv-linux.h:32:
  13235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  13236. 1311 | typedef __bitwise unsigned int vm_fault_t;
  13237. | ^~~~~~~~~~
  13238. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  13239. from ././common/inc/nv-time.h:28:
  13240. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  13241. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13242. 52 | #define current get_current()
  13243. | ^~~~~~~~~~~~~
  13244. | |
  13245. | struct task_struct *
  13246. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  13247. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13248. | ^~~~~~~
  13249. In file included from ././common/inc/nv-pgprot.h:30,
  13250. from ././common/inc/nv-linux.h:33:
  13251. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  13252. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13253. | ~~~~~~~~~~~~~~^~~~~
  13254. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13255. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13256. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  13257. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13258. | ~~~~~~~~~~~~~~^~~~~~~~
  13259. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  13260. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13261. | ^~~~~~~~
  13262. | |
  13263. | long unsigned int
  13264. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13265. 2535 | unsigned int gup_flags, struct page **pages);
  13266. | ~~~~~~~~~~~~~~^~~~~
  13267. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13268. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13269. | ^~~~~~~~~~~~~~ ~~~~~
  13270. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13271. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13272. | ^~~~~~~~~~~~~~
  13273. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  13274. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  13275. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  13276. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  13277. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  13278. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  13279. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13280. 8 | #define NULL ((void *)0)
  13281. | ^~~~~~~~~~~
  13282. | |
  13283. | void *
  13284. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  13285. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13286. | ^~~~
  13287. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  13288. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13289. | ~~~~~~~~~~~~~~^~~~~
  13290. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13291. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13292. | ^~
  13293. | |
  13294. | struct mm_struct *
  13295. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  13296. 40 | struct timespec64 {
  13297. | ^~~~~~~~~~
  13298. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  13299. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  13300. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  13301. from ././common/inc/nv-time.h:29:
  13302. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  13303. 13 | struct timespec64 {
  13304. | ^~~~~~~~~~
  13305. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  13306. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13307. | ~~~~~~~~~~~~~~^~~~~~~~
  13308. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  13309. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13310. | ^~~~~~~~
  13311. | |
  13312. | long unsigned int
  13313. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13314. 2535 | unsigned int gup_flags, struct page **pages);
  13315. | ~~~~~~~~~~~~~~^~~~~
  13316. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13317. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13318. | ^~~~~~~~~~~~~~ ~~~~~
  13319. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13320. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13321. | ^~~~~~~~~~~~~~
  13322. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13323. 77 | static inline struct timespec64 timespec64_add
  13324. | ^~~~~~~~~~~~~~
  13325. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13326. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  13327. | ^~~~~~~~~~~~~~
  13328. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  13329. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  13330. 237 | return (unsigned long)(vmf->virtual_address);
  13331. | ^~~~~~~~~~~~~~~
  13332. | real_address
  13333. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  13334. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13335. 95 | static inline struct timespec64 timespec64_sub
  13336. | ^~~~~~~~~~~~~~
  13337. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13338. 246 | down_read(&mm->mmap_sem);
  13339. | ^~~~~~~~
  13340. | mmap_base
  13341. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13342. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  13343. | ^~~~~~~~~~~~~~
  13344. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/nv-kthread-q-selftest.o] Error 1
  13345. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  13346. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13347. 255 | up_read(&mm->mmap_sem);
  13348. | ^~~~~~~~
  13349. | mmap_base
  13350. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  13351. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  13352. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  13353. | ^~~~~~~~~~~~~~~~
  13354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  13355. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  13356. | ^~~~~~~~~~~~~~~~
  13357. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  13358. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13359. 264 | down_write(&mm->mmap_sem);
  13360. | ^~~~~~~~
  13361. | mmap_base
  13362. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  13363. 533 | ptr = ioremap_cache_shared(phys, size);
  13364. | ^~~~~~~~~~~~~~~~~~~~
  13365. | ioremap_cache
  13366. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  13367. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  13368. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13369. 273 | up_write(&mm->mmap_sem);
  13370. | ^~~~~~~~
  13371. | mmap_base
  13372. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  13373. 533 | ptr = ioremap_cache_shared(phys, size);
  13374. | ^
  13375. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  13376. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13377. 122 | ktime_get_raw_ts64(&ts);
  13378. | ^~~
  13379. | |
  13380. | struct timespec64 *
  13381. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13382. 282 | return rwsem_is_locked(&mm->mmap_sem);
  13383. | ^~~~~~~~
  13384. | mmap_base
  13385. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  13386. 556 | NV_MEMDBG_ADD(ptr, size);
  13387. | ^
  13388. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  13389. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  13390. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  13391. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  13392. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  13393. from ././common/inc/nv-time.h:30:
  13394. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13395. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13396. | ~~~~~~~~~~~~~~~~~~~^~
  13397. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13398. 291 | return &mm->mmap_sem;
  13399. | ^~~~~~~~
  13400. | mmap_base
  13401. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  13402. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  13403. 300 | vma->vm_flags |= flags;
  13404. | ^~
  13405. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  13406. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  13407. 309 | vma->vm_flags &= ~flags;
  13408. | ^~
  13409. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  13410. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13411. 185 | ktime_get_raw_ts64(&tm_aux);
  13412. | ^~~~~~~
  13413. | |
  13414. | struct timespec64 *
  13415. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13416. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13417. | ~~~~~~~~~~~~~~~~~~~^~
  13418. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13419. 221 | ktime_get_raw_ts64(&tm_aux);
  13420. | ^~~~~~~
  13421. | |
  13422. | struct timespec64 *
  13423. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13424. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13425. | ~~~~~~~~~~~~~~~~~~~^~
  13426. CC [M] nvidia-uvm/uvm_range_tree.o
  13427. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  13428. 40 | struct timespec64 {
  13429. | ^~~~~~~~~~
  13430. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  13431. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  13432. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  13433. from ././common/inc/nv-time.h:29:
  13434. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  13435. 13 | struct timespec64 {
  13436. | ^~~~~~~~~~
  13437. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13438. 77 | static inline struct timespec64 timespec64_add
  13439. | ^~~~~~~~~~~~~~
  13440. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13441. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  13442. | ^~~~~~~~~~~~~~
  13443. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13444. 95 | static inline struct timespec64 timespec64_sub
  13445. | ^~~~~~~~~~~~~~
  13446. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13447. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  13448. | ^~~~~~~~~~~~~~
  13449. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  13450. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  13451. | ^~~~~~~~~~~~~~~~
  13452. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  13453. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  13454. | ^~~~~~~~~~~~~~~~
  13455. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  13456. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13457. 122 | ktime_get_raw_ts64(&ts);
  13458. | ^~~
  13459. | |
  13460. | struct timespec64 *
  13461. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  13462. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  13463. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  13464. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  13465. from ././common/inc/nv-time.h:30:
  13466. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13467. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13468. | ~~~~~~~~~~~~~~~~~~~^~
  13469. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  13470. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13471. 185 | ktime_get_raw_ts64(&tm_aux);
  13472. | ^~~~~~~
  13473. | |
  13474. | struct timespec64 *
  13475. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13476. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13477. | ~~~~~~~~~~~~~~~~~~~^~
  13478. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13479. 221 | ktime_get_raw_ts64(&tm_aux);
  13480. | ^~~~~~~
  13481. | |
  13482. | struct timespec64 *
  13483. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13484. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13485. | ~~~~~~~~~~~~~~~~~~~^~
  13486. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  13487. 40 | struct timespec64 {
  13488. | ^~~~~~~~~~
  13489. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  13490. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  13491. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  13492. from ././common/inc/nv-time.h:29:
  13493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  13494. 13 | struct timespec64 {
  13495. | ^~~~~~~~~~
  13496. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13497. 77 | static inline struct timespec64 timespec64_add
  13498. | ^~~~~~~~~~~~~~
  13499. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13500. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  13501. | ^~~~~~~~~~~~~~
  13502. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13503. 95 | static inline struct timespec64 timespec64_sub
  13504. | ^~~~~~~~~~~~~~
  13505. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13506. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  13507. | ^~~~~~~~~~~~~~
  13508. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  13509. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  13510. | ^~~~~~~~~~~~~~~~
  13511. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  13512. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  13513. | ^~~~~~~~~~~~~~~~
  13514. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  13515. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13516. 122 | ktime_get_raw_ts64(&ts);
  13517. | ^~~
  13518. | |
  13519. | struct timespec64 *
  13520. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  13521. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  13522. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  13523. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  13524. from ././common/inc/nv-time.h:30:
  13525. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13526. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13527. | ~~~~~~~~~~~~~~~~~~~^~
  13528. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  13529. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13530. 185 | ktime_get_raw_ts64(&tm_aux);
  13531. | ^~~~~~~
  13532. | |
  13533. | struct timespec64 *
  13534. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13535. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13536. | ~~~~~~~~~~~~~~~~~~~^~
  13537. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13538. 221 | ktime_get_raw_ts64(&tm_aux);
  13539. | ^~~~~~~
  13540. | |
  13541. | struct timespec64 *
  13542. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13543. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13544. | ~~~~~~~~~~~~~~~~~~~^~
  13545. In file included from ././common/inc/nv-linux.h:34,
  13546. from nvidia-uvm/uvm_linux.h:40:
  13547. ././common/inc/nv-mm.h: At top level:
  13548. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  13549. 29 | typedef int vm_fault_t;
  13550. | ^~~~~~~~~~
  13551. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  13552. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  13553. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  13554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  13555. from ././common/inc/nv-lock.h:35,
  13556. from ././common/inc/nv-linux.h:32:
  13557. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  13558. 1311 | typedef __bitwise unsigned int vm_fault_t;
  13559. | ^~~~~~~~~~
  13560. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  13561. from ././common/inc/nv-time.h:28:
  13562. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  13563. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13564. 52 | #define current get_current()
  13565. | ^~~~~~~~~~~~~
  13566. | |
  13567. | struct task_struct *
  13568. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  13569. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13570. | ^~~~~~~
  13571. In file included from ././common/inc/nv-pgprot.h:30,
  13572. from ././common/inc/nv-linux.h:33:
  13573. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  13574. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13575. | ~~~~~~~~~~~~~~^~~~~
  13576. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13577. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13578. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  13579. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13580. | ~~~~~~~~~~~~~~^~~~~~~~
  13581. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  13582. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13583. | ^~~~~~~~
  13584. | |
  13585. | long unsigned int
  13586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13587. 2535 | unsigned int gup_flags, struct page **pages);
  13588. | ~~~~~~~~~~~~~~^~~~~
  13589. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13590. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13591. | ^~~~~~~~~~~~~~ ~~~~~
  13592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13593. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13594. | ^~~~~~~~~~~~~~
  13595. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  13596. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  13597. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  13598. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  13599. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  13600. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  13601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13602. 8 | #define NULL ((void *)0)
  13603. | ^~~~~~~~~~~
  13604. | |
  13605. | void *
  13606. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  13607. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13608. | ^~~~
  13609. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  13610. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13611. | ~~~~~~~~~~~~~~^~~~~
  13612. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13613. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13614. | ^~
  13615. | |
  13616. | struct mm_struct *
  13617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  13618. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13619. | ~~~~~~~~~~~~~~^~~~~~~~
  13620. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  13621. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13622. | ^~~~~~~~
  13623. | |
  13624. | long unsigned int
  13625. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13626. 2535 | unsigned int gup_flags, struct page **pages);
  13627. | ~~~~~~~~~~~~~~^~~~~
  13628. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13629. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13630. | ^~~~~~~~~~~~~~ ~~~~~
  13631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13632. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13633. | ^~~~~~~~~~~~~~
  13634. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  13635. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  13636. 237 | return (unsigned long)(vmf->virtual_address);
  13637. | ^~~~~~~~~~~~~~~
  13638. | real_address
  13639. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  13640. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13641. 246 | down_read(&mm->mmap_sem);
  13642. | ^~~~~~~~
  13643. | mmap_base
  13644. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  13645. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13646. 255 | up_read(&mm->mmap_sem);
  13647. | ^~~~~~~~
  13648. | mmap_base
  13649. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  13650. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13651. 264 | down_write(&mm->mmap_sem);
  13652. | ^~~~~~~~
  13653. | mmap_base
  13654. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  13655. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13656. 273 | up_write(&mm->mmap_sem);
  13657. | ^~~~~~~~
  13658. | mmap_base
  13659. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  13660. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13661. 282 | return rwsem_is_locked(&mm->mmap_sem);
  13662. | ^~~~~~~~
  13663. | mmap_base
  13664. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  13665. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13666. 291 | return &mm->mmap_sem;
  13667. | ^~~~~~~~
  13668. | mmap_base
  13669. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  13670. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  13671. 300 | vma->vm_flags |= flags;
  13672. | ^~
  13673. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  13674. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  13675. 309 | vma->vm_flags &= ~flags;
  13676. | ^~
  13677. In file included from ././common/inc/nv-linux.h:34,
  13678. from nvidia-uvm/uvm_linux.h:40:
  13679. ././common/inc/nv-mm.h: At top level:
  13680. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  13681. 29 | typedef int vm_fault_t;
  13682. | ^~~~~~~~~~
  13683. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  13684. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  13685. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  13686. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  13687. from ././common/inc/nv-lock.h:35,
  13688. from ././common/inc/nv-linux.h:32:
  13689. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  13690. 1311 | typedef __bitwise unsigned int vm_fault_t;
  13691. | ^~~~~~~~~~
  13692. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  13693. from ././common/inc/nv-time.h:28:
  13694. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  13695. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13696. 52 | #define current get_current()
  13697. | ^~~~~~~~~~~~~
  13698. | |
  13699. | struct task_struct *
  13700. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  13701. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13702. | ^~~~~~~
  13703. In file included from ././common/inc/nv-pgprot.h:30,
  13704. from ././common/inc/nv-linux.h:33:
  13705. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  13706. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13707. | ~~~~~~~~~~~~~~^~~~~
  13708. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13709. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13710. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  13711. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13712. | ~~~~~~~~~~~~~~^~~~~~~~
  13713. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  13714. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13715. | ^~~~~~~~
  13716. | |
  13717. | long unsigned int
  13718. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13719. 2535 | unsigned int gup_flags, struct page **pages);
  13720. | ~~~~~~~~~~~~~~^~~~~
  13721. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13722. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  13723. | ^~~~~~~~~~~~~~ ~~~~~
  13724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13725. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13726. | ^~~~~~~~~~~~~~
  13727. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  13728. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  13729. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  13730. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  13731. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  13732. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  13733. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13734. 8 | #define NULL ((void *)0)
  13735. | ^~~~~~~~~~~
  13736. | |
  13737. | void *
  13738. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  13739. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13740. | ^~~~
  13741. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  13742. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13743. | ~~~~~~~~~~~~~~^~~~~
  13744. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  13745. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13746. | ^~
  13747. | |
  13748. | struct mm_struct *
  13749. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  13750. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13751. | ~~~~~~~~~~~~~~^~~~~~~~
  13752. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  13753. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13754. | ^~~~~~~~
  13755. | |
  13756. | long unsigned int
  13757. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  13758. 2535 | unsigned int gup_flags, struct page **pages);
  13759. | ~~~~~~~~~~~~~~^~~~~
  13760. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  13761. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  13762. | ^~~~~~~~~~~~~~ ~~~~~
  13763. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  13764. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  13765. | ^~~~~~~~~~~~~~
  13766. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  13767. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  13768. 237 | return (unsigned long)(vmf->virtual_address);
  13769. | ^~~~~~~~~~~~~~~
  13770. | real_address
  13771. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  13772. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13773. 246 | down_read(&mm->mmap_sem);
  13774. | ^~~~~~~~
  13775. | mmap_base
  13776. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  13777. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13778. 255 | up_read(&mm->mmap_sem);
  13779. | ^~~~~~~~
  13780. | mmap_base
  13781. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  13782. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13783. 264 | down_write(&mm->mmap_sem);
  13784. | ^~~~~~~~
  13785. | mmap_base
  13786. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  13787. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13788. 273 | up_write(&mm->mmap_sem);
  13789. | ^~~~~~~~
  13790. | mmap_base
  13791. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  13792. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13793. 282 | return rwsem_is_locked(&mm->mmap_sem);
  13794. | ^~~~~~~~
  13795. | mmap_base
  13796. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  13797. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  13798. 291 | return &mm->mmap_sem;
  13799. | ^~~~~~~~
  13800. | mmap_base
  13801. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  13802. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  13803. 300 | vma->vm_flags |= flags;
  13804. | ^~
  13805. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  13806. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  13807. 309 | vma->vm_flags &= ~flags;
  13808. | ^~
  13809. cc1: some warnings being treated as errors
  13810. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_sec2.o] Error 1
  13811. CC [M] nvidia-uvm/uvm_rb_tree.o
  13812. In file included from ././common/inc/conftest.h:28,
  13813. from ././common/inc/nv-time.h:27,
  13814. from nvidia-uvm/uvm_linux.h:37,
  13815. from nvidia-uvm/uvm_common.h:43,
  13816. from nvidia-uvm/uvm_range_tree.c:24:
  13817. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  13818. 74 | #error dma_buf_export() conftest failed!
  13819. | ^~~~~
  13820. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  13821. 87 | #error wait_on_bit_lock() conftest failed!
  13822. | ^~~~~
  13823. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  13824. 90 | #error radix_tree_replace_slot() conftest failed!
  13825. | ^~~~~
  13826. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  13827. from nvidia-uvm/uvm_gpu.h:37,
  13828. from nvidia-uvm/uvm_tools.c:25:
  13829. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  13830. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  13831. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  13832. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  13833. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  13834. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  13835. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  13836. | ^~~~~~~~~~~~~~~~~~~~
  13837. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  13838. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  13839. | ^
  13840. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  13841. 573 | NV_MEMDBG_ADD(ptr, size);
  13842. | ^
  13843. ././common/inc/nv-linux.h: In function 'nv_vmap':
  13844. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  13845. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  13846. | ^
  13847. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  13848. 40 | struct timespec64 {
  13849. | ^~~~~~~~~~
  13850. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  13851. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  13852. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  13853. from ././common/inc/nv-time.h:29:
  13854. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  13855. 13 | struct timespec64 {
  13856. | ^~~~~~~~~~
  13857. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13858. 77 | static inline struct timespec64 timespec64_add
  13859. | ^~~~~~~~~~~~~~
  13860. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13861. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  13862. | ^~~~~~~~~~~~~~
  13863. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13864. 95 | static inline struct timespec64 timespec64_sub
  13865. | ^~~~~~~~~~~~~~
  13866. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13867. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  13868. | ^~~~~~~~~~~~~~
  13869. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  13870. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  13871. | ^~~~~~~~~~~~~~~~
  13872. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  13873. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  13874. | ^~~~~~~~~~~~~~~~
  13875. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  13876. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13877. 122 | ktime_get_raw_ts64(&ts);
  13878. | ^~~
  13879. | |
  13880. | struct timespec64 *
  13881. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  13882. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  13883. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  13884. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  13885. from ././common/inc/nv-time.h:30:
  13886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13887. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13888. | ~~~~~~~~~~~~~~~~~~~^~
  13889. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  13890. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  13891. 736 | return phys_to_dma(dev, pa);
  13892. | ^~~~~~~~~~~
  13893. | nv_phys_to_dma
  13894. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  13895. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13896. 185 | ktime_get_raw_ts64(&tm_aux);
  13897. | ^~~~~~~
  13898. | |
  13899. | struct timespec64 *
  13900. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13901. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13902. | ~~~~~~~~~~~~~~~~~~~^~
  13903. nvidia-uvm/uvm.c: At top level:
  13904. 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]
  13905. 401 | .fault = uvm_vm_fault_sigbus_entry
  13906. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  13907. nvidia-uvm/uvm.c:401:14: note: (near initialization for 'uvm_vm_ops_disabled.fault')
  13908. nvidia-uvm/uvm.c:377:19: note: 'uvm_vm_fault_sigbus_entry' declared here
  13909. 377 | static vm_fault_t uvm_vm_fault_sigbus_entry(struct vm_area_struct *vma, struct vm_fault *vmf)
  13910. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  13911. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13912. 221 | ktime_get_raw_ts64(&tm_aux);
  13913. | ^~~~~~~
  13914. | |
  13915. | struct timespec64 *
  13916. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13917. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13918. | ~~~~~~~~~~~~~~~~~~~^~
  13919. 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
  13920. -types]
  13921. 654 | .fault = uvm_vm_fault_entry,
  13922. | ^~~~~~~~~~~~~~~~~~
  13923. nvidia-uvm/uvm.c:654:21: note: (near initialization for 'uvm_vm_ops_managed.fault')
  13924. nvidia-uvm/uvm.c:626:19: note: 'uvm_vm_fault_entry' declared here
  13925. 626 | static vm_fault_t uvm_vm_fault_entry(struct vm_area_struct *vma, struct vm_fault *vmf)
  13926. | ^~~~~~~~~~~~~~~~~~
  13927. 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]
  13928. 655 | .page_mkwrite = uvm_vm_fault_entry,
  13929. | ^~~~~~~~~~~~~~~~~~
  13930. nvidia-uvm/uvm.c:655:21: note: (near initialization for 'uvm_vm_ops_managed.page_mkwrite')
  13931. nvidia-uvm/uvm.c:626:19: note: 'uvm_vm_fault_entry' declared here
  13932. 626 | static vm_fault_t uvm_vm_fault_entry(struct vm_area_struct *vma, struct vm_fault *vmf)
  13933. | ^~~~~~~~~~~~~~~~~~
  13934. 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]
  13935. 750 | .fault = uvm_vm_fault_sigbus_entry,
  13936. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  13937. nvidia-uvm/uvm.c:750:21: note: (near initialization for 'uvm_vm_ops_semaphore_pool.fault')
  13938. nvidia-uvm/uvm.c:377:19: note: 'uvm_vm_fault_sigbus_entry' declared here
  13939. 377 | static vm_fault_t uvm_vm_fault_sigbus_entry(struct vm_area_struct *vma, struct vm_fault *vmf)
  13940. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  13941. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  13942. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  13943. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  13944. | ^~~~~~~~~~~~~
  13945. | d_is_dir
  13946. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  13947. 40 | struct timespec64 {
  13948. | ^~~~~~~~~~
  13949. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  13950. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  13951. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  13952. from ././common/inc/nv-time.h:29:
  13953. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  13954. 13 | struct timespec64 {
  13955. | ^~~~~~~~~~
  13956. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13957. 77 | static inline struct timespec64 timespec64_add
  13958. | ^~~~~~~~~~~~~~
  13959. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13960. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  13961. | ^~~~~~~~~~~~~~
  13962. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  13963. 95 | static inline struct timespec64 timespec64_sub
  13964. | ^~~~~~~~~~~~~~
  13965. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  13966. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  13967. | ^~~~~~~~~~~~~~
  13968. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  13969. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  13970. | ^~~~~~~~~~~~~~~~
  13971. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  13972. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  13973. | ^~~~~~~~~~~~~~~~
  13974. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  13975. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13976. 122 | ktime_get_raw_ts64(&ts);
  13977. | ^~~
  13978. | |
  13979. | struct timespec64 *
  13980. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  13981. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  13982. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  13983. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  13984. from ././common/inc/nv-time.h:30:
  13985. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13986. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13987. | ~~~~~~~~~~~~~~~~~~~^~
  13988. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  13989. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13990. 185 | ktime_get_raw_ts64(&tm_aux);
  13991. | ^~~~~~~
  13992. | |
  13993. | struct timespec64 *
  13994. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  13995. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  13996. | ~~~~~~~~~~~~~~~~~~~^~
  13997. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  13998. 221 | ktime_get_raw_ts64(&tm_aux);
  13999. | ^~~~~~~
  14000. | |
  14001. | struct timespec64 *
  14002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  14003. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  14004. | ~~~~~~~~~~~~~~~~~~~^~
  14005. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  14006. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  14007. 287 | ktime_get_raw_ts64(&tm);
  14008. | ^~~
  14009. | |
  14010. | struct timespec64 *
  14011. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  14012. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  14013. | ~~~~~~~~~~~~~~~~~~~^~
  14014. nvidia-uvm/uvm_linux.h: At top level:
  14015. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  14016. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  14017. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  14018. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  14019. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  14020. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  14021. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  14022. 449 | #error "Unknown number of arguments"
  14023. | ^~~~~
  14024. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  14025. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  14026. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  14027. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  14028. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  14029. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  14030. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  14031. 485 | #error "Unknown number of arguments"
  14032. | ^~~~~
  14033. cc1: some warnings being treated as errors
  14034. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm.o] Error 1
  14035. CC [M] nvidia-uvm/uvm_range_allocator.o
  14036. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  14037. In file included from ././common/inc/nv-linux.h:34,
  14038. from nvidia-uvm/uvm_linux.h:40:
  14039. ././common/inc/nv-mm.h: At top level:
  14040. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  14041. 29 | typedef int vm_fault_t;
  14042. | ^~~~~~~~~~
  14043. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  14044. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  14045. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  14046. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  14047. from ././common/inc/nv-lock.h:35,
  14048. from ././common/inc/nv-linux.h:32:
  14049. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  14050. 1311 | typedef __bitwise unsigned int vm_fault_t;
  14051. | ^~~~~~~~~~
  14052. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  14053. from ././common/inc/nv-time.h:28:
  14054. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  14055. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14056. 52 | #define current get_current()
  14057. | ^~~~~~~~~~~~~
  14058. | |
  14059. | struct task_struct *
  14060. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  14061. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14062. | ^~~~~~~
  14063. In file included from ././common/inc/nv-pgprot.h:30,
  14064. from ././common/inc/nv-linux.h:33:
  14065. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  14066. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14067. | ~~~~~~~~~~~~~~^~~~~
  14068. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14069. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14070. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14071. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14072. | ~~~~~~~~~~~~~~^~~~~~~~
  14073. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14074. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14075. | ^~~~~~~~
  14076. | |
  14077. | long unsigned int
  14078. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14079. 2535 | unsigned int gup_flags, struct page **pages);
  14080. | ~~~~~~~~~~~~~~^~~~~
  14081. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14082. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14083. | ^~~~~~~~~~~~~~ ~~~~~
  14084. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14085. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14086. | ^~~~~~~~~~~~~~
  14087. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  14088. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  14089. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  14090. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  14091. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  14092. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  14093. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14094. 8 | #define NULL ((void *)0)
  14095. | ^~~~~~~~~~~
  14096. | |
  14097. | void *
  14098. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  14099. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14100. | ^~~~
  14101. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  14102. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14103. | ~~~~~~~~~~~~~~^~~~~
  14104. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14105. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14106. | ^~
  14107. | |
  14108. | struct mm_struct *
  14109. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14110. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14111. | ~~~~~~~~~~~~~~^~~~~~~~
  14112. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14113. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14114. | ^~~~~~~~
  14115. | |
  14116. | long unsigned int
  14117. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14118. 2535 | unsigned int gup_flags, struct page **pages);
  14119. | ~~~~~~~~~~~~~~^~~~~
  14120. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14121. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14122. | ^~~~~~~~~~~~~~ ~~~~~
  14123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14124. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14125. | ^~~~~~~~~~~~~~
  14126. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  14127. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  14128. 237 | return (unsigned long)(vmf->virtual_address);
  14129. | ^~~~~~~~~~~~~~~
  14130. | real_address
  14131. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  14132. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14133. 246 | down_read(&mm->mmap_sem);
  14134. | ^~~~~~~~
  14135. | mmap_base
  14136. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  14137. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14138. 255 | up_read(&mm->mmap_sem);
  14139. | ^~~~~~~~
  14140. | mmap_base
  14141. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  14142. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14143. 264 | down_write(&mm->mmap_sem);
  14144. | ^~~~~~~~
  14145. | mmap_base
  14146. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  14147. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14148. 273 | up_write(&mm->mmap_sem);
  14149. | ^~~~~~~~
  14150. | mmap_base
  14151. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  14152. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14153. 282 | return rwsem_is_locked(&mm->mmap_sem);
  14154. | ^~~~~~~~
  14155. | mmap_base
  14156. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  14157. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14158. 291 | return &mm->mmap_sem;
  14159. | ^~~~~~~~
  14160. | mmap_base
  14161. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  14162. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  14163. 300 | vma->vm_flags |= flags;
  14164. | ^~
  14165. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  14166. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  14167. 309 | vma->vm_flags &= ~flags;
  14168. | ^~
  14169. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14170. 502 | NV_MEMDBG_ADD(ptr, size);
  14171. | ^
  14172. In file included from ././common/inc/conftest.h:28,
  14173. from ././common/inc/nv-time.h:27,
  14174. from nvidia-uvm/uvm_linux.h:37,
  14175. from nvidia-uvm/uvm_range_tree.h:27,
  14176. from nvidia-uvm/uvm_range_allocator.h:27,
  14177. from nvidia-uvm/uvm_range_allocator.c:24:
  14178. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  14179. 74 | #error dma_buf_export() conftest failed!
  14180. | ^~~~~
  14181. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  14182. 87 | #error wait_on_bit_lock() conftest failed!
  14183. | ^~~~~
  14184. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  14185. 90 | #error radix_tree_replace_slot() conftest failed!
  14186. | ^~~~~
  14187. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  14188. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14189. 502 | NV_MEMDBG_ADD(ptr, size);
  14190. | ^
  14191. In file included from nvidia-uvm/uvm_api.h:31:
  14192. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  14193. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  14194. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  14195. | ^~~~~~~~~~~~~~~~~~~~
  14196. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  14197. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  14198. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14199. 502 | NV_MEMDBG_ADD(ptr, size);
  14200. | ^
  14201. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14202. 502 | NV_MEMDBG_ADD(ptr, size);
  14203. | ^
  14204. In file included from ././common/inc/conftest.h:28,
  14205. from ././common/inc/nv-list-helpers.h:27,
  14206. from nvidia-uvm/uvm_rb_tree.h:32,
  14207. from nvidia-uvm/uvm_rb_tree.c:24:
  14208. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  14209. 74 | #error dma_buf_export() conftest failed!
  14210. | ^~~~~
  14211. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  14212. 87 | #error wait_on_bit_lock() conftest failed!
  14213. | ^~~~~
  14214. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  14215. 90 | #error radix_tree_replace_slot() conftest failed!
  14216. | ^~~~~
  14217. In file included from ././common/inc/nv-linux.h:34,
  14218. from nvidia-uvm/uvm_linux.h:40:
  14219. ././common/inc/nv-mm.h: At top level:
  14220. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  14221. 29 | typedef int vm_fault_t;
  14222. | ^~~~~~~~~~
  14223. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  14224. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  14225. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  14226. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  14227. from ././common/inc/nv-lock.h:35,
  14228. from ././common/inc/nv-linux.h:32:
  14229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  14230. 1311 | typedef __bitwise unsigned int vm_fault_t;
  14231. | ^~~~~~~~~~
  14232. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  14233. from ././common/inc/nv-time.h:28:
  14234. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  14235. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  14236. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14237. 52 | #define current get_current()
  14238. | ^~~~~~~~~~~~~
  14239. | |
  14240. | struct task_struct *
  14241. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  14242. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14243. | ^~~~~~~
  14244. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14245. 502 | NV_MEMDBG_ADD(ptr, size);
  14246. | ^
  14247. In file included from ././common/inc/nv-pgprot.h:30,
  14248. from ././common/inc/nv-linux.h:33:
  14249. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  14250. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14251. | ~~~~~~~~~~~~~~^~~~~
  14252. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14253. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14255. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14256. | ~~~~~~~~~~~~~~^~~~~~~~
  14257. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14258. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14259. | ^~~~~~~~
  14260. | |
  14261. | long unsigned int
  14262. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14263. 2535 | unsigned int gup_flags, struct page **pages);
  14264. | ~~~~~~~~~~~~~~^~~~~
  14265. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rb_tree.o] Error 1
  14266. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14267. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14268. | ^~~~~~~~~~~~~~ ~~~~~
  14269. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14270. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14271. | ^~~~~~~~~~~~~~
  14272. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  14273. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  14274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  14275. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  14276. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  14277. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  14278. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14279. 8 | #define NULL ((void *)0)
  14280. | ^~~~~~~~~~~
  14281. | |
  14282. | void *
  14283. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  14284. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14285. | ^~~~
  14286. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  14287. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14288. | ~~~~~~~~~~~~~~^~~~~
  14289. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14290. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14291. | ^~
  14292. | |
  14293. | struct mm_struct *
  14294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14295. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14296. | ~~~~~~~~~~~~~~^~~~~~~~
  14297. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14298. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14299. | ^~~~~~~~
  14300. | |
  14301. | long unsigned int
  14302. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14303. 2535 | unsigned int gup_flags, struct page **pages);
  14304. | ~~~~~~~~~~~~~~^~~~~
  14305. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14306. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14307. | ^~~~~~~~~~~~~~ ~~~~~
  14308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14309. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14310. | ^~~~~~~~~~~~~~
  14311. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  14312. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  14313. 237 | return (unsigned long)(vmf->virtual_address);
  14314. | ^~~~~~~~~~~~~~~
  14315. | real_address
  14316. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  14317. 40 | struct timespec64 {
  14318. | ^~~~~~~~~~
  14319. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  14320. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14321. 246 | down_read(&mm->mmap_sem);
  14322. | ^~~~~~~~
  14323. | mmap_base
  14324. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  14325. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  14326. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  14327. from ././common/inc/nv-time.h:29:
  14328. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  14329. 13 | struct timespec64 {
  14330. | ^~~~~~~~~~
  14331. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  14332. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14333. 255 | up_read(&mm->mmap_sem);
  14334. | ^~~~~~~~
  14335. | mmap_base
  14336. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  14337. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14338. 264 | down_write(&mm->mmap_sem);
  14339. | ^~~~~~~~
  14340. | mmap_base
  14341. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  14342. 77 | static inline struct timespec64 timespec64_add
  14343. | ^~~~~~~~~~~~~~
  14344. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  14345. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  14346. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  14347. | ^~~~~~~~~~~~~~
  14348. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14349. 273 | up_write(&mm->mmap_sem);
  14350. | ^~~~~~~~
  14351. | mmap_base
  14352. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  14353. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14354. 282 | return rwsem_is_locked(&mm->mmap_sem);
  14355. | ^~~~~~~~
  14356. | mmap_base
  14357. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  14358. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  14359. 95 | static inline struct timespec64 timespec64_sub
  14360. | ^~~~~~~~~~~~~~
  14361. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14362. 291 | return &mm->mmap_sem;
  14363. | ^~~~~~~~
  14364. | mmap_base
  14365. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  14366. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  14367. | ^~~~~~~~~~~~~~
  14368. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  14369. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  14370. 300 | vma->vm_flags |= flags;
  14371. | ^~
  14372. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  14373. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  14374. 309 | vma->vm_flags &= ~flags;
  14375. | ^~
  14376. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  14377. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  14378. | ^~~~~~~~~~~~~~~~
  14379. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  14380. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  14381. | ^~~~~~~~~~~~~~~~
  14382. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  14383. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  14384. 122 | ktime_get_raw_ts64(&ts);
  14385. | ^~~
  14386. | |
  14387. | struct timespec64 *
  14388. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  14389. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  14390. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  14391. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  14392. from ././common/inc/nv-time.h:30:
  14393. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  14394. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  14395. | ~~~~~~~~~~~~~~~~~~~^~
  14396. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  14397. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  14398. 185 | ktime_get_raw_ts64(&tm_aux);
  14399. | ^~~~~~~
  14400. | |
  14401. | struct timespec64 *
  14402. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  14403. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  14404. | ~~~~~~~~~~~~~~~~~~~^~
  14405. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  14406. 221 | ktime_get_raw_ts64(&tm_aux);
  14407. | ^~~~~~~
  14408. | |
  14409. | struct timespec64 *
  14410. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  14411. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  14412. | ~~~~~~~~~~~~~~~~~~~^~
  14413. CC [M] nvidia-uvm/uvm_va_range.o
  14414. nvidia-uvm/uvm_tools.c: At top level:
  14415. nvidia-uvm/uvm_tools.c:2317:5: warning: no previous prototype for 'uvm_tools_init' [-Wmissing-prototypes]
  14416. 2317 | int uvm_tools_init(dev_t uvm_base_dev)
  14417. | ^~~~~~~~~~~~~~
  14418. In file included from ././common/inc/nv-linux.h:34,
  14419. from nvidia-uvm/uvm_linux.h:40:
  14420. ././common/inc/nv-mm.h: At top level:
  14421. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  14422. 29 | typedef int vm_fault_t;
  14423. | ^~~~~~~~~~
  14424. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  14425. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  14426. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  14427. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  14428. from ././common/inc/nv-lock.h:35,
  14429. from ././common/inc/nv-linux.h:32:
  14430. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  14431. 1311 | typedef __bitwise unsigned int vm_fault_t;
  14432. | ^~~~~~~~~~
  14433. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  14434. from ././common/inc/nv-time.h:28:
  14435. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  14436. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14437. 52 | #define current get_current()
  14438. | ^~~~~~~~~~~~~
  14439. | |
  14440. | struct task_struct *
  14441. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  14442. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14443. | ^~~~~~~
  14444. In file included from ././common/inc/nv-pgprot.h:30,
  14445. from ././common/inc/nv-linux.h:33:
  14446. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  14447. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14448. | ~~~~~~~~~~~~~~^~~~~
  14449. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14450. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14452. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14453. | ~~~~~~~~~~~~~~^~~~~~~~
  14454. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14455. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14456. | ^~~~~~~~
  14457. | |
  14458. | long unsigned int
  14459. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14460. 2535 | unsigned int gup_flags, struct page **pages);
  14461. | ~~~~~~~~~~~~~~^~~~~
  14462. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14463. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14464. | ^~~~~~~~~~~~~~ ~~~~~
  14465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14466. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14467. | ^~~~~~~~~~~~~~
  14468. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  14469. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  14470. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  14471. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  14472. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  14473. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  14474. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14475. 8 | #define NULL ((void *)0)
  14476. | ^~~~~~~~~~~
  14477. | |
  14478. | void *
  14479. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  14480. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14481. | ^~~~
  14482. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  14483. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14484. | ~~~~~~~~~~~~~~^~~~~
  14485. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14486. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14487. | ^~
  14488. | |
  14489. | struct mm_struct *
  14490. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14491. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14492. | ~~~~~~~~~~~~~~^~~~~~~~
  14493. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14494. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14495. | ^~~~~~~~
  14496. | |
  14497. | long unsigned int
  14498. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14499. 2535 | unsigned int gup_flags, struct page **pages);
  14500. | ~~~~~~~~~~~~~~^~~~~
  14501. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14502. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14503. | ^~~~~~~~~~~~~~ ~~~~~
  14504. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14505. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14506. | ^~~~~~~~~~~~~~
  14507. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  14508. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  14509. 237 | return (unsigned long)(vmf->virtual_address);
  14510. | ^~~~~~~~~~~~~~~
  14511. | real_address
  14512. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  14513. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14514. 246 | down_read(&mm->mmap_sem);
  14515. | ^~~~~~~~
  14516. | mmap_base
  14517. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  14518. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14519. 255 | up_read(&mm->mmap_sem);
  14520. | ^~~~~~~~
  14521. | mmap_base
  14522. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  14523. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14524. 264 | down_write(&mm->mmap_sem);
  14525. | ^~~~~~~~
  14526. | mmap_base
  14527. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  14528. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14529. 273 | up_write(&mm->mmap_sem);
  14530. | ^~~~~~~~
  14531. | mmap_base
  14532. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  14533. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14534. 282 | return rwsem_is_locked(&mm->mmap_sem);
  14535. | ^~~~~~~~
  14536. | mmap_base
  14537. nvidia-uvm/uvm_tools.c:2378:6: warning: no previous prototype for 'uvm_tools_exit' [-Wmissing-prototypes]
  14538. 2378 | void uvm_tools_exit(void)
  14539. | ^~~~~~~~~~~~~~
  14540. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  14541. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14542. 291 | return &mm->mmap_sem;
  14543. | ^~~~~~~~
  14544. | mmap_base
  14545. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  14546. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  14547. 300 | vma->vm_flags |= flags;
  14548. | ^~
  14549. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  14550. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  14551. 309 | vma->vm_flags &= ~flags;
  14552. | ^~
  14553. In file included from ././common/inc/nv-linux.h:34,
  14554. from nvidia-uvm/uvm_linux.h:40:
  14555. ././common/inc/nv-mm.h: At top level:
  14556. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  14557. 29 | typedef int vm_fault_t;
  14558. | ^~~~~~~~~~
  14559. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  14560. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  14561. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  14562. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  14563. from ././common/inc/nv-lock.h:35,
  14564. from ././common/inc/nv-linux.h:32:
  14565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  14566. 1311 | typedef __bitwise unsigned int vm_fault_t;
  14567. | ^~~~~~~~~~
  14568. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  14569. from ././common/inc/nv-time.h:28:
  14570. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  14571. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14572. 52 | #define current get_current()
  14573. | ^~~~~~~~~~~~~
  14574. | |
  14575. | struct task_struct *
  14576. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  14577. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14578. | ^~~~~~~
  14579. In file included from ././common/inc/nv-pgprot.h:30,
  14580. from ././common/inc/nv-linux.h:33:
  14581. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  14582. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14583. | ~~~~~~~~~~~~~~^~~~~
  14584. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14585. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14587. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14588. | ~~~~~~~~~~~~~~^~~~~~~~
  14589. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14590. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14591. | ^~~~~~~~
  14592. | |
  14593. | long unsigned int
  14594. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14595. 2535 | unsigned int gup_flags, struct page **pages);
  14596. | ~~~~~~~~~~~~~~^~~~~
  14597. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14598. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14599. | ^~~~~~~~~~~~~~ ~~~~~
  14600. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14601. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14602. | ^~~~~~~~~~~~~~
  14603. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  14604. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  14605. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  14606. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  14607. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  14608. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  14609. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14610. 8 | #define NULL ((void *)0)
  14611. | ^~~~~~~~~~~
  14612. | |
  14613. | void *
  14614. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  14615. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14616. | ^~~~
  14617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  14618. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14619. | ~~~~~~~~~~~~~~^~~~~
  14620. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14621. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14622. | ^~
  14623. | |
  14624. | struct mm_struct *
  14625. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14626. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14627. | ~~~~~~~~~~~~~~^~~~~~~~
  14628. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14629. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14630. | ^~~~~~~~
  14631. | |
  14632. | long unsigned int
  14633. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14634. 2535 | unsigned int gup_flags, struct page **pages);
  14635. | ~~~~~~~~~~~~~~^~~~~
  14636. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14637. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14638. | ^~~~~~~~~~~~~~ ~~~~~
  14639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14640. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14641. | ^~~~~~~~~~~~~~
  14642. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  14643. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  14644. 237 | return (unsigned long)(vmf->virtual_address);
  14645. | ^~~~~~~~~~~~~~~
  14646. | real_address
  14647. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  14648. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14649. 246 | down_read(&mm->mmap_sem);
  14650. | ^~~~~~~~
  14651. | mmap_base
  14652. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  14653. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14654. 255 | up_read(&mm->mmap_sem);
  14655. | ^~~~~~~~
  14656. | mmap_base
  14657. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  14658. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14659. 264 | down_write(&mm->mmap_sem);
  14660. | ^~~~~~~~
  14661. | mmap_base
  14662. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  14663. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14664. 273 | up_write(&mm->mmap_sem);
  14665. | ^~~~~~~~
  14666. | mmap_base
  14667. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  14668. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14669. 282 | return rwsem_is_locked(&mm->mmap_sem);
  14670. | ^~~~~~~~
  14671. | mmap_base
  14672. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  14673. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14674. 291 | return &mm->mmap_sem;
  14675. | ^~~~~~~~
  14676. | mmap_base
  14677. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  14678. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  14679. 300 | vma->vm_flags |= flags;
  14680. | ^~
  14681. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  14682. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  14683. 309 | vma->vm_flags &= ~flags;
  14684. | ^~
  14685. In file included from ././common/inc/conftest.h:28,
  14686. from ././common/inc/nv-time.h:27,
  14687. from nvidia-uvm/uvm_linux.h:37,
  14688. from nvidia-uvm/uvm_common.h:43,
  14689. from nvidia-uvm/uvm_va_range.c:24:
  14690. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  14691. 74 | #error dma_buf_export() conftest failed!
  14692. | ^~~~~
  14693. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  14694. 87 | #error wait_on_bit_lock() conftest failed!
  14695. | ^~~~~
  14696. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  14697. 90 | #error radix_tree_replace_slot() conftest failed!
  14698. | ^~~~~
  14699. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  14700. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  14701. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  14702. | ^~~~~~~~~~~~~~~~~~~~~~~
  14703. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14704. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14705. 520 | NV_MEMDBG_ADD(ptr, size);
  14706. | ^
  14707. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  14708. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  14709. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  14710. | ^~~~~~~~~~~~~~~~~~~~~~~
  14711. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14712. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14713. 520 | NV_MEMDBG_ADD(ptr, size);
  14714. | ^
  14715. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  14716. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  14717. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  14718. | ^~~~~~~~~~~~~~~~~~~~~~~
  14719. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14720. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14721. 520 | NV_MEMDBG_ADD(ptr, size);
  14722. | ^
  14723. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  14724. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  14725. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  14726. | ^~~~~~~~~~~~~~~~~~~~~~~
  14727. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14728. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14729. 520 | NV_MEMDBG_ADD(ptr, size);
  14730. | ^
  14731. cc1: some warnings being treated as errors
  14732. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  14733. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  14734. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  14735. | ^~~~~~~~~~~~~~~~~~~~~~~
  14736. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14737. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tools.o] Error 1
  14738. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14739. 520 | NV_MEMDBG_ADD(ptr, size);
  14740. | ^
  14741. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  14742. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  14743. 533 | ptr = ioremap_cache_shared(phys, size);
  14744. | ^~~~~~~~~~~~~~~~~~~~
  14745. | ioremap_cache
  14746. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14747. 533 | ptr = ioremap_cache_shared(phys, size);
  14748. | ^
  14749. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14750. 556 | NV_MEMDBG_ADD(ptr, size);
  14751. | ^
  14752. CC [M] nvidia-uvm/uvm_va_policy.o
  14753. In file included from ././common/inc/conftest.h:28,
  14754. from ././common/inc/nv-time.h:27,
  14755. from nvidia-uvm/uvm_linux.h:37,
  14756. from nvidia-uvm/uvm_common.h:43,
  14757. from nvidia-uvm/uvm_va_policy.c:24:
  14758. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  14759. 74 | #error dma_buf_export() conftest failed!
  14760. | ^~~~~
  14761. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  14762. 87 | #error wait_on_bit_lock() conftest failed!
  14763. | ^~~~~
  14764. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  14765. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  14766. 533 | ptr = ioremap_cache_shared(phys, size);
  14767. | ^~~~~~~~~~~~~~~~~~~~
  14768. | ioremap_cache
  14769. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14770. 533 | ptr = ioremap_cache_shared(phys, size);
  14771. | ^
  14772. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14773. 556 | NV_MEMDBG_ADD(ptr, size);
  14774. | ^
  14775. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  14776. 90 | #error radix_tree_replace_slot() conftest failed!
  14777. | ^~~~~
  14778. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  14779. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  14780. 533 | ptr = ioremap_cache_shared(phys, size);
  14781. | ^~~~~~~~~~~~~~~~~~~~
  14782. | ioremap_cache
  14783. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14784. 533 | ptr = ioremap_cache_shared(phys, size);
  14785. | ^
  14786. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14787. 556 | NV_MEMDBG_ADD(ptr, size);
  14788. | ^
  14789. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  14790. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  14791. 533 | ptr = ioremap_cache_shared(phys, size);
  14792. | ^~~~~~~~~~~~~~~~~~~~
  14793. | ioremap_cache
  14794. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14795. 533 | ptr = ioremap_cache_shared(phys, size);
  14796. | ^
  14797. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14798. 556 | NV_MEMDBG_ADD(ptr, size);
  14799. | ^
  14800. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  14801. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  14802. 533 | ptr = ioremap_cache_shared(phys, size);
  14803. | ^~~~~~~~~~~~~~~~~~~~
  14804. | ioremap_cache
  14805. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14806. 533 | ptr = ioremap_cache_shared(phys, size);
  14807. | ^
  14808. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14809. 556 | NV_MEMDBG_ADD(ptr, size);
  14810. | ^
  14811. In file included from ././common/inc/nv-linux.h:34,
  14812. from nvidia-uvm/uvm_linux.h:40:
  14813. ././common/inc/nv-mm.h: At top level:
  14814. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  14815. 29 | typedef int vm_fault_t;
  14816. | ^~~~~~~~~~
  14817. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  14818. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  14819. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  14820. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  14821. from ././common/inc/nv-lock.h:35,
  14822. from ././common/inc/nv-linux.h:32:
  14823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  14824. 1311 | typedef __bitwise unsigned int vm_fault_t;
  14825. | ^~~~~~~~~~
  14826. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  14827. from ././common/inc/nv-time.h:28:
  14828. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  14829. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14830. 52 | #define current get_current()
  14831. | ^~~~~~~~~~~~~
  14832. | |
  14833. | struct task_struct *
  14834. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  14835. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14836. | ^~~~~~~
  14837. In file included from ././common/inc/nv-pgprot.h:30,
  14838. from ././common/inc/nv-linux.h:33:
  14839. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  14840. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14841. | ~~~~~~~~~~~~~~^~~~~
  14842. cc1: some warnings being treated as errors
  14843. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14844. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14845. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14846. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14847. | ~~~~~~~~~~~~~~^~~~~~~~
  14848. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14849. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14850. | ^~~~~~~~
  14851. | |
  14852. | long unsigned int
  14853. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14854. 2535 | unsigned int gup_flags, struct page **pages);
  14855. | ~~~~~~~~~~~~~~^~~~~
  14856. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14857. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14858. | ^~~~~~~~~~~~~~ ~~~~~
  14859. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14860. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14861. | ^~~~~~~~~~~~~~
  14862. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  14863. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  14864. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  14865. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  14866. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  14867. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  14868. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14869. 8 | #define NULL ((void *)0)
  14870. | ^~~~~~~~~~~
  14871. | |
  14872. | void *
  14873. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  14874. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14875. | ^~~~
  14876. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  14877. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14878. | ~~~~~~~~~~~~~~^~~~~
  14879. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14880. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14881. | ^~
  14882. | |
  14883. | struct mm_struct *
  14884. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  14885. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14886. | ~~~~~~~~~~~~~~^~~~~~~~
  14887. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  14888. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14889. | ^~~~~~~~
  14890. | |
  14891. | long unsigned int
  14892. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  14893. 2535 | unsigned int gup_flags, struct page **pages);
  14894. | ~~~~~~~~~~~~~~^~~~~
  14895. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  14896. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  14897. | ^~~~~~~~~~~~~~ ~~~~~
  14898. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  14899. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14900. | ^~~~~~~~~~~~~~
  14901. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  14902. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  14903. 237 | return (unsigned long)(vmf->virtual_address);
  14904. | ^~~~~~~~~~~~~~~
  14905. | real_address
  14906. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  14907. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14908. 246 | down_read(&mm->mmap_sem);
  14909. | ^~~~~~~~
  14910. | mmap_base
  14911. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  14912. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14913. 255 | up_read(&mm->mmap_sem);
  14914. | ^~~~~~~~
  14915. | mmap_base
  14916. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  14917. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14918. 264 | down_write(&mm->mmap_sem);
  14919. | ^~~~~~~~
  14920. | mmap_base
  14921. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  14922. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14923. 273 | up_write(&mm->mmap_sem);
  14924. | ^~~~~~~~
  14925. | mmap_base
  14926. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  14927. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14928. 282 | return rwsem_is_locked(&mm->mmap_sem);
  14929. | ^~~~~~~~
  14930. | mmap_base
  14931. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  14932. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14933. 502 | NV_MEMDBG_ADD(ptr, size);
  14934. | ^
  14935. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  14936. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  14937. 291 | return &mm->mmap_sem;
  14938. | ^~~~~~~~
  14939. | mmap_base
  14940. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  14941. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  14942. 300 | vma->vm_flags |= flags;
  14943. | ^~
  14944. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  14945. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  14946. 309 | vma->vm_flags &= ~flags;
  14947. | ^~
  14948. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  14949. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  14950. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  14951. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  14952. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  14953. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  14954. | ^
  14955. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14956. 573 | NV_MEMDBG_ADD(ptr, size);
  14957. | ^
  14958. ././common/inc/nv-linux.h: In function 'nv_vmap':
  14959. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  14960. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  14961. | ^
  14962. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_global.o] Error 1
  14963. CC [M] nvidia-uvm/uvm_va_block.o
  14964. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  14965. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  14966. 736 | return phys_to_dma(dev, pa);
  14967. | ^~~~~~~~~~~
  14968. | nv_phys_to_dma
  14969. In file included from ././common/inc/nv-linux.h:34,
  14970. from nvidia-uvm/uvm_linux.h:40:
  14971. ././common/inc/nv-mm.h: At top level:
  14972. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  14973. 29 | typedef int vm_fault_t;
  14974. | ^~~~~~~~~~
  14975. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  14976. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  14977. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  14978. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  14979. from ././common/inc/nv-lock.h:35,
  14980. from ././common/inc/nv-linux.h:32:
  14981. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  14982. 1311 | typedef __bitwise unsigned int vm_fault_t;
  14983. | ^~~~~~~~~~
  14984. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  14985. from ././common/inc/nv-time.h:28:
  14986. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  14987. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  14988. 52 | #define current get_current()
  14989. | ^~~~~~~~~~~~~
  14990. | |
  14991. | struct task_struct *
  14992. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  14993. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  14994. | ^~~~~~~
  14995. In file included from ././common/inc/nv-pgprot.h:30,
  14996. from ././common/inc/nv-linux.h:33:
  14997. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  14998. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  14999. | ~~~~~~~~~~~~~~^~~~~
  15000. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  15001. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  15002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  15003. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15004. | ~~~~~~~~~~~~~~^~~~~~~~
  15005. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  15006. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  15007. | ^~~~~~~~
  15008. | |
  15009. | long unsigned int
  15010. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  15011. 2535 | unsigned int gup_flags, struct page **pages);
  15012. | ~~~~~~~~~~~~~~^~~~~
  15013. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  15014. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  15015. | ^~~~~~~~~~~~~~ ~~~~~
  15016. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  15017. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15018. | ^~~~~~~~~~~~~~
  15019. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  15020. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  15021. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  15022. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  15023. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  15024. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  15025. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  15026. 8 | #define NULL ((void *)0)
  15027. | ^~~~~~~~~~~
  15028. | |
  15029. | void *
  15030. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  15031. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  15032. | ^~~~
  15033. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  15034. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15035. | ~~~~~~~~~~~~~~^~~~~
  15036. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  15037. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  15038. | ^~
  15039. | |
  15040. | struct mm_struct *
  15041. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  15042. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15043. | ~~~~~~~~~~~~~~^~~~~~~~
  15044. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  15045. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  15046. | ^~~~~~~~
  15047. | |
  15048. | long unsigned int
  15049. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  15050. 2535 | unsigned int gup_flags, struct page **pages);
  15051. | ~~~~~~~~~~~~~~^~~~~
  15052. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  15053. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  15054. | ^~~~~~~~~~~~~~ ~~~~~
  15055. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  15056. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15057. | ^~~~~~~~~~~~~~
  15058. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  15059. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  15060. 237 | return (unsigned long)(vmf->virtual_address);
  15061. | ^~~~~~~~~~~~~~~
  15062. | real_address
  15063. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  15064. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15065. 246 | down_read(&mm->mmap_sem);
  15066. | ^~~~~~~~
  15067. | mmap_base
  15068. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  15069. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15070. 255 | up_read(&mm->mmap_sem);
  15071. | ^~~~~~~~
  15072. | mmap_base
  15073. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  15074. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15075. 264 | down_write(&mm->mmap_sem);
  15076. | ^~~~~~~~
  15077. | mmap_base
  15078. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  15079. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15080. 273 | up_write(&mm->mmap_sem);
  15081. | ^~~~~~~~
  15082. | mmap_base
  15083. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  15084. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15085. 282 | return rwsem_is_locked(&mm->mmap_sem);
  15086. | ^~~~~~~~
  15087. | mmap_base
  15088. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  15089. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15090. 291 | return &mm->mmap_sem;
  15091. | ^~~~~~~~
  15092. | mmap_base
  15093. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  15094. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  15095. 300 | vma->vm_flags |= flags;
  15096. | ^~
  15097. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  15098. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  15099. 309 | vma->vm_flags &= ~flags;
  15100. | ^~
  15101. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  15102. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  15103. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15104. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  15105. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15106. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15107. | ^
  15108. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15109. 573 | NV_MEMDBG_ADD(ptr, size);
  15110. | ^
  15111. ././common/inc/nv-linux.h: In function 'nv_vmap':
  15112. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15113. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  15114. | ^
  15115. In file included from ././common/inc/conftest.h:28,
  15116. from ././common/inc/nv-time.h:27,
  15117. from nvidia-uvm/uvm_linux.h:37,
  15118. from nvidia-uvm/uvm_va_block.c:24:
  15119. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  15120. 74 | #error dma_buf_export() conftest failed!
  15121. | ^~~~~
  15122. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  15123. 87 | #error wait_on_bit_lock() conftest failed!
  15124. | ^~~~~
  15125. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  15126. 90 | #error radix_tree_replace_slot() conftest failed!
  15127. | ^~~~~
  15128. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  15129. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  15130. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  15131. | ^~~~~~~~~~~~~
  15132. | d_is_dir
  15133. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  15134. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  15135. 736 | return phys_to_dma(dev, pa);
  15136. | ^~~~~~~~~~~
  15137. | nv_phys_to_dma
  15138. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  15139. 40 | struct timespec64 {
  15140. | ^~~~~~~~~~
  15141. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  15142. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  15143. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  15144. from ././common/inc/nv-time.h:29:
  15145. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  15146. 13 | struct timespec64 {
  15147. | ^~~~~~~~~~
  15148. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  15149. 77 | static inline struct timespec64 timespec64_add
  15150. | ^~~~~~~~~~~~~~
  15151. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  15152. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  15153. | ^~~~~~~~~~~~~~
  15154. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  15155. 95 | static inline struct timespec64 timespec64_sub
  15156. | ^~~~~~~~~~~~~~
  15157. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  15158. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  15159. | ^~~~~~~~~~~~~~
  15160. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  15161. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  15162. | ^~~~~~~~~~~~~~~~
  15163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  15164. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  15165. | ^~~~~~~~~~~~~~~~
  15166. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  15167. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15168. 122 | ktime_get_raw_ts64(&ts);
  15169. | ^~~
  15170. | |
  15171. | struct timespec64 *
  15172. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  15173. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  15174. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  15175. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  15176. from ././common/inc/nv-time.h:30:
  15177. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15178. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15179. | ~~~~~~~~~~~~~~~~~~~^~
  15180. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  15181. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15182. 185 | ktime_get_raw_ts64(&tm_aux);
  15183. | ^~~~~~~
  15184. | |
  15185. | struct timespec64 *
  15186. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15187. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15188. | ~~~~~~~~~~~~~~~~~~~^~
  15189. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15190. 221 | ktime_get_raw_ts64(&tm_aux);
  15191. | ^~~~~~~
  15192. | |
  15193. | struct timespec64 *
  15194. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15195. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15196. | ~~~~~~~~~~~~~~~~~~~^~
  15197. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  15198. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  15199. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15200. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  15201. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15202. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15203. | ^
  15204. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15205. 573 | NV_MEMDBG_ADD(ptr, size);
  15206. | ^
  15207. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  15208. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15209. 502 | NV_MEMDBG_ADD(ptr, size);
  15210. | ^
  15211. ././common/inc/nv-linux.h: In function 'nv_vmap':
  15212. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15213. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  15214. | ^
  15215. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  15216. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  15217. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  15218. | ^~~~~~~~~~~~~~~~~~~~~~~
  15219. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  15220. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15221. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15222. 287 | ktime_get_raw_ts64(&tm);
  15223. | ^~~
  15224. | |
  15225. | struct timespec64 *
  15226. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15227. 520 | NV_MEMDBG_ADD(ptr, size);
  15228. | ^
  15229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15230. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15231. | ~~~~~~~~~~~~~~~~~~~^~
  15232. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  15233. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  15234. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15235. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  15236. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15237. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15238. | ^
  15239. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15240. 573 | NV_MEMDBG_ADD(ptr, size);
  15241. | ^
  15242. nvidia-uvm/uvm_linux.h: At top level:
  15243. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15244. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  15245. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15246. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15247. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  15248. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15249. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  15250. 449 | #error "Unknown number of arguments"
  15251. | ^~~~~
  15252. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15253. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  15254. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15255. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15256. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  15257. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15258. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  15259. 485 | #error "Unknown number of arguments"
  15260. | ^~~~~
  15261. ././common/inc/nv-linux.h: In function 'nv_vmap':
  15262. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15263. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  15264. | ^
  15265. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  15266. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  15267. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  15268. | ^~~~~~~~~~~~~
  15269. | d_is_dir
  15270. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  15271. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15272. 502 | NV_MEMDBG_ADD(ptr, size);
  15273. | ^
  15274. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  15275. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  15276. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15277. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  15278. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15279. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15280. | ^
  15281. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15282. 573 | NV_MEMDBG_ADD(ptr, size);
  15283. | ^
  15284. ././common/inc/nv-linux.h: In function 'nv_vmap':
  15285. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15286. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  15287. | ^
  15288. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  15289. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  15290. 736 | return phys_to_dma(dev, pa);
  15291. | ^~~~~~~~~~~
  15292. | nv_phys_to_dma
  15293. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  15294. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  15295. 40 | struct timespec64 {
  15296. | ^~~~~~~~~~
  15297. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  15298. 736 | return phys_to_dma(dev, pa);
  15299. | ^~~~~~~~~~~
  15300. | nv_phys_to_dma
  15301. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  15302. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  15303. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  15304. from ././common/inc/nv-time.h:29:
  15305. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  15306. 13 | struct timespec64 {
  15307. | ^~~~~~~~~~
  15308. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  15309. 77 | static inline struct timespec64 timespec64_add
  15310. | ^~~~~~~~~~~~~~
  15311. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  15312. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  15313. | ^~~~~~~~~~~~~~
  15314. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  15315. 95 | static inline struct timespec64 timespec64_sub
  15316. | ^~~~~~~~~~~~~~
  15317. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  15318. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  15319. | ^~~~~~~~~~~~~~
  15320. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  15321. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  15322. | ^~~~~~~~~~~~~~~~
  15323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  15324. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  15325. | ^~~~~~~~~~~~~~~~
  15326. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  15327. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15328. 122 | ktime_get_raw_ts64(&ts);
  15329. | ^~~
  15330. | |
  15331. | struct timespec64 *
  15332. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  15333. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  15334. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  15335. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  15336. from ././common/inc/nv-time.h:30:
  15337. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15338. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15339. | ~~~~~~~~~~~~~~~~~~~^~
  15340. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  15341. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15342. 185 | ktime_get_raw_ts64(&tm_aux);
  15343. | ^~~~~~~
  15344. | |
  15345. | struct timespec64 *
  15346. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15347. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15348. | ~~~~~~~~~~~~~~~~~~~^~
  15349. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15350. 221 | ktime_get_raw_ts64(&tm_aux);
  15351. | ^~~~~~~
  15352. | |
  15353. | struct timespec64 *
  15354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15355. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15356. | ~~~~~~~~~~~~~~~~~~~^~
  15357. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  15358. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15359. 502 | NV_MEMDBG_ADD(ptr, size);
  15360. | ^
  15361. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  15362. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  15363. 736 | return phys_to_dma(dev, pa);
  15364. | ^~~~~~~~~~~
  15365. | nv_phys_to_dma
  15366. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  15367. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15368. 287 | ktime_get_raw_ts64(&tm);
  15369. | ^~~
  15370. | |
  15371. | struct timespec64 *
  15372. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15373. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15374. | ~~~~~~~~~~~~~~~~~~~^~
  15375. nvidia-uvm/uvm_linux.h: At top level:
  15376. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15377. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  15378. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15379. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15380. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  15381. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15382. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  15383. 449 | #error "Unknown number of arguments"
  15384. | ^~~~~
  15385. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15386. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  15387. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15388. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15389. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  15390. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15391. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  15392. 485 | #error "Unknown number of arguments"
  15393. | ^~~~~
  15394. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  15395. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  15396. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  15397. | ^~~~~~~~~~~~~
  15398. | d_is_dir
  15399. In file included from ././common/inc/nv-linux.h:34,
  15400. from nvidia-uvm/uvm_linux.h:40:
  15401. ././common/inc/nv-mm.h: At top level:
  15402. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  15403. 29 | typedef int vm_fault_t;
  15404. | ^~~~~~~~~~
  15405. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  15406. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  15407. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  15408. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  15409. from ././common/inc/nv-lock.h:35,
  15410. from ././common/inc/nv-linux.h:32:
  15411. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  15412. 1311 | typedef __bitwise unsigned int vm_fault_t;
  15413. | ^~~~~~~~~~
  15414. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  15415. from ././common/inc/nv-time.h:28:
  15416. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  15417. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  15418. 52 | #define current get_current()
  15419. | ^~~~~~~~~~~~~
  15420. | |
  15421. | struct task_struct *
  15422. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  15423. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  15424. | ^~~~~~~
  15425. In file included from ././common/inc/nv-pgprot.h:30,
  15426. from ././common/inc/nv-linux.h:33:
  15427. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  15428. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15429. | ~~~~~~~~~~~~~~^~~~~
  15430. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  15431. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  15432. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  15433. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15434. | ~~~~~~~~~~~~~~^~~~~~~~
  15435. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  15436. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  15437. | ^~~~~~~~
  15438. | |
  15439. | long unsigned int
  15440. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  15441. 2535 | unsigned int gup_flags, struct page **pages);
  15442. | ~~~~~~~~~~~~~~^~~~~
  15443. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  15444. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  15445. | ^~~~~~~~~~~~~~ ~~~~~
  15446. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  15447. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15448. | ^~~~~~~~~~~~~~
  15449. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  15450. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  15451. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  15452. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  15453. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  15454. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  15455. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  15456. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  15457. 533 | ptr = ioremap_cache_shared(phys, size);
  15458. | ^~~~~~~~~~~~~~~~~~~~
  15459. | ioremap_cache
  15460. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  15461. 8 | #define NULL ((void *)0)
  15462. | ^~~~~~~~~~~
  15463. | |
  15464. | void *
  15465. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  15466. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  15467. | ^~~~
  15468. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15469. 533 | ptr = ioremap_cache_shared(phys, size);
  15470. | ^
  15471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  15472. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15473. | ~~~~~~~~~~~~~~^~~~~
  15474. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  15475. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  15476. | ^~
  15477. | |
  15478. | struct mm_struct *
  15479. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15480. 556 | NV_MEMDBG_ADD(ptr, size);
  15481. | ^
  15482. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  15483. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15484. | ~~~~~~~~~~~~~~^~~~~~~~
  15485. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  15486. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  15487. | ^~~~~~~~
  15488. | |
  15489. | long unsigned int
  15490. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  15491. 2535 | unsigned int gup_flags, struct page **pages);
  15492. | ~~~~~~~~~~~~~~^~~~~
  15493. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  15494. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  15495. | ^~~~~~~~~~~~~~ ~~~~~
  15496. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  15497. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15498. | ^~~~~~~~~~~~~~
  15499. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  15500. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  15501. 237 | return (unsigned long)(vmf->virtual_address);
  15502. | ^~~~~~~~~~~~~~~
  15503. | real_address
  15504. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  15505. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15506. 246 | down_read(&mm->mmap_sem);
  15507. | ^~~~~~~~
  15508. | mmap_base
  15509. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  15510. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15511. 255 | up_read(&mm->mmap_sem);
  15512. | ^~~~~~~~
  15513. | mmap_base
  15514. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  15515. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15516. 264 | down_write(&mm->mmap_sem);
  15517. | ^~~~~~~~
  15518. | mmap_base
  15519. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  15520. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15521. 273 | up_write(&mm->mmap_sem);
  15522. | ^~~~~~~~
  15523. | mmap_base
  15524. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  15525. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15526. 282 | return rwsem_is_locked(&mm->mmap_sem);
  15527. | ^~~~~~~~
  15528. | mmap_base
  15529. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  15530. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  15531. 291 | return &mm->mmap_sem;
  15532. | ^~~~~~~~
  15533. | mmap_base
  15534. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  15535. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  15536. 300 | vma->vm_flags |= flags;
  15537. | ^~
  15538. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  15539. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  15540. 309 | vma->vm_flags &= ~flags;
  15541. | ^~
  15542. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  15543. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  15544. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  15545. | ^~~~~~~~~~~~~
  15546. | d_is_dir
  15547. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  15548. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  15549. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  15550. | ^~~~~~~~~~~~~
  15551. | d_is_dir
  15552. In file included from nvidia-uvm/uvm_api.h:31:
  15553. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  15554. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  15555. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  15556. | ^~~~~~~~~~~~~~~~~~~~
  15557. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  15558. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  15559. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  15560. | ^~~~~~~~~~~~~~~~~~~~~~~
  15561. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15562. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15563. 520 | NV_MEMDBG_ADD(ptr, size);
  15564. | ^
  15565. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  15566. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15567. 287 | ktime_get_raw_ts64(&tm);
  15568. | ^~~
  15569. | |
  15570. | struct timespec64 *
  15571. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15572. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15573. | ~~~~~~~~~~~~~~~~~~~^~
  15574. ././nvidia-uvm/uvm_linux.h: At top level:
  15575. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15576. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  15577. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15578. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15579. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  15580. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15581. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  15582. 449 | #error "Unknown number of arguments"
  15583. | ^~~~~
  15584. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15585. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  15586. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15587. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15588. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  15589. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15590. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  15591. 485 | #error "Unknown number of arguments"
  15592. | ^~~~~
  15593. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  15594. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  15595. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  15596. | ^~~~~~~~~~~~~~~~~~~~~~~
  15597. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15598. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15599. 520 | NV_MEMDBG_ADD(ptr, size);
  15600. | ^
  15601. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  15602. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15603. 287 | ktime_get_raw_ts64(&tm);
  15604. | ^~~
  15605. | |
  15606. | struct timespec64 *
  15607. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15608. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15609. | ~~~~~~~~~~~~~~~~~~~^~
  15610. nvidia-uvm/uvm_linux.h: At top level:
  15611. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15612. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  15613. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15614. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15615. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  15616. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15617. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  15618. 449 | #error "Unknown number of arguments"
  15619. | ^~~~~
  15620. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15621. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  15622. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15623. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15624. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  15625. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15626. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  15627. 485 | #error "Unknown number of arguments"
  15628. | ^~~~~
  15629. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  15630. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15631. 287 | ktime_get_raw_ts64(&tm);
  15632. | ^~~
  15633. | |
  15634. | struct timespec64 *
  15635. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15636. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15637. | ~~~~~~~~~~~~~~~~~~~^~
  15638. nvidia-uvm/uvm_linux.h: At top level:
  15639. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15640. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  15641. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15642. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15643. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  15644. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15645. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  15646. 449 | #error "Unknown number of arguments"
  15647. | ^~~~~
  15648. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15649. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  15650. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15651. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15652. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  15653. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15654. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  15655. 485 | #error "Unknown number of arguments"
  15656. | ^~~~~
  15657. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  15658. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  15659. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  15660. | ^~~~~~~~~~~~~~~~~~~~~~~
  15661. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15662. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15663. 520 | NV_MEMDBG_ADD(ptr, size);
  15664. | ^
  15665. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  15666. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  15667. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15668. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  15669. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15670. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15671. | ^
  15672. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15673. 573 | NV_MEMDBG_ADD(ptr, size);
  15674. | ^
  15675. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  15676. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  15677. 533 | ptr = ioremap_cache_shared(phys, size);
  15678. | ^~~~~~~~~~~~~~~~~~~~
  15679. | ioremap_cache
  15680. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15681. 533 | ptr = ioremap_cache_shared(phys, size);
  15682. | ^
  15683. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15684. 556 | NV_MEMDBG_ADD(ptr, size);
  15685. | ^
  15686. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  15687. from nvidia-uvm/uvm_gpu.h:37,
  15688. from nvidia-uvm/uvm_global.h:32,
  15689. from nvidia-uvm/uvm_va_space.h:28,
  15690. from nvidia-uvm/uvm_va_space_mm.c:26:
  15691. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  15692. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  15693. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  15694. | ^~~~~~~~~~~~~~~~~~~~
  15695. ././common/inc/nv-linux.h: In function 'nv_vmap':
  15696. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15697. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  15698. | ^
  15699. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  15700. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  15701. 533 | ptr = ioremap_cache_shared(phys, size);
  15702. | ^~~~~~~~~~~~~~~~~~~~
  15703. | ioremap_cache
  15704. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15705. 533 | ptr = ioremap_cache_shared(phys, size);
  15706. | ^
  15707. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15708. 556 | NV_MEMDBG_ADD(ptr, size);
  15709. | ^
  15710. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  15711. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  15712. 736 | return phys_to_dma(dev, pa);
  15713. | ^~~~~~~~~~~
  15714. | nv_phys_to_dma
  15715. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  15716. 40 | struct timespec64 {
  15717. | ^~~~~~~~~~
  15718. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  15719. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  15720. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  15721. from ././common/inc/nv-time.h:29:
  15722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  15723. 13 | struct timespec64 {
  15724. | ^~~~~~~~~~
  15725. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  15726. 77 | static inline struct timespec64 timespec64_add
  15727. | ^~~~~~~~~~~~~~
  15728. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  15729. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  15730. | ^~~~~~~~~~~~~~
  15731. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  15732. 95 | static inline struct timespec64 timespec64_sub
  15733. | ^~~~~~~~~~~~~~
  15734. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  15735. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  15736. | ^~~~~~~~~~~~~~
  15737. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  15738. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  15739. | ^~~~~~~~~~~~~~~~
  15740. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  15741. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  15742. | ^~~~~~~~~~~~~~~~
  15743. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  15744. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15745. 122 | ktime_get_raw_ts64(&ts);
  15746. | ^~~
  15747. | |
  15748. | struct timespec64 *
  15749. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  15750. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  15751. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  15752. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  15753. from ././common/inc/nv-time.h:30:
  15754. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15755. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15756. | ~~~~~~~~~~~~~~~~~~~^~
  15757. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  15758. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15759. 185 | ktime_get_raw_ts64(&tm_aux);
  15760. | ^~~~~~~
  15761. | |
  15762. | struct timespec64 *
  15763. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15764. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15765. | ~~~~~~~~~~~~~~~~~~~^~
  15766. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15767. 221 | ktime_get_raw_ts64(&tm_aux);
  15768. | ^~~~~~~
  15769. | |
  15770. | struct timespec64 *
  15771. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15772. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15773. | ~~~~~~~~~~~~~~~~~~~^~
  15774. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  15775. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  15776. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  15777. | ^~~~~~~~~~~~~
  15778. | d_is_dir
  15779. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  15780. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  15781. 533 | ptr = ioremap_cache_shared(phys, size);
  15782. | ^~~~~~~~~~~~~~~~~~~~
  15783. | ioremap_cache
  15784. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15785. 533 | ptr = ioremap_cache_shared(phys, size);
  15786. | ^
  15787. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15788. 556 | NV_MEMDBG_ADD(ptr, size);
  15789. | ^
  15790. In file included from nvidia-uvm/uvm_api.h:31:
  15791. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  15792. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  15793. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  15794. | ^~~~~~~~~~~~~~~~~~~~
  15795. In file included from nvidia-uvm/uvm_api.h:31,
  15796. from nvidia-uvm/uvm_gpu.c:25:
  15797. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  15798. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  15799. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  15800. | ^~~~~~~~~~~~~~~~~~~~
  15801. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  15802. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15803. 502 | NV_MEMDBG_ADD(ptr, size);
  15804. | ^
  15805. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  15806. from nvidia-uvm/uvm_gpu.h:37,
  15807. from nvidia-uvm/uvm_global.h:32:
  15808. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  15809. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  15810. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  15811. | ^~~~~~~~~~~~~~~~~~~~
  15812. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  15813. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15814. 287 | ktime_get_raw_ts64(&tm);
  15815. | ^~~
  15816. | |
  15817. | struct timespec64 *
  15818. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15819. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15820. | ~~~~~~~~~~~~~~~~~~~^~
  15821. nvidia-uvm/uvm_linux.h: At top level:
  15822. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15823. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  15824. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15825. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15826. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  15827. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15828. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  15829. 449 | #error "Unknown number of arguments"
  15830. | ^~~~~
  15831. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15832. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  15833. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15834. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  15835. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  15836. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15837. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  15838. 485 | #error "Unknown number of arguments"
  15839. | ^~~~~
  15840. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  15841. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15842. 502 | NV_MEMDBG_ADD(ptr, size);
  15843. | ^
  15844. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  15845. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  15846. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15847. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  15848. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15849. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15850. | ^
  15851. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15852. 573 | NV_MEMDBG_ADD(ptr, size);
  15853. | ^
  15854. ././common/inc/nv-linux.h: In function 'nv_vmap':
  15855. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15856. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  15857. | ^
  15858. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  15859. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  15860. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15861. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  15862. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15863. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15864. | ^
  15865. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15866. 573 | NV_MEMDBG_ADD(ptr, size);
  15867. | ^
  15868. ././common/inc/nv-linux.h: In function 'nv_vmap':
  15869. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15870. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  15871. | ^
  15872. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  15873. 40 | struct timespec64 {
  15874. | ^~~~~~~~~~
  15875. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  15876. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  15877. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  15878. from ././common/inc/nv-time.h:29:
  15879. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  15880. 13 | struct timespec64 {
  15881. | ^~~~~~~~~~
  15882. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  15883. 77 | static inline struct timespec64 timespec64_add
  15884. | ^~~~~~~~~~~~~~
  15885. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  15886. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  15887. | ^~~~~~~~~~~~~~
  15888. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  15889. 95 | static inline struct timespec64 timespec64_sub
  15890. | ^~~~~~~~~~~~~~
  15891. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  15892. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  15893. | ^~~~~~~~~~~~~~
  15894. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  15895. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  15896. | ^~~~~~~~~~~~~~~~
  15897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  15898. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  15899. | ^~~~~~~~~~~~~~~~
  15900. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  15901. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15902. 122 | ktime_get_raw_ts64(&ts);
  15903. | ^~~
  15904. | |
  15905. | struct timespec64 *
  15906. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  15907. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  15908. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  15909. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  15910. from ././common/inc/nv-time.h:30:
  15911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15912. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15913. | ~~~~~~~~~~~~~~~~~~~^~
  15914. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  15915. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15916. 185 | ktime_get_raw_ts64(&tm_aux);
  15917. | ^~~~~~~
  15918. | |
  15919. | struct timespec64 *
  15920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15921. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15922. | ~~~~~~~~~~~~~~~~~~~^~
  15923. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  15924. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  15925. 736 | return phys_to_dma(dev, pa);
  15926. | ^~~~~~~~~~~
  15927. | nv_phys_to_dma
  15928. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  15929. 221 | ktime_get_raw_ts64(&tm_aux);
  15930. | ^~~~~~~
  15931. | |
  15932. | struct timespec64 *
  15933. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  15934. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  15935. | ~~~~~~~~~~~~~~~~~~~^~
  15936. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  15937. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  15938. 736 | return phys_to_dma(dev, pa);
  15939. | ^~~~~~~~~~~
  15940. | nv_phys_to_dma
  15941. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  15942. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  15943. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  15944. | ^~~~~~~~~~~~~
  15945. | d_is_dir
  15946. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  15947. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  15948. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15949. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  15950. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15951. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  15952. | ^
  15953. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15954. 573 | NV_MEMDBG_ADD(ptr, size);
  15955. | ^
  15956. In file included from ././common/inc/nv-linux.h:34,
  15957. from nvidia-uvm/uvm_linux.h:40:
  15958. ././common/inc/nv-mm.h: At top level:
  15959. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  15960. 29 | typedef int vm_fault_t;
  15961. | ^~~~~~~~~~
  15962. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  15963. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  15964. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  15965. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  15966. from ././common/inc/nv-lock.h:35,
  15967. from ././common/inc/nv-linux.h:32:
  15968. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  15969. 1311 | typedef __bitwise unsigned int vm_fault_t;
  15970. | ^~~~~~~~~~
  15971. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  15972. from ././common/inc/nv-time.h:28:
  15973. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  15974. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  15975. 52 | #define current get_current()
  15976. | ^~~~~~~~~~~~~
  15977. | |
  15978. | struct task_struct *
  15979. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  15980. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  15981. | ^~~~~~~
  15982. In file included from ././common/inc/nv-pgprot.h:30,
  15983. from ././common/inc/nv-linux.h:33:
  15984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  15985. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15986. | ~~~~~~~~~~~~~~^~~~~
  15987. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  15988. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  15989. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  15990. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  15991. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  15992. | ^~~~~~~~~~~~~~~~~~~~~~~
  15993. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  15994. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  15995. | ~~~~~~~~~~~~~~^~~~~~~~
  15996. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  15997. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  15998. 520 | NV_MEMDBG_ADD(ptr, size);
  15999. | ^
  16000. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  16001. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16002. | ^~~~~~~~
  16003. | |
  16004. | long unsigned int
  16005. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  16006. 2535 | unsigned int gup_flags, struct page **pages);
  16007. | ~~~~~~~~~~~~~~^~~~~
  16008. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  16009. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16010. | ^~~~~~~~~~~~~~ ~~~~~
  16011. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  16012. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16013. | ^~~~~~~~~~~~~~
  16014. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  16015. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  16016. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  16017. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  16018. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  16019. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  16020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16021. 8 | #define NULL ((void *)0)
  16022. | ^~~~~~~~~~~
  16023. | |
  16024. | void *
  16025. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  16026. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16027. | ^~~~
  16028. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  16029. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16030. | ~~~~~~~~~~~~~~^~~~~
  16031. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16032. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16033. | ^~
  16034. | |
  16035. | struct mm_struct *
  16036. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  16037. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16038. | ~~~~~~~~~~~~~~^~~~~~~~
  16039. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  16040. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16041. | ^~~~~~~~
  16042. | |
  16043. | long unsigned int
  16044. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  16045. 2535 | unsigned int gup_flags, struct page **pages);
  16046. | ~~~~~~~~~~~~~~^~~~~
  16047. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  16048. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16049. | ^~~~~~~~~~~~~~ ~~~~~
  16050. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  16051. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16052. | ^~~~~~~~~~~~~~
  16053. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  16054. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  16055. 237 | return (unsigned long)(vmf->virtual_address);
  16056. | ^~~~~~~~~~~~~~~
  16057. | real_address
  16058. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  16059. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16060. 246 | down_read(&mm->mmap_sem);
  16061. | ^~~~~~~~
  16062. | mmap_base
  16063. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  16064. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16065. 255 | up_read(&mm->mmap_sem);
  16066. | ^~~~~~~~
  16067. | mmap_base
  16068. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  16069. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16070. 264 | down_write(&mm->mmap_sem);
  16071. | ^~~~~~~~
  16072. | mmap_base
  16073. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  16074. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16075. 273 | up_write(&mm->mmap_sem);
  16076. | ^~~~~~~~
  16077. | mmap_base
  16078. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  16079. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16080. 282 | return rwsem_is_locked(&mm->mmap_sem);
  16081. | ^~~~~~~~
  16082. | mmap_base
  16083. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  16084. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16085. 291 | return &mm->mmap_sem;
  16086. | ^~~~~~~~
  16087. | mmap_base
  16088. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  16089. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  16090. 300 | vma->vm_flags |= flags;
  16091. | ^~
  16092. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  16093. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  16094. 309 | vma->vm_flags &= ~flags;
  16095. | ^~
  16096. cc1: some warnings being treated as errors
  16097. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  16098. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  16099. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  16100. | ^~~~~~~~~~~~~~~~~~~~
  16101. ././common/inc/nv-linux.h: In function 'nv_vmap':
  16102. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16103. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  16104. | ^
  16105. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  16106. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  16107. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  16108. | ^~~~~~~~~~~~~
  16109. | d_is_dir
  16110. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_space_mm.o] Error 1
  16111. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  16112. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  16113. 287 | ktime_get_raw_ts64(&tm);
  16114. | ^~~
  16115. | |
  16116. | struct timespec64 *
  16117. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  16118. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  16119. | ~~~~~~~~~~~~~~~~~~~^~
  16120. nvidia-uvm/uvm_linux.h: At top level:
  16121. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16122. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  16123. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16124. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16125. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  16126. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16127. cc1: some warnings being treated as errors
  16128. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  16129. 449 | #error "Unknown number of arguments"
  16130. | ^~~~~
  16131. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16132. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  16133. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16134. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16135. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  16136. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16137. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  16138. 485 | #error "Unknown number of arguments"
  16139. | ^~~~~
  16140. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  16141. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16142. 502 | NV_MEMDBG_ADD(ptr, size);
  16143. | ^
  16144. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  16145. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  16146. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  16147. | ^~~~~~~~~~~~~~~~~~~~~~~
  16148. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  16149. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16150. 520 | NV_MEMDBG_ADD(ptr, size);
  16151. | ^
  16152. CC [M] nvidia-uvm/uvm_range_group.o
  16153. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  16154. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  16155. 736 | return phys_to_dma(dev, pa);
  16156. | ^~~~~~~~~~~
  16157. | nv_phys_to_dma
  16158. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_procfs.o] Error 1
  16159. In file included from ././common/inc/nv-linux.h:34,
  16160. from nvidia-uvm/uvm_linux.h:40:
  16161. ././common/inc/nv-mm.h: At top level:
  16162. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  16163. 29 | typedef int vm_fault_t;
  16164. | ^~~~~~~~~~
  16165. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  16166. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  16167. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  16168. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  16169. from ././common/inc/nv-lock.h:35,
  16170. from ././common/inc/nv-linux.h:32:
  16171. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  16172. 1311 | typedef __bitwise unsigned int vm_fault_t;
  16173. | ^~~~~~~~~~
  16174. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  16175. from ././common/inc/nv-time.h:28:
  16176. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  16177. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16178. 52 | #define current get_current()
  16179. | ^~~~~~~~~~~~~
  16180. | |
  16181. | struct task_struct *
  16182. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  16183. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16184. | ^~~~~~~
  16185. In file included from ././common/inc/nv-pgprot.h:30,
  16186. from ././common/inc/nv-linux.h:33:
  16187. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  16188. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16189. | ~~~~~~~~~~~~~~^~~~~
  16190. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16191. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16192. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  16193. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16194. | ~~~~~~~~~~~~~~^~~~~~~~
  16195. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  16196. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16197. | ^~~~~~~~
  16198. | |
  16199. | long unsigned int
  16200. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  16201. 2535 | unsigned int gup_flags, struct page **pages);
  16202. | ~~~~~~~~~~~~~~^~~~~
  16203. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  16204. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16205. | ^~~~~~~~~~~~~~ ~~~~~
  16206. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  16207. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16208. | ^~~~~~~~~~~~~~
  16209. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  16210. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  16211. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  16212. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  16213. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  16214. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  16215. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16216. 8 | #define NULL ((void *)0)
  16217. | ^~~~~~~~~~~
  16218. | |
  16219. | void *
  16220. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  16221. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16222. | ^~~~
  16223. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  16224. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16225. | ~~~~~~~~~~~~~~^~~~~
  16226. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16227. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16228. | ^~
  16229. | |
  16230. | struct mm_struct *
  16231. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  16232. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16233. | ~~~~~~~~~~~~~~^~~~~~~~
  16234. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  16235. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16236. | ^~~~~~~~
  16237. | |
  16238. | long unsigned int
  16239. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  16240. 2535 | unsigned int gup_flags, struct page **pages);
  16241. | ~~~~~~~~~~~~~~^~~~~
  16242. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  16243. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16244. | ^~~~~~~~~~~~~~ ~~~~~
  16245. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  16246. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16247. | ^~~~~~~~~~~~~~
  16248. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  16249. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  16250. 237 | return (unsigned long)(vmf->virtual_address);
  16251. | ^~~~~~~~~~~~~~~
  16252. | real_address
  16253. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  16254. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16255. 246 | down_read(&mm->mmap_sem);
  16256. | ^~~~~~~~
  16257. | mmap_base
  16258. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  16259. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16260. 255 | up_read(&mm->mmap_sem);
  16261. | ^~~~~~~~
  16262. | mmap_base
  16263. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  16264. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16265. 264 | down_write(&mm->mmap_sem);
  16266. | ^~~~~~~~
  16267. | mmap_base
  16268. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  16269. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16270. 273 | up_write(&mm->mmap_sem);
  16271. | ^~~~~~~~
  16272. | mmap_base
  16273. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  16274. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16275. 282 | return rwsem_is_locked(&mm->mmap_sem);
  16276. | ^~~~~~~~
  16277. | mmap_base
  16278. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  16279. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16280. 291 | return &mm->mmap_sem;
  16281. | ^~~~~~~~
  16282. | mmap_base
  16283. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  16284. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  16285. 300 | vma->vm_flags |= flags;
  16286. | ^~
  16287. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  16288. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  16289. 309 | vma->vm_flags &= ~flags;
  16290. | ^~
  16291. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  16292. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  16293. 287 | ktime_get_raw_ts64(&tm);
  16294. | ^~~
  16295. | |
  16296. | struct timespec64 *
  16297. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  16298. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  16299. | ~~~~~~~~~~~~~~~~~~~^~
  16300. CC [M] nvidia-uvm/uvm_gpu_replayable_faults.o
  16301. nvidia-uvm/uvm_linux.h: At top level:
  16302. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16303. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  16304. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16305. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16306. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  16307. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16308. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  16309. 449 | #error "Unknown number of arguments"
  16310. | ^~~~~
  16311. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16312. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  16313. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16314. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16315. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  16316. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16317. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  16318. 485 | #error "Unknown number of arguments"
  16319. | ^~~~~
  16320. In file included from ././common/inc/conftest.h:28,
  16321. from ././common/inc/nv-time.h:27,
  16322. from nvidia-uvm/uvm_linux.h:37,
  16323. from nvidia-uvm/uvm_range_tree.h:27,
  16324. from nvidia-uvm/uvm_range_group.h:28,
  16325. from nvidia-uvm/uvm_range_group.c:24:
  16326. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  16327. 74 | #error dma_buf_export() conftest failed!
  16328. | ^~~~~
  16329. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  16330. 87 | #error wait_on_bit_lock() conftest failed!
  16331. | ^~~~~
  16332. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  16333. 90 | #error radix_tree_replace_slot() conftest failed!
  16334. | ^~~~~
  16335. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  16336. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  16337. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  16338. | ^~~~~~~~~~~~~
  16339. | d_is_dir
  16340. In file included from ././common/inc/conftest.h:28,
  16341. from ././common/inc/nv-time.h:27,
  16342. from ././nvidia-uvm/uvm_linux.h:37,
  16343. from ././common/inc/nv_uvm_interface.h:37,
  16344. from nvidia-uvm/uvm_gpu_replayable_faults.c:25:
  16345. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  16346. 74 | #error dma_buf_export() conftest failed!
  16347. | ^~~~~
  16348. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  16349. 87 | #error wait_on_bit_lock() conftest failed!
  16350. | ^~~~~
  16351. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  16352. 90 | #error radix_tree_replace_slot() conftest failed!
  16353. | ^~~~~
  16354. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  16355. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  16356. 533 | ptr = ioremap_cache_shared(phys, size);
  16357. | ^~~~~~~~~~~~~~~~~~~~
  16358. | ioremap_cache
  16359. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  16360. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  16361. 287 | ktime_get_raw_ts64(&tm);
  16362. | ^~~
  16363. | |
  16364. | struct timespec64 *
  16365. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  16366. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  16367. | ~~~~~~~~~~~~~~~~~~~^~
  16368. nvidia-uvm/uvm_linux.h: At top level:
  16369. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16370. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  16371. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16372. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16373. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  16374. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16375. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  16376. 449 | #error "Unknown number of arguments"
  16377. | ^~~~~
  16378. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16379. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  16380. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16381. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16382. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  16383. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16384. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  16385. 485 | #error "Unknown number of arguments"
  16386. | ^~~~~
  16387. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  16388. 533 | ptr = ioremap_cache_shared(phys, size);
  16389. | ^
  16390. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16391. 556 | NV_MEMDBG_ADD(ptr, size);
  16392. | ^
  16393. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  16394. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  16395. 533 | ptr = ioremap_cache_shared(phys, size);
  16396. | ^~~~~~~~~~~~~~~~~~~~
  16397. | ioremap_cache
  16398. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  16399. 533 | ptr = ioremap_cache_shared(phys, size);
  16400. | ^
  16401. In file included from ././common/inc/nv-procfs.h:26,
  16402. from nvidia-uvm/uvm_procfs.h:30,
  16403. from nvidia-uvm/uvm_gpu.c:31:
  16404. nvidia-uvm/uvm_gpu.c: In function 'init_parent_procfs_files':
  16405. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  16406. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  16407. | ^~~~
  16408. | |
  16409. | const nv_proc_ops_t * {aka const struct file_operations *}
  16410. nvidia-uvm/uvm_gpu.c:756:43: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  16411. 756 | parent_gpu->procfs.fault_stats_file = NV_CREATE_PROC_FILE("fault_stats",
  16412. | ^~~~~~~~~~~~~~~~~~~
  16413. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  16414. from ././common/inc/nv-linux.h:220:
  16415. /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 *'}
  16416. 111 | const struct proc_ops *,
  16417. | ^~~~~~~~~~~~~~~~~~~~~~~
  16418. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  16419. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  16420. | ^~~~
  16421. | |
  16422. | const nv_proc_ops_t * {aka const struct file_operations *}
  16423. nvidia-uvm/uvm_gpu.c:763:47: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  16424. 763 | parent_gpu->procfs.access_counters_file = NV_CREATE_PROC_FILE("access_counters",
  16425. | ^~~~~~~~~~~~~~~~~~~
  16426. /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 *'}
  16427. 111 | const struct proc_ops *,
  16428. | ^~~~~~~~~~~~~~~~~~~~~~~
  16429. cc1: some warnings being treated as errors
  16430. nvidia-uvm/uvm_gpu.c: In function 'init_procfs_files':
  16431. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  16432. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  16433. | ^~~~
  16434. | |
  16435. | const nv_proc_ops_t * {aka const struct file_operations *}
  16436. nvidia-uvm/uvm_gpu.c:834:29: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  16437. 834 | gpu->procfs.info_file = NV_CREATE_PROC_FILE("info", gpu->procfs.dir, gpu_info_entry, gpu);
  16438. | ^~~~~~~~~~~~~~~~~~~
  16439. /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 *'}
  16440. 111 | const struct proc_ops *,
  16441. | ^~~~~~~~~~~~~~~~~~~~~~~
  16442. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16443. 556 | NV_MEMDBG_ADD(ptr, size);
  16444. | ^
  16445. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  16446. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  16447. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  16448. | ^~~~~~~~~~~~~~~~~~~~
  16449. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_space.o] Error 1
  16450. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  16451. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  16452. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  16453. | ^~~~~~~~~~~~~~~~~~~~~~~
  16454. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  16455. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16456. 520 | NV_MEMDBG_ADD(ptr, size);
  16457. | ^
  16458. nvidia-uvm/uvm_gpu_semaphore.c: At top level:
  16459. nvidia-uvm/uvm_gpu_semaphore.c:510:6: warning: no previous prototype for 'tracking_semaphore_uses_mutex' [-Wmissing-prototypes]
  16460. 510 | bool tracking_semaphore_uses_mutex(uvm_gpu_tracking_semaphore_t *tracking_semaphore)
  16461. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16462. CC [M] nvidia-uvm/uvm_gpu_non_replayable_faults.o
  16463. cc1: some warnings being treated as errors
  16464. nvidia-uvm/uvm_gpu.c: At top level:
  16465. nvidia-uvm/uvm_gpu.c:1884:12: warning: no previous prototype for 'uvm_gpu_get_by_parent_and_swizz_id_locked' [-Wmissing-prototypes]
  16466. 1884 | uvm_gpu_t *uvm_gpu_get_by_parent_and_swizz_id_locked(uvm_parent_gpu_t *parent_gpu, NvU32 swizz_id)
  16467. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16468. In file included from ././common/inc/conftest.h:28,
  16469. from ././common/inc/nv-time.h:27,
  16470. from ././nvidia-uvm/uvm_linux.h:37,
  16471. from ././common/inc/nv_uvm_interface.h:37,
  16472. from nvidia-uvm/uvm_gpu_non_replayable_faults.c:23:
  16473. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  16474. 74 | #error dma_buf_export() conftest failed!
  16475. | ^~~~~
  16476. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  16477. 87 | #error wait_on_bit_lock() conftest failed!
  16478. | ^~~~~
  16479. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  16480. 90 | #error radix_tree_replace_slot() conftest failed!
  16481. | ^~~~~
  16482. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_isr.o] Error 1
  16483. nvidia-uvm/uvm_gpu.c: In function 'init_procfs_peer_cap_files':
  16484. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  16485. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  16486. | ^~~~
  16487. | |
  16488. | const nv_proc_ops_t * {aka const struct file_operations *}
  16489. nvidia-uvm/uvm_gpu.c:2228:46: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  16490. 2228 | peer_caps->procfs.peer_file[local_idx] = NV_CREATE_PROC_FILE(gpu_dir_name,
  16491. | ^~~~~~~~~~~~~~~~~~~
  16492. /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 *'}
  16493. 111 | const struct proc_ops *,
  16494. | ^~~~~~~~~~~~~~~~~~~~~~~
  16495. CC [M] nvidia-uvm/uvm_gpu_access_counters.o
  16496. cc1: some warnings being treated as errors
  16497. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  16498. from nvidia-uvm/uvm_gpu.h:37,
  16499. from nvidia-uvm/uvm_rm_mem.c:25:
  16500. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  16501. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  16502. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  16503. | ^~~~~~~~~~~~~~~~~~~~
  16504. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_semaphore.o] Error 1
  16505. CC [M] nvidia-uvm/uvm_perf_events.o
  16506. In file included from ././common/inc/conftest.h:28,
  16507. from ././common/inc/nv-time.h:27,
  16508. from ././nvidia-uvm/uvm_linux.h:37,
  16509. from ././common/inc/nv_uvm_interface.h:37,
  16510. from nvidia-uvm/uvm_gpu_access_counters.c:24:
  16511. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  16512. 74 | #error dma_buf_export() conftest failed!
  16513. | ^~~~~
  16514. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  16515. 87 | #error wait_on_bit_lock() conftest failed!
  16516. | ^~~~~
  16517. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  16518. 90 | #error radix_tree_replace_slot() conftest failed!
  16519. | ^~~~~
  16520. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  16521. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  16522. 533 | ptr = ioremap_cache_shared(phys, size);
  16523. | ^~~~~~~~~~~~~~~~~~~~
  16524. | ioremap_cache
  16525. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  16526. 533 | ptr = ioremap_cache_shared(phys, size);
  16527. | ^
  16528. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16529. 556 | NV_MEMDBG_ADD(ptr, size);
  16530. | ^
  16531. In file included from ././common/inc/conftest.h:28,
  16532. from ././common/inc/nv-time.h:27,
  16533. from nvidia-uvm/uvm_linux.h:37,
  16534. from nvidia-uvm/uvm_test.h:27,
  16535. from nvidia-uvm/uvm_perf_events.c:24:
  16536. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  16537. 74 | #error dma_buf_export() conftest failed!
  16538. | ^~~~~
  16539. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  16540. 87 | #error wait_on_bit_lock() conftest failed!
  16541. | ^~~~~
  16542. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  16543. 90 | #error radix_tree_replace_slot() conftest failed!
  16544. | ^~~~~
  16545. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  16546. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  16547. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  16548. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  16549. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  16550. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  16551. | ^
  16552. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16553. 573 | NV_MEMDBG_ADD(ptr, size);
  16554. | ^
  16555. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  16556. from nvidia-uvm/uvm_mem.h:30:
  16557. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  16558. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  16559. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  16560. | ^~~~~~~~~~~~~~~~~~~~
  16561. ././common/inc/nv-linux.h: In function 'nv_vmap':
  16562. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16563. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  16564. | ^
  16565. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  16566. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  16567. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  16568. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  16569. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  16570. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  16571. | ^
  16572. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16573. 573 | NV_MEMDBG_ADD(ptr, size);
  16574. | ^
  16575. ././common/inc/nv-linux.h: In function 'nv_vmap':
  16576. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16577. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  16578. | ^
  16579. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  16580. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  16581. 736 | return phys_to_dma(dev, pa);
  16582. | ^~~~~~~~~~~
  16583. | nv_phys_to_dma
  16584. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  16585. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  16586. 736 | return phys_to_dma(dev, pa);
  16587. | ^~~~~~~~~~~
  16588. | nv_phys_to_dma
  16589. cc1: some warnings being treated as errors
  16590. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rm_mem.o] Error 1
  16591. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  16592. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  16593. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  16594. | ^~~~~~~~~~~~~
  16595. | d_is_dir
  16596. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  16597. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16598. 502 | NV_MEMDBG_ADD(ptr, size);
  16599. | ^
  16600. CC [M] nvidia-uvm/uvm_perf_module.o
  16601. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  16602. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  16603. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  16604. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  16605. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  16606. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  16607. | ^
  16608. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  16609. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  16610. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  16611. | ^~~~~~~~~~~~~
  16612. | d_is_dir
  16613. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16614. 573 | NV_MEMDBG_ADD(ptr, size);
  16615. | ^
  16616. ././common/inc/nv-linux.h: In function 'nv_vmap':
  16617. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16618. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  16619. | ^
  16620. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  16621. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  16622. 502 | NV_MEMDBG_ADD(ptr, size);
  16623. | ^
  16624. In file included from ././common/inc/conftest.h:28,
  16625. from ././common/inc/nv-time.h:27,
  16626. from nvidia-uvm/uvm_linux.h:37,
  16627. from nvidia-uvm/uvm_perf_events.h:27,
  16628. from nvidia-uvm/uvm_perf_module.c:24:
  16629. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  16630. 74 | #error dma_buf_export() conftest failed!
  16631. | ^~~~~
  16632. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  16633. 87 | #error wait_on_bit_lock() conftest failed!
  16634. | ^~~~~
  16635. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  16636. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  16637. 287 | ktime_get_raw_ts64(&tm);
  16638. | ^~~
  16639. | |
  16640. | struct timespec64 *
  16641. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  16642. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  16643. | ~~~~~~~~~~~~~~~~~~~^~
  16644. nvidia-uvm/uvm_linux.h: At top level:
  16645. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16646. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  16647. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16648. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16649. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  16650. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16651. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  16652. 449 | #error "Unknown number of arguments"
  16653. | ^~~~~
  16654. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16655. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  16656. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16657. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16658. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  16659. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16660. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  16661. 485 | #error "Unknown number of arguments"
  16662. | ^~~~~
  16663. In file included from ././common/inc/nv-linux.h:34,
  16664. from nvidia-uvm/uvm_linux.h:40:
  16665. ././common/inc/nv-mm.h: At top level:
  16666. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  16667. 29 | typedef int vm_fault_t;
  16668. | ^~~~~~~~~~
  16669. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  16670. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  16671. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  16672. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  16673. from ././common/inc/nv-lock.h:35,
  16674. from ././common/inc/nv-linux.h:32:
  16675. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  16676. 1311 | typedef __bitwise unsigned int vm_fault_t;
  16677. | ^~~~~~~~~~
  16678. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  16679. from ././common/inc/nv-time.h:28:
  16680. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  16681. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16682. 52 | #define current get_current()
  16683. | ^~~~~~~~~~~~~
  16684. | |
  16685. | struct task_struct *
  16686. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  16687. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16688. | ^~~~~~~
  16689. In file included from ././common/inc/nv-pgprot.h:30,
  16690. from ././common/inc/nv-linux.h:33:
  16691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  16692. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16693. | ~~~~~~~~~~~~~~^~~~~
  16694. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16695. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16696. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  16697. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16698. | ~~~~~~~~~~~~~~^~~~~~~~
  16699. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  16700. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16701. | ^~~~~~~~
  16702. | |
  16703. | long unsigned int
  16704. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  16705. 2535 | unsigned int gup_flags, struct page **pages);
  16706. | ~~~~~~~~~~~~~~^~~~~
  16707. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  16708. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  16709. 736 | return phys_to_dma(dev, pa);
  16710. | ^~~~~~~~~~~
  16711. | nv_phys_to_dma
  16712. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  16713. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16714. | ^~~~~~~~~~~~~~ ~~~~~
  16715. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  16716. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16717. | ^~~~~~~~~~~~~~
  16718. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  16719. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  16720. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  16721. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  16722. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  16723. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  16724. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  16725. 90 | #error radix_tree_replace_slot() conftest failed!
  16726. | ^~~~~
  16727. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16728. 8 | #define NULL ((void *)0)
  16729. | ^~~~~~~~~~~
  16730. | |
  16731. | void *
  16732. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  16733. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16734. | ^~~~
  16735. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  16736. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16737. | ~~~~~~~~~~~~~~^~~~~
  16738. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16739. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16740. | ^~
  16741. | |
  16742. | struct mm_struct *
  16743. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  16744. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16745. | ~~~~~~~~~~~~~~^~~~~~~~
  16746. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  16747. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16748. | ^~~~~~~~
  16749. | |
  16750. | long unsigned int
  16751. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  16752. 2535 | unsigned int gup_flags, struct page **pages);
  16753. | ~~~~~~~~~~~~~~^~~~~
  16754. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  16755. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16756. | ^~~~~~~~~~~~~~ ~~~~~
  16757. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  16758. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16759. | ^~~~~~~~~~~~~~
  16760. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  16761. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  16762. 237 | return (unsigned long)(vmf->virtual_address);
  16763. | ^~~~~~~~~~~~~~~
  16764. | real_address
  16765. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  16766. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16767. 246 | down_read(&mm->mmap_sem);
  16768. | ^~~~~~~~
  16769. | mmap_base
  16770. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  16771. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16772. 255 | up_read(&mm->mmap_sem);
  16773. | ^~~~~~~~
  16774. | mmap_base
  16775. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  16776. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16777. 264 | down_write(&mm->mmap_sem);
  16778. | ^~~~~~~~
  16779. | mmap_base
  16780. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  16781. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16782. 273 | up_write(&mm->mmap_sem);
  16783. | ^~~~~~~~
  16784. | mmap_base
  16785. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  16786. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16787. 282 | return rwsem_is_locked(&mm->mmap_sem);
  16788. | ^~~~~~~~
  16789. | mmap_base
  16790. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  16791. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16792. 291 | return &mm->mmap_sem;
  16793. | ^~~~~~~~
  16794. | mmap_base
  16795. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  16796. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  16797. 300 | vma->vm_flags |= flags;
  16798. | ^~
  16799. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  16800. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  16801. 309 | vma->vm_flags &= ~flags;
  16802. | ^~
  16803. cc1: some warnings being treated as errors
  16804. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  16805. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  16806. 287 | ktime_get_raw_ts64(&tm);
  16807. | ^~~
  16808. | |
  16809. | struct timespec64 *
  16810. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  16811. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  16812. | ~~~~~~~~~~~~~~~~~~~^~
  16813. nvidia-uvm/uvm_linux.h: At top level:
  16814. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16815. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  16816. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16817. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16818. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  16819. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16820. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  16821. 449 | #error "Unknown number of arguments"
  16822. | ^~~~~
  16823. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16824. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  16825. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16826. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  16827. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  16828. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16829. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  16830. 485 | #error "Unknown number of arguments"
  16831. | ^~~~~
  16832. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu.o] Error 1
  16833. In file included from ././common/inc/nv-procfs.h:26,
  16834. from nvidia-uvm/uvm_procfs.h:30,
  16835. from nvidia-uvm/uvm_channel.c:30:
  16836. nvidia-uvm/uvm_channel.c: In function 'manager_create_procfs':
  16837. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  16838. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  16839. | ^~~~
  16840. | |
  16841. | const nv_proc_ops_t * {aka const struct file_operations *}
  16842. nvidia-uvm/uvm_channel.c:3575:38: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  16843. 3575 | manager->procfs.pending_pushes = NV_CREATE_PROC_FILE("pending_pushes",
  16844. | ^~~~~~~~~~~~~~~~~~~
  16845. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  16846. from ././common/inc/nv-linux.h:220:
  16847. /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 *'}
  16848. 111 | const struct proc_ops *,
  16849. | ^~~~~~~~~~~~~~~~~~~~~~~
  16850. nvidia-uvm/uvm_channel.c: In function 'channel_create_procfs':
  16851. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  16852. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  16853. | ^~~~
  16854. | |
  16855. | const nv_proc_ops_t * {aka const struct file_operations *}
  16856. nvidia-uvm/uvm_channel.c:3648:28: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  16857. 3648 | channel->procfs.info = NV_CREATE_PROC_FILE("info", channel->procfs.dir, channel_info_entry, channel);
  16858. | ^~~~~~~~~~~~~~~~~~~
  16859. /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 *'}
  16860. 111 | const struct proc_ops *,
  16861. | ^~~~~~~~~~~~~~~~~~~~~~~
  16862. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  16863. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  16864. | ^~~~
  16865. | |
  16866. | const nv_proc_ops_t * {aka const struct file_operations *}
  16867. nvidia-uvm/uvm_channel.c:3652:30: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  16868. 3652 | channel->procfs.pushes = NV_CREATE_PROC_FILE("pushes", channel->procfs.dir, channel_pushes_entry, channel);
  16869. | ^~~~~~~~~~~~~~~~~~~
  16870. /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 *'}
  16871. 111 | const struct proc_ops *,
  16872. | ^~~~~~~~~~~~~~~~~~~~~~~
  16873. CC [M] nvidia-uvm/uvm_mmu.o
  16874. In file included from ././common/inc/nv-linux.h:34,
  16875. from nvidia-uvm/uvm_linux.h:40:
  16876. ././common/inc/nv-mm.h: At top level:
  16877. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  16878. 29 | typedef int vm_fault_t;
  16879. | ^~~~~~~~~~
  16880. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  16881. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  16882. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  16883. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  16884. from ././common/inc/nv-lock.h:35,
  16885. from ././common/inc/nv-linux.h:32:
  16886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  16887. 1311 | typedef __bitwise unsigned int vm_fault_t;
  16888. | ^~~~~~~~~~
  16889. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  16890. from ././common/inc/nv-time.h:28:
  16891. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  16892. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16893. 52 | #define current get_current()
  16894. | ^~~~~~~~~~~~~
  16895. | |
  16896. | struct task_struct *
  16897. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  16898. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16899. | ^~~~~~~
  16900. In file included from ././common/inc/nv-pgprot.h:30,
  16901. from ././common/inc/nv-linux.h:33:
  16902. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  16903. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16904. | ~~~~~~~~~~~~~~^~~~~
  16905. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16906. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16907. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  16908. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16909. | ~~~~~~~~~~~~~~^~~~~~~~
  16910. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  16911. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16912. | ^~~~~~~~
  16913. | |
  16914. | long unsigned int
  16915. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  16916. 2535 | unsigned int gup_flags, struct page **pages);
  16917. | ~~~~~~~~~~~~~~^~~~~
  16918. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  16919. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  16920. | ^~~~~~~~~~~~~~ ~~~~~
  16921. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  16922. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16923. | ^~~~~~~~~~~~~~
  16924. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  16925. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  16926. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  16927. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  16928. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  16929. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  16930. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16931. 8 | #define NULL ((void *)0)
  16932. | ^~~~~~~~~~~
  16933. | |
  16934. | void *
  16935. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  16936. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16937. | ^~~~
  16938. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  16939. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16940. | ~~~~~~~~~~~~~~^~~~~
  16941. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  16942. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16943. | ^~
  16944. | |
  16945. | struct mm_struct *
  16946. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  16947. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16948. | ~~~~~~~~~~~~~~^~~~~~~~
  16949. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  16950. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16951. | ^~~~~~~~
  16952. | |
  16953. | long unsigned int
  16954. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  16955. 2535 | unsigned int gup_flags, struct page **pages);
  16956. | ~~~~~~~~~~~~~~^~~~~
  16957. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  16958. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  16959. | ^~~~~~~~~~~~~~ ~~~~~
  16960. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  16961. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  16962. | ^~~~~~~~~~~~~~
  16963. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  16964. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  16965. 237 | return (unsigned long)(vmf->virtual_address);
  16966. | ^~~~~~~~~~~~~~~
  16967. | real_address
  16968. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  16969. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16970. 246 | down_read(&mm->mmap_sem);
  16971. | ^~~~~~~~
  16972. | mmap_base
  16973. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  16974. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16975. 255 | up_read(&mm->mmap_sem);
  16976. | ^~~~~~~~
  16977. | mmap_base
  16978. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  16979. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16980. 264 | down_write(&mm->mmap_sem);
  16981. | ^~~~~~~~
  16982. | mmap_base
  16983. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  16984. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16985. 273 | up_write(&mm->mmap_sem);
  16986. | ^~~~~~~~
  16987. | mmap_base
  16988. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  16989. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16990. 282 | return rwsem_is_locked(&mm->mmap_sem);
  16991. | ^~~~~~~~
  16992. | mmap_base
  16993. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  16994. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  16995. 291 | return &mm->mmap_sem;
  16996. | ^~~~~~~~
  16997. | mmap_base
  16998. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  16999. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  17000. 300 | vma->vm_flags |= flags;
  17001. | ^~
  17002. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  17003. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  17004. 309 | vma->vm_flags &= ~flags;
  17005. | ^~
  17006. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  17007. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  17008. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  17009. | ^~~~~~~~~~~~~
  17010. | d_is_dir
  17011. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  17012. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  17013. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  17014. | ^~~~~~~~~~~~~~~~~~~~~~~
  17015. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  17016. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17017. 520 | NV_MEMDBG_ADD(ptr, size);
  17018. | ^
  17019. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  17020. 40 | struct timespec64 {
  17021. | ^~~~~~~~~~
  17022. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  17023. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  17024. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  17025. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  17026. from ././common/inc/nv-time.h:29:
  17027. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  17028. 13 | struct timespec64 {
  17029. | ^~~~~~~~~~
  17030. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17031. 77 | static inline struct timespec64 timespec64_add
  17032. | ^~~~~~~~~~~~~~
  17033. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17034. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  17035. | ^~~~~~~~~~~~~~
  17036. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17037. 95 | static inline struct timespec64 timespec64_sub
  17038. | ^~~~~~~~~~~~~~
  17039. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17040. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  17041. | ^~~~~~~~~~~~~~
  17042. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  17043. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  17044. | ^~~~~~~~~~~~~~~~
  17045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  17046. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  17047. | ^~~~~~~~~~~~~~~~
  17048. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  17049. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17050. 122 | ktime_get_raw_ts64(&ts);
  17051. | ^~~
  17052. | |
  17053. | struct timespec64 *
  17054. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  17055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  17056. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  17057. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  17058. from ././common/inc/nv-time.h:30:
  17059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17060. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17061. | ~~~~~~~~~~~~~~~~~~~^~
  17062. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  17063. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17064. 185 | ktime_get_raw_ts64(&tm_aux);
  17065. | ^~~~~~~
  17066. | |
  17067. | struct timespec64 *
  17068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17069. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17070. | ~~~~~~~~~~~~~~~~~~~^~
  17071. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17072. 221 | ktime_get_raw_ts64(&tm_aux);
  17073. | ^~~~~~~
  17074. | |
  17075. | struct timespec64 *
  17076. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17077. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17078. | ~~~~~~~~~~~~~~~~~~~^~
  17079. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17080. 287 | ktime_get_raw_ts64(&tm);
  17081. | ^~~
  17082. | |
  17083. | struct timespec64 *
  17084. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17085. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17086. | ~~~~~~~~~~~~~~~~~~~^~
  17087. nvidia-uvm/uvm_linux.h: At top level:
  17088. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17089. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  17090. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17091. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17092. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  17093. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17094. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  17095. 449 | #error "Unknown number of arguments"
  17096. | ^~~~~
  17097. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17098. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  17099. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17100. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17101. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  17102. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17103. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  17104. 485 | #error "Unknown number of arguments"
  17105. | ^~~~~
  17106. In file included from ././common/inc/conftest.h:28,
  17107. from ././common/inc/nv-time.h:27,
  17108. from nvidia-uvm/uvm_linux.h:37,
  17109. from nvidia-uvm/uvm_common.h:43,
  17110. from nvidia-uvm/uvm_mmu.c:24:
  17111. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  17112. 74 | #error dma_buf_export() conftest failed!
  17113. | ^~~~~
  17114. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  17115. 87 | #error wait_on_bit_lock() conftest failed!
  17116. | ^~~~~
  17117. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  17118. 90 | #error radix_tree_replace_slot() conftest failed!
  17119. | ^~~~~
  17120. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  17121. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  17122. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  17123. | ^~~~~~~~~~~~~~~~~~~~~~~
  17124. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  17125. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17126. 520 | NV_MEMDBG_ADD(ptr, size);
  17127. | ^
  17128. cc1: some warnings being treated as errors
  17129. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mem.o] Error 1
  17130. CC [M] nvidia-uvm/uvm_pte_batch.o
  17131. cc1: some warnings being treated as errors
  17132. cc1: some warnings being treated as errors
  17133. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_tree.o] Error 1
  17134. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  17135. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  17136. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  17137. | ^~~~~~~~~~~~~~~~~~~~
  17138. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_channel.o] Error 1
  17139. CC [M] nvidia-uvm/uvm_tlb_batch.o
  17140. CC [M] nvidia-uvm/uvm_push.o
  17141. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  17142. 40 | struct timespec64 {
  17143. | ^~~~~~~~~~
  17144. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  17145. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  17146. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  17147. from ././common/inc/nv-time.h:29:
  17148. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  17149. 13 | struct timespec64 {
  17150. | ^~~~~~~~~~
  17151. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17152. 77 | static inline struct timespec64 timespec64_add
  17153. | ^~~~~~~~~~~~~~
  17154. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17155. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  17156. | ^~~~~~~~~~~~~~
  17157. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17158. 95 | static inline struct timespec64 timespec64_sub
  17159. | ^~~~~~~~~~~~~~
  17160. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17161. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  17162. | ^~~~~~~~~~~~~~
  17163. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  17164. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  17165. | ^~~~~~~~~~~~~~~~
  17166. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  17167. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  17168. | ^~~~~~~~~~~~~~~~
  17169. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  17170. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17171. 122 | ktime_get_raw_ts64(&ts);
  17172. | ^~~
  17173. | |
  17174. | struct timespec64 *
  17175. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  17176. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  17177. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  17178. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  17179. from ././common/inc/nv-time.h:30:
  17180. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17181. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17182. | ~~~~~~~~~~~~~~~~~~~^~
  17183. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  17184. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  17185. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17186. 185 | ktime_get_raw_ts64(&tm_aux);
  17187. | ^~~~~~~
  17188. | |
  17189. | struct timespec64 *
  17190. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  17191. 533 | ptr = ioremap_cache_shared(phys, size);
  17192. | ^~~~~~~~~~~~~~~~~~~~
  17193. | ioremap_cache
  17194. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17195. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17196. | ~~~~~~~~~~~~~~~~~~~^~
  17197. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  17198. 533 | ptr = ioremap_cache_shared(phys, size);
  17199. | ^
  17200. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17201. 556 | NV_MEMDBG_ADD(ptr, size);
  17202. | ^
  17203. In file included from ././common/inc/conftest.h:28,
  17204. from ././common/inc/nv-time.h:27,
  17205. from nvidia-uvm/uvm_linux.h:37,
  17206. from nvidia-uvm/uvm_common.h:43,
  17207. from nvidia-uvm/uvm_hal_types.h:27,
  17208. from nvidia-uvm/uvm_pte_batch.h:28,
  17209. from nvidia-uvm/uvm_pte_batch.c:24:
  17210. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  17211. 74 | #error dma_buf_export() conftest failed!
  17212. | ^~~~~
  17213. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  17214. 87 | #error wait_on_bit_lock() conftest failed!
  17215. | ^~~~~
  17216. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  17217. 90 | #error radix_tree_replace_slot() conftest failed!
  17218. | ^~~~~
  17219. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17220. 221 | ktime_get_raw_ts64(&tm_aux);
  17221. | ^~~~~~~
  17222. | |
  17223. | struct timespec64 *
  17224. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17225. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17226. | ~~~~~~~~~~~~~~~~~~~^~
  17227. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  17228. from nvidia-uvm/uvm_channel.h:29,
  17229. from nvidia-uvm/uvm_push.h:29,
  17230. from nvidia-uvm/uvm_hal.h:31:
  17231. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  17232. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  17233. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  17234. | ^~~~~~~~~~~~~~~~~~~~
  17235. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  17236. 40 | struct timespec64 {
  17237. | ^~~~~~~~~~
  17238. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  17239. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  17240. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  17241. from ././common/inc/nv-time.h:29:
  17242. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  17243. 13 | struct timespec64 {
  17244. | ^~~~~~~~~~
  17245. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17246. 77 | static inline struct timespec64 timespec64_add
  17247. | ^~~~~~~~~~~~~~
  17248. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17249. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  17250. | ^~~~~~~~~~~~~~
  17251. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17252. 95 | static inline struct timespec64 timespec64_sub
  17253. | ^~~~~~~~~~~~~~
  17254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17255. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  17256. | ^~~~~~~~~~~~~~
  17257. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  17258. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  17259. | ^~~~~~~~~~~~~~~~
  17260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  17261. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  17262. | ^~~~~~~~~~~~~~~~
  17263. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  17264. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17265. 122 | ktime_get_raw_ts64(&ts);
  17266. | ^~~
  17267. | |
  17268. | struct timespec64 *
  17269. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  17270. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  17271. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  17272. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  17273. from ././common/inc/nv-time.h:30:
  17274. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17275. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17276. | ~~~~~~~~~~~~~~~~~~~^~
  17277. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  17278. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17279. 185 | ktime_get_raw_ts64(&tm_aux);
  17280. | ^~~~~~~
  17281. | |
  17282. | struct timespec64 *
  17283. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17284. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17285. | ~~~~~~~~~~~~~~~~~~~^~
  17286. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17287. 221 | ktime_get_raw_ts64(&tm_aux);
  17288. | ^~~~~~~
  17289. | |
  17290. | struct timespec64 *
  17291. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17292. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17293. | ~~~~~~~~~~~~~~~~~~~^~
  17294. In file included from ././common/inc/conftest.h:28,
  17295. from ././common/inc/nv-time.h:27,
  17296. from nvidia-uvm/uvm_linux.h:37,
  17297. from nvidia-uvm/uvm_common.h:43,
  17298. from nvidia-uvm/uvm_hal_types.h:27,
  17299. from nvidia-uvm/uvm_tlb_batch.h:28,
  17300. from nvidia-uvm/uvm_tlb_batch.c:24:
  17301. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  17302. 74 | #error dma_buf_export() conftest failed!
  17303. | ^~~~~
  17304. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  17305. 87 | #error wait_on_bit_lock() conftest failed!
  17306. | ^~~~~
  17307. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  17308. 90 | #error radix_tree_replace_slot() conftest failed!
  17309. | ^~~~~
  17310. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  17311. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  17312. 533 | ptr = ioremap_cache_shared(phys, size);
  17313. | ^~~~~~~~~~~~~~~~~~~~
  17314. | ioremap_cache
  17315. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  17316. 533 | ptr = ioremap_cache_shared(phys, size);
  17317. | ^
  17318. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17319. 556 | NV_MEMDBG_ADD(ptr, size);
  17320. | ^
  17321. In file included from ././common/inc/conftest.h:28,
  17322. from ././common/inc/nv-time.h:27,
  17323. from nvidia-uvm/uvm_linux.h:37,
  17324. from nvidia-uvm/uvm_extern_decl.h:27,
  17325. from nvidia-uvm/uvm_push.c:24:
  17326. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  17327. 74 | #error dma_buf_export() conftest failed!
  17328. | ^~~~~
  17329. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  17330. 87 | #error wait_on_bit_lock() conftest failed!
  17331. | ^~~~~
  17332. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  17333. 90 | #error radix_tree_replace_slot() conftest failed!
  17334. | ^~~~~
  17335. cc1: some warnings being treated as errors
  17336. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  17337. 40 | struct timespec64 {
  17338. | ^~~~~~~~~~
  17339. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  17340. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  17341. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  17342. from ././common/inc/nv-time.h:29:
  17343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  17344. 13 | struct timespec64 {
  17345. | ^~~~~~~~~~
  17346. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17347. 77 | static inline struct timespec64 timespec64_add
  17348. | ^~~~~~~~~~~~~~
  17349. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17350. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  17351. | ^~~~~~~~~~~~~~
  17352. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17353. 95 | static inline struct timespec64 timespec64_sub
  17354. | ^~~~~~~~~~~~~~
  17355. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17356. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  17357. | ^~~~~~~~~~~~~~
  17358. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  17359. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  17360. | ^~~~~~~~~~~~~~~~
  17361. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  17362. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  17363. | ^~~~~~~~~~~~~~~~
  17364. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  17365. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17366. 122 | ktime_get_raw_ts64(&ts);
  17367. | ^~~
  17368. | |
  17369. | struct timespec64 *
  17370. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  17371. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  17372. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  17373. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  17374. from ././common/inc/nv-time.h:30:
  17375. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17376. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17377. | ~~~~~~~~~~~~~~~~~~~^~
  17378. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_lock.o] Error 1
  17379. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  17380. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17381. 185 | ktime_get_raw_ts64(&tm_aux);
  17382. | ^~~~~~~
  17383. | |
  17384. | struct timespec64 *
  17385. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17386. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17387. | ~~~~~~~~~~~~~~~~~~~^~
  17388. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17389. 221 | ktime_get_raw_ts64(&tm_aux);
  17390. | ^~~~~~~
  17391. | |
  17392. | struct timespec64 *
  17393. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17394. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17395. | ~~~~~~~~~~~~~~~~~~~^~
  17396. CC [M] nvidia-uvm/uvm_pushbuffer.o
  17397. In file included from ././common/inc/conftest.h:28,
  17398. from ././common/inc/nv-time.h:27,
  17399. from nvidia-uvm/uvm_linux.h:37,
  17400. from nvidia-uvm/uvm_common.h:43,
  17401. from nvidia-uvm/uvm_api.h:28,
  17402. from nvidia-uvm/uvm_pushbuffer.c:24:
  17403. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  17404. 74 | #error dma_buf_export() conftest failed!
  17405. | ^~~~~
  17406. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  17407. 87 | #error wait_on_bit_lock() conftest failed!
  17408. | ^~~~~
  17409. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  17410. 90 | #error radix_tree_replace_slot() conftest failed!
  17411. | ^~~~~
  17412. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  17413. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  17414. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  17415. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  17416. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  17417. 40 | struct timespec64 {
  17418. | ^~~~~~~~~~
  17419. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  17420. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  17421. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  17422. from ././common/inc/nv-time.h:29:
  17423. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  17424. 13 | struct timespec64 {
  17425. | ^~~~~~~~~~
  17426. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17427. 77 | static inline struct timespec64 timespec64_add
  17428. | ^~~~~~~~~~~~~~
  17429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17430. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  17431. | ^~~~~~~~~~~~~~
  17432. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17433. 95 | static inline struct timespec64 timespec64_sub
  17434. | ^~~~~~~~~~~~~~
  17435. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17436. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  17437. | ^~~~~~~~~~~~~~
  17438. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  17439. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  17440. | ^~~~~~~~~~~~~~~~
  17441. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  17442. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  17443. | ^~~~~~~~~~~~~~~~
  17444. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  17445. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17446. 122 | ktime_get_raw_ts64(&ts);
  17447. | ^~~
  17448. | |
  17449. | struct timespec64 *
  17450. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  17451. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  17452. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  17453. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  17454. from ././common/inc/nv-time.h:30:
  17455. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17456. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17457. | ~~~~~~~~~~~~~~~~~~~^~
  17458. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  17459. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17460. 185 | ktime_get_raw_ts64(&tm_aux);
  17461. | ^~~~~~~
  17462. | |
  17463. | struct timespec64 *
  17464. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17465. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17466. | ~~~~~~~~~~~~~~~~~~~^~
  17467. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17468. 221 | ktime_get_raw_ts64(&tm_aux);
  17469. | ^~~~~~~
  17470. | |
  17471. | struct timespec64 *
  17472. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17473. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17474. | ~~~~~~~~~~~~~~~~~~~^~
  17475. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  17476. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  17477. | ^
  17478. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17479. 573 | NV_MEMDBG_ADD(ptr, size);
  17480. | ^
  17481. ././common/inc/nv-linux.h: In function 'nv_vmap':
  17482. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17483. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  17484. | ^
  17485. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  17486. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  17487. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  17488. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  17489. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  17490. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  17491. | ^
  17492. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17493. 573 | NV_MEMDBG_ADD(ptr, size);
  17494. | ^
  17495. ././common/inc/nv-linux.h: In function 'nv_vmap':
  17496. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17497. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  17498. | ^
  17499. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  17500. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  17501. 736 | return phys_to_dma(dev, pa);
  17502. | ^~~~~~~~~~~
  17503. | nv_phys_to_dma
  17504. cc1: some warnings being treated as errors
  17505. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  17506. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hal.o] Error 1
  17507. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  17508. 736 | return phys_to_dma(dev, pa);
  17509. | ^~~~~~~~~~~
  17510. | nv_phys_to_dma
  17511. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  17512. 40 | struct timespec64 {
  17513. | ^~~~~~~~~~
  17514. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  17515. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  17516. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  17517. from ././common/inc/nv-time.h:29:
  17518. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  17519. 13 | struct timespec64 {
  17520. | ^~~~~~~~~~
  17521. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17522. 77 | static inline struct timespec64 timespec64_add
  17523. | ^~~~~~~~~~~~~~
  17524. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17525. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  17526. | ^~~~~~~~~~~~~~
  17527. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17528. 95 | static inline struct timespec64 timespec64_sub
  17529. | ^~~~~~~~~~~~~~
  17530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17531. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  17532. | ^~~~~~~~~~~~~~
  17533. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  17534. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  17535. | ^~~~~~~~~~~~~~~~
  17536. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  17537. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  17538. | ^~~~~~~~~~~~~~~~
  17539. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  17540. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17541. 122 | ktime_get_raw_ts64(&ts);
  17542. | ^~~
  17543. | |
  17544. | struct timespec64 *
  17545. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  17546. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  17547. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  17548. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  17549. from ././common/inc/nv-time.h:30:
  17550. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17551. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17552. | ~~~~~~~~~~~~~~~~~~~^~
  17553. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  17554. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17555. 185 | ktime_get_raw_ts64(&tm_aux);
  17556. | ^~~~~~~
  17557. | |
  17558. | struct timespec64 *
  17559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17560. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17561. | ~~~~~~~~~~~~~~~~~~~^~
  17562. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17563. 221 | ktime_get_raw_ts64(&tm_aux);
  17564. | ^~~~~~~
  17565. | |
  17566. | struct timespec64 *
  17567. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17568. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17569. | ~~~~~~~~~~~~~~~~~~~^~
  17570. CC [M] nvidia-uvm/uvm_thread_context.o
  17571. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  17572. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  17573. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  17574. | ^~~~~~~~~~~~~
  17575. | d_is_dir
  17576. In file included from ././common/inc/conftest.h:28,
  17577. from ././common/inc/nv-time.h:27,
  17578. from nvidia-uvm/uvm_linux.h:37,
  17579. from nvidia-uvm/uvm_lock.h:28,
  17580. from nvidia-uvm/uvm_thread_context.h:28,
  17581. from nvidia-uvm/uvm_thread_context.c:25:
  17582. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  17583. 74 | #error dma_buf_export() conftest failed!
  17584. | ^~~~~
  17585. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  17586. 87 | #error wait_on_bit_lock() conftest failed!
  17587. | ^~~~~
  17588. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  17589. 90 | #error radix_tree_replace_slot() conftest failed!
  17590. | ^~~~~
  17591. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  17592. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17593. 502 | NV_MEMDBG_ADD(ptr, size);
  17594. | ^
  17595. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  17596. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  17597. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  17598. | ^~~~~~~~~~~~~
  17599. | d_is_dir
  17600. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  17601. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17602. 287 | ktime_get_raw_ts64(&tm);
  17603. | ^~~
  17604. | |
  17605. | struct timespec64 *
  17606. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17607. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17608. | ~~~~~~~~~~~~~~~~~~~^~
  17609. nvidia-uvm/uvm_linux.h: At top level:
  17610. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17611. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  17612. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17613. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17614. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  17615. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17616. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  17617. 449 | #error "Unknown number of arguments"
  17618. | ^~~~~
  17619. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17620. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  17621. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17622. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17623. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  17624. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17625. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  17626. 485 | #error "Unknown number of arguments"
  17627. | ^~~~~
  17628. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  17629. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17630. 502 | NV_MEMDBG_ADD(ptr, size);
  17631. | ^
  17632. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  17633. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17634. 287 | ktime_get_raw_ts64(&tm);
  17635. | ^~~
  17636. | |
  17637. | struct timespec64 *
  17638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17639. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17640. | ~~~~~~~~~~~~~~~~~~~^~
  17641. nvidia-uvm/uvm_linux.h: At top level:
  17642. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17643. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  17644. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17645. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17646. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  17647. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17648. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  17649. 449 | #error "Unknown number of arguments"
  17650. | ^~~~~
  17651. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17652. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  17653. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17654. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  17655. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  17656. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  17657. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  17658. 485 | #error "Unknown number of arguments"
  17659. | ^~~~~
  17660. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  17661. 40 | struct timespec64 {
  17662. | ^~~~~~~~~~
  17663. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  17664. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  17665. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  17666. from ././common/inc/nv-time.h:29:
  17667. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  17668. 13 | struct timespec64 {
  17669. | ^~~~~~~~~~
  17670. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17671. 77 | static inline struct timespec64 timespec64_add
  17672. | ^~~~~~~~~~~~~~
  17673. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17674. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  17675. | ^~~~~~~~~~~~~~
  17676. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17677. 95 | static inline struct timespec64 timespec64_sub
  17678. | ^~~~~~~~~~~~~~
  17679. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17680. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  17681. | ^~~~~~~~~~~~~~
  17682. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  17683. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  17684. | ^~~~~~~~~~~~~~~~
  17685. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  17686. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  17687. | ^~~~~~~~~~~~~~~~
  17688. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  17689. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17690. 122 | ktime_get_raw_ts64(&ts);
  17691. | ^~~
  17692. | |
  17693. | struct timespec64 *
  17694. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  17695. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  17696. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  17697. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  17698. from ././common/inc/nv-time.h:30:
  17699. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17700. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17701. | ~~~~~~~~~~~~~~~~~~~^~
  17702. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  17703. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17704. 185 | ktime_get_raw_ts64(&tm_aux);
  17705. | ^~~~~~~
  17706. | |
  17707. | struct timespec64 *
  17708. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17709. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17710. | ~~~~~~~~~~~~~~~~~~~^~
  17711. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17712. 221 | ktime_get_raw_ts64(&tm_aux);
  17713. | ^~~~~~~
  17714. | |
  17715. | struct timespec64 *
  17716. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17717. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17718. | ~~~~~~~~~~~~~~~~~~~^~
  17719. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  17720. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  17721. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  17722. | ^~~~~~~~~~~~~~~~~~~~~~~
  17723. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  17724. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17725. 520 | NV_MEMDBG_ADD(ptr, size);
  17726. | ^
  17727. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  17728. 40 | struct timespec64 {
  17729. | ^~~~~~~~~~
  17730. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  17731. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  17732. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  17733. from ././common/inc/nv-time.h:29:
  17734. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  17735. 13 | struct timespec64 {
  17736. | ^~~~~~~~~~
  17737. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17738. 77 | static inline struct timespec64 timespec64_add
  17739. | ^~~~~~~~~~~~~~
  17740. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17741. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  17742. | ^~~~~~~~~~~~~~
  17743. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17744. 95 | static inline struct timespec64 timespec64_sub
  17745. | ^~~~~~~~~~~~~~
  17746. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17747. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  17748. | ^~~~~~~~~~~~~~
  17749. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  17750. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  17751. | ^~~~~~~~~~~~~~~~
  17752. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  17753. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  17754. | ^~~~~~~~~~~~~~~~
  17755. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  17756. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17757. 122 | ktime_get_raw_ts64(&ts);
  17758. | ^~~
  17759. | |
  17760. | struct timespec64 *
  17761. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  17762. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  17763. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  17764. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  17765. from ././common/inc/nv-time.h:30:
  17766. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17767. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17768. | ~~~~~~~~~~~~~~~~~~~^~
  17769. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  17770. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17771. 185 | ktime_get_raw_ts64(&tm_aux);
  17772. | ^~~~~~~
  17773. | |
  17774. | struct timespec64 *
  17775. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17776. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17777. | ~~~~~~~~~~~~~~~~~~~^~
  17778. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17779. 221 | ktime_get_raw_ts64(&tm_aux);
  17780. | ^~~~~~~
  17781. | |
  17782. | struct timespec64 *
  17783. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17784. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17785. | ~~~~~~~~~~~~~~~~~~~^~
  17786. In file included from nvidia-uvm/uvm_range_allocator.h:28:
  17787. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  17788. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  17789. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  17790. | ^~~~~~~~~~~~~~~~~~~~
  17791. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  17792. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  17793. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  17794. | ^~~~~~~~~~~~~~~~~~~~~~~
  17795. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  17796. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  17797. 520 | NV_MEMDBG_ADD(ptr, size);
  17798. | ^
  17799. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  17800. 40 | struct timespec64 {
  17801. | ^~~~~~~~~~
  17802. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  17803. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  17804. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  17805. from ././common/inc/nv-time.h:29:
  17806. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  17807. 13 | struct timespec64 {
  17808. | ^~~~~~~~~~
  17809. In file included from nvidia-uvm/uvm_api.h:31,
  17810. from nvidia-uvm/uvm_va_range.c:27:
  17811. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  17812. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  17813. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  17814. | ^~~~~~~~~~~~~~~~~~~~
  17815. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17816. 77 | static inline struct timespec64 timespec64_add
  17817. | ^~~~~~~~~~~~~~
  17818. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17819. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  17820. | ^~~~~~~~~~~~~~
  17821. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  17822. 95 | static inline struct timespec64 timespec64_sub
  17823. | ^~~~~~~~~~~~~~
  17824. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  17825. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  17826. | ^~~~~~~~~~~~~~
  17827. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  17828. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  17829. | ^~~~~~~~~~~~~~~~
  17830. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  17831. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  17832. | ^~~~~~~~~~~~~~~~
  17833. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  17834. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17835. 122 | ktime_get_raw_ts64(&ts);
  17836. | ^~~
  17837. | |
  17838. | struct timespec64 *
  17839. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  17840. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  17841. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  17842. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  17843. from ././common/inc/nv-time.h:30:
  17844. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17845. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17846. | ~~~~~~~~~~~~~~~~~~~^~
  17847. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  17848. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17849. 185 | ktime_get_raw_ts64(&tm_aux);
  17850. | ^~~~~~~
  17851. | |
  17852. | struct timespec64 *
  17853. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17854. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17855. | ~~~~~~~~~~~~~~~~~~~^~
  17856. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  17857. 221 | ktime_get_raw_ts64(&tm_aux);
  17858. | ^~~~~~~
  17859. | |
  17860. | struct timespec64 *
  17861. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  17862. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  17863. | ~~~~~~~~~~~~~~~~~~~^~
  17864. In file included from ././common/inc/nv-linux.h:34,
  17865. from nvidia-uvm/uvm_linux.h:40:
  17866. ././common/inc/nv-mm.h: At top level:
  17867. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  17868. 29 | typedef int vm_fault_t;
  17869. | ^~~~~~~~~~
  17870. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  17871. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  17872. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  17873. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  17874. from ././common/inc/nv-lock.h:35,
  17875. from ././common/inc/nv-linux.h:32:
  17876. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  17877. 1311 | typedef __bitwise unsigned int vm_fault_t;
  17878. | ^~~~~~~~~~
  17879. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  17880. from ././common/inc/nv-time.h:28:
  17881. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  17882. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  17883. 52 | #define current get_current()
  17884. | ^~~~~~~~~~~~~
  17885. | |
  17886. | struct task_struct *
  17887. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  17888. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  17889. | ^~~~~~~
  17890. In file included from ././common/inc/nv-pgprot.h:30,
  17891. from ././common/inc/nv-linux.h:33:
  17892. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  17893. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  17894. | ~~~~~~~~~~~~~~^~~~~
  17895. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  17896. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  17897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  17898. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  17899. | ~~~~~~~~~~~~~~^~~~~~~~
  17900. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  17901. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  17902. | ^~~~~~~~
  17903. | |
  17904. | long unsigned int
  17905. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  17906. 2535 | unsigned int gup_flags, struct page **pages);
  17907. | ~~~~~~~~~~~~~~^~~~~
  17908. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  17909. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  17910. | ^~~~~~~~~~~~~~ ~~~~~
  17911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  17912. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  17913. | ^~~~~~~~~~~~~~
  17914. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  17915. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  17916. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  17917. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  17918. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  17919. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  17920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  17921. 8 | #define NULL ((void *)0)
  17922. | ^~~~~~~~~~~
  17923. | |
  17924. | void *
  17925. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  17926. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  17927. | ^~~~
  17928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  17929. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  17930. | ~~~~~~~~~~~~~~^~~~~
  17931. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  17932. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  17933. | ^~
  17934. | |
  17935. | struct mm_struct *
  17936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  17937. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  17938. | ~~~~~~~~~~~~~~^~~~~~~~
  17939. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  17940. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  17941. | ^~~~~~~~
  17942. | |
  17943. | long unsigned int
  17944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  17945. 2535 | unsigned int gup_flags, struct page **pages);
  17946. | ~~~~~~~~~~~~~~^~~~~
  17947. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  17948. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  17949. | ^~~~~~~~~~~~~~ ~~~~~
  17950. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  17951. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  17952. | ^~~~~~~~~~~~~~
  17953. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  17954. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  17955. 237 | return (unsigned long)(vmf->virtual_address);
  17956. | ^~~~~~~~~~~~~~~
  17957. | real_address
  17958. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  17959. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  17960. 246 | down_read(&mm->mmap_sem);
  17961. | ^~~~~~~~
  17962. | mmap_base
  17963. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  17964. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  17965. 255 | up_read(&mm->mmap_sem);
  17966. | ^~~~~~~~
  17967. | mmap_base
  17968. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  17969. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  17970. 264 | down_write(&mm->mmap_sem);
  17971. | ^~~~~~~~
  17972. | mmap_base
  17973. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  17974. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  17975. 273 | up_write(&mm->mmap_sem);
  17976. | ^~~~~~~~
  17977. | mmap_base
  17978. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  17979. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  17980. 282 | return rwsem_is_locked(&mm->mmap_sem);
  17981. | ^~~~~~~~
  17982. | mmap_base
  17983. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  17984. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  17985. 291 | return &mm->mmap_sem;
  17986. | ^~~~~~~~
  17987. | mmap_base
  17988. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  17989. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  17990. 300 | vma->vm_flags |= flags;
  17991. | ^~
  17992. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  17993. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  17994. 309 | vma->vm_flags &= ~flags;
  17995. | ^~
  17996. cc1: some warnings being treated as errors
  17997. In file included from ././common/inc/nv-linux.h:34,
  17998. from ././nvidia-uvm/uvm_linux.h:40:
  17999. ././common/inc/nv-mm.h: At top level:
  18000. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  18001. 29 | typedef int vm_fault_t;
  18002. | ^~~~~~~~~~
  18003. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  18004. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  18005. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  18006. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  18007. from ././common/inc/nv-lock.h:35,
  18008. from ././common/inc/nv-linux.h:32:
  18009. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  18010. 1311 | typedef __bitwise unsigned int vm_fault_t;
  18011. | ^~~~~~~~~~
  18012. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  18013. from ././common/inc/nv-time.h:28:
  18014. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  18015. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18016. 52 | #define current get_current()
  18017. | ^~~~~~~~~~~~~
  18018. | |
  18019. | struct task_struct *
  18020. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  18021. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18022. | ^~~~~~~
  18023. In file included from ././common/inc/nv-pgprot.h:30,
  18024. from ././common/inc/nv-linux.h:33:
  18025. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  18026. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18027. | ~~~~~~~~~~~~~~^~~~~
  18028. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18029. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18030. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18031. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18032. | ~~~~~~~~~~~~~~^~~~~~~~
  18033. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18034. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18035. | ^~~~~~~~
  18036. | |
  18037. | long unsigned int
  18038. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18039. 2535 | unsigned int gup_flags, struct page **pages);
  18040. | ~~~~~~~~~~~~~~^~~~~
  18041. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_allocator.o] Error 1
  18042. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18043. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18044. | ^~~~~~~~~~~~~~ ~~~~~
  18045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18046. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18047. | ^~~~~~~~~~~~~~
  18048. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  18049. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  18050. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  18051. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  18052. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  18053. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  18054. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18055. 8 | #define NULL ((void *)0)
  18056. | ^~~~~~~~~~~
  18057. | |
  18058. | void *
  18059. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  18060. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18061. | ^~~~
  18062. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  18063. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18064. | ~~~~~~~~~~~~~~^~~~~
  18065. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18066. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18067. | ^~
  18068. | |
  18069. | struct mm_struct *
  18070. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18071. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18072. | ~~~~~~~~~~~~~~^~~~~~~~
  18073. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18074. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18075. | ^~~~~~~~
  18076. | |
  18077. | long unsigned int
  18078. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18079. 2535 | unsigned int gup_flags, struct page **pages);
  18080. | ~~~~~~~~~~~~~~^~~~~
  18081. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18082. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18083. | ^~~~~~~~~~~~~~ ~~~~~
  18084. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18085. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18086. | ^~~~~~~~~~~~~~
  18087. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  18088. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  18089. 237 | return (unsigned long)(vmf->virtual_address);
  18090. | ^~~~~~~~~~~~~~~
  18091. | real_address
  18092. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  18093. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18094. 246 | down_read(&mm->mmap_sem);
  18095. | ^~~~~~~~
  18096. | mmap_base
  18097. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  18098. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18099. 255 | up_read(&mm->mmap_sem);
  18100. | ^~~~~~~~
  18101. | mmap_base
  18102. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  18103. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18104. 264 | down_write(&mm->mmap_sem);
  18105. | ^~~~~~~~
  18106. | mmap_base
  18107. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  18108. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18109. 273 | up_write(&mm->mmap_sem);
  18110. | ^~~~~~~~
  18111. | mmap_base
  18112. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  18113. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18114. 282 | return rwsem_is_locked(&mm->mmap_sem);
  18115. | ^~~~~~~~
  18116. | mmap_base
  18117. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  18118. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18119. 291 | return &mm->mmap_sem;
  18120. | ^~~~~~~~
  18121. | mmap_base
  18122. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  18123. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  18124. 300 | vma->vm_flags |= flags;
  18125. | ^~
  18126. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  18127. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  18128. 309 | vma->vm_flags &= ~flags;
  18129. | ^~
  18130. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  18131. 40 | struct timespec64 {
  18132. | ^~~~~~~~~~
  18133. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  18134. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  18135. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  18136. from ././common/inc/nv-time.h:29:
  18137. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  18138. 13 | struct timespec64 {
  18139. | ^~~~~~~~~~
  18140. CC [M] nvidia-uvm/uvm_tracker.o
  18141. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  18142. 77 | static inline struct timespec64 timespec64_add
  18143. | ^~~~~~~~~~~~~~
  18144. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  18145. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  18146. | ^~~~~~~~~~~~~~
  18147. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  18148. 95 | static inline struct timespec64 timespec64_sub
  18149. | ^~~~~~~~~~~~~~
  18150. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  18151. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  18152. | ^~~~~~~~~~~~~~
  18153. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  18154. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  18155. | ^~~~~~~~~~~~~~~~
  18156. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  18157. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  18158. | ^~~~~~~~~~~~~~~~
  18159. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  18160. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18161. 122 | ktime_get_raw_ts64(&ts);
  18162. | ^~~
  18163. | |
  18164. | struct timespec64 *
  18165. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  18166. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  18167. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  18168. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  18169. from ././common/inc/nv-time.h:30:
  18170. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18171. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18172. | ~~~~~~~~~~~~~~~~~~~^~
  18173. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  18174. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18175. 185 | ktime_get_raw_ts64(&tm_aux);
  18176. | ^~~~~~~
  18177. | |
  18178. | struct timespec64 *
  18179. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18180. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18181. | ~~~~~~~~~~~~~~~~~~~^~
  18182. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18183. 221 | ktime_get_raw_ts64(&tm_aux);
  18184. | ^~~~~~~
  18185. | |
  18186. | struct timespec64 *
  18187. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18188. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18189. | ~~~~~~~~~~~~~~~~~~~^~
  18190. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  18191. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  18192. 533 | ptr = ioremap_cache_shared(phys, size);
  18193. | ^~~~~~~~~~~~~~~~~~~~
  18194. | ioremap_cache
  18195. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  18196. 533 | ptr = ioremap_cache_shared(phys, size);
  18197. | ^
  18198. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  18199. 556 | NV_MEMDBG_ADD(ptr, size);
  18200. | ^
  18201. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  18202. 40 | struct timespec64 {
  18203. | ^~~~~~~~~~
  18204. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  18205. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  18206. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  18207. from ././common/inc/nv-time.h:29:
  18208. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  18209. 13 | struct timespec64 {
  18210. | ^~~~~~~~~~
  18211. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  18212. 77 | static inline struct timespec64 timespec64_add
  18213. | ^~~~~~~~~~~~~~
  18214. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  18215. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  18216. | ^~~~~~~~~~~~~~
  18217. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  18218. 95 | static inline struct timespec64 timespec64_sub
  18219. | ^~~~~~~~~~~~~~
  18220. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  18221. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  18222. | ^~~~~~~~~~~~~~
  18223. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  18224. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  18225. | ^~~~~~~~~~~~~~~~
  18226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  18227. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  18228. | ^~~~~~~~~~~~~~~~
  18229. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  18230. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18231. 122 | ktime_get_raw_ts64(&ts);
  18232. | ^~~
  18233. | |
  18234. | struct timespec64 *
  18235. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  18236. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  18237. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  18238. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  18239. from ././common/inc/nv-time.h:30:
  18240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18241. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18242. | ~~~~~~~~~~~~~~~~~~~^~
  18243. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  18244. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  18245. 533 | ptr = ioremap_cache_shared(phys, size);
  18246. | ^~~~~~~~~~~~~~~~~~~~
  18247. | ioremap_cache
  18248. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  18249. 533 | ptr = ioremap_cache_shared(phys, size);
  18250. | ^
  18251. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  18252. 556 | NV_MEMDBG_ADD(ptr, size);
  18253. | ^
  18254. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  18255. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18256. 185 | ktime_get_raw_ts64(&tm_aux);
  18257. | ^~~~~~~
  18258. | |
  18259. | struct timespec64 *
  18260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18261. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18262. | ~~~~~~~~~~~~~~~~~~~^~
  18263. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18264. 221 | ktime_get_raw_ts64(&tm_aux);
  18265. | ^~~~~~~
  18266. | |
  18267. | struct timespec64 *
  18268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18269. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18270. | ~~~~~~~~~~~~~~~~~~~^~
  18271. In file included from ././common/inc/conftest.h:28,
  18272. from ././common/inc/nv-time.h:27,
  18273. from nvidia-uvm/uvm_linux.h:37,
  18274. from nvidia-uvm/uvm_tracker.h:29,
  18275. from nvidia-uvm/uvm_tracker.c:24:
  18276. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  18277. 74 | #error dma_buf_export() conftest failed!
  18278. | ^~~~~
  18279. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  18280. 87 | #error wait_on_bit_lock() conftest failed!
  18281. | ^~~~~
  18282. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  18283. 90 | #error radix_tree_replace_slot() conftest failed!
  18284. | ^~~~~
  18285. In file included from ././common/inc/nv-linux.h:34,
  18286. from ././nvidia-uvm/uvm_linux.h:40:
  18287. ././common/inc/nv-mm.h: At top level:
  18288. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  18289. 29 | typedef int vm_fault_t;
  18290. | ^~~~~~~~~~
  18291. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  18292. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  18293. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  18294. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  18295. from ././common/inc/nv-lock.h:35,
  18296. from ././common/inc/nv-linux.h:32:
  18297. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  18298. 1311 | typedef __bitwise unsigned int vm_fault_t;
  18299. | ^~~~~~~~~~
  18300. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  18301. from ././common/inc/nv-time.h:28:
  18302. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  18303. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18304. 52 | #define current get_current()
  18305. | ^~~~~~~~~~~~~
  18306. | |
  18307. | struct task_struct *
  18308. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  18309. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18310. | ^~~~~~~
  18311. In file included from ././common/inc/nv-pgprot.h:30,
  18312. from ././common/inc/nv-linux.h:33:
  18313. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  18314. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18315. | ~~~~~~~~~~~~~~^~~~~
  18316. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18317. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18318. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18319. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18320. | ~~~~~~~~~~~~~~^~~~~~~~
  18321. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18322. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18323. | ^~~~~~~~
  18324. | |
  18325. | long unsigned int
  18326. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18327. 2535 | unsigned int gup_flags, struct page **pages);
  18328. | ~~~~~~~~~~~~~~^~~~~
  18329. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18330. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18331. | ^~~~~~~~~~~~~~ ~~~~~
  18332. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18333. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18334. | ^~~~~~~~~~~~~~
  18335. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  18336. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  18337. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  18338. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sort.h:5,
  18339. from nvidia-uvm/uvm_gpu_replayable_faults.c:24:
  18340. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  18341. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18342. 8 | #define NULL ((void *)0)
  18343. | ^~~~~~~~~~~
  18344. | |
  18345. | void *
  18346. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  18347. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18348. | ^~~~
  18349. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  18350. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18351. | ~~~~~~~~~~~~~~^~~~~
  18352. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18353. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18354. | ^~
  18355. | |
  18356. | struct mm_struct *
  18357. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18358. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18359. | ~~~~~~~~~~~~~~^~~~~~~~
  18360. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18361. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18362. | ^~~~~~~~
  18363. | |
  18364. | long unsigned int
  18365. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18366. 2535 | unsigned int gup_flags, struct page **pages);
  18367. | ~~~~~~~~~~~~~~^~~~~
  18368. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18369. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18370. | ^~~~~~~~~~~~~~ ~~~~~
  18371. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18372. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18373. | ^~~~~~~~~~~~~~
  18374. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  18375. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  18376. 237 | return (unsigned long)(vmf->virtual_address);
  18377. | ^~~~~~~~~~~~~~~
  18378. | real_address
  18379. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  18380. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18381. 246 | down_read(&mm->mmap_sem);
  18382. | ^~~~~~~~
  18383. | mmap_base
  18384. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  18385. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18386. 255 | up_read(&mm->mmap_sem);
  18387. | ^~~~~~~~
  18388. | mmap_base
  18389. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  18390. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18391. 264 | down_write(&mm->mmap_sem);
  18392. | ^~~~~~~~
  18393. | mmap_base
  18394. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  18395. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18396. 273 | up_write(&mm->mmap_sem);
  18397. | ^~~~~~~~
  18398. | mmap_base
  18399. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  18400. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18401. 282 | return rwsem_is_locked(&mm->mmap_sem);
  18402. | ^~~~~~~~
  18403. | mmap_base
  18404. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  18405. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18406. 291 | return &mm->mmap_sem;
  18407. | ^~~~~~~~
  18408. | mmap_base
  18409. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  18410. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  18411. 300 | vma->vm_flags |= flags;
  18412. | ^~
  18413. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  18414. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  18415. 309 | vma->vm_flags &= ~flags;
  18416. | ^~
  18417. In file included from ././common/inc/nv-linux.h:34,
  18418. from nvidia-uvm/uvm_linux.h:40:
  18419. ././common/inc/nv-mm.h: At top level:
  18420. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  18421. 29 | typedef int vm_fault_t;
  18422. | ^~~~~~~~~~
  18423. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  18424. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  18425. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  18426. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  18427. from ././common/inc/nv-lock.h:35,
  18428. from ././common/inc/nv-linux.h:32:
  18429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  18430. 1311 | typedef __bitwise unsigned int vm_fault_t;
  18431. | ^~~~~~~~~~
  18432. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  18433. from ././common/inc/nv-time.h:28:
  18434. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  18435. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18436. 52 | #define current get_current()
  18437. | ^~~~~~~~~~~~~
  18438. | |
  18439. | struct task_struct *
  18440. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  18441. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18442. | ^~~~~~~
  18443. In file included from ././common/inc/nv-pgprot.h:30,
  18444. from ././common/inc/nv-linux.h:33:
  18445. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  18446. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18447. | ~~~~~~~~~~~~~~^~~~~
  18448. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18449. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18451. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18452. | ~~~~~~~~~~~~~~^~~~~~~~
  18453. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18454. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18455. | ^~~~~~~~
  18456. | |
  18457. | long unsigned int
  18458. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18459. 2535 | unsigned int gup_flags, struct page **pages);
  18460. | ~~~~~~~~~~~~~~^~~~~
  18461. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18462. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18463. | ^~~~~~~~~~~~~~ ~~~~~
  18464. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18465. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18466. | ^~~~~~~~~~~~~~
  18467. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  18468. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  18469. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  18470. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  18471. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  18472. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  18473. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18474. 8 | #define NULL ((void *)0)
  18475. | ^~~~~~~~~~~
  18476. | |
  18477. | void *
  18478. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  18479. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18480. | ^~~~
  18481. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  18482. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18483. | ~~~~~~~~~~~~~~^~~~~
  18484. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18485. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18486. | ^~
  18487. | |
  18488. | struct mm_struct *
  18489. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18490. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18491. | ~~~~~~~~~~~~~~^~~~~~~~
  18492. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18493. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18494. | ^~~~~~~~
  18495. | |
  18496. | long unsigned int
  18497. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18498. 2535 | unsigned int gup_flags, struct page **pages);
  18499. | ~~~~~~~~~~~~~~^~~~~
  18500. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18501. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18502. | ^~~~~~~~~~~~~~ ~~~~~
  18503. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18504. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18505. | ^~~~~~~~~~~~~~
  18506. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  18507. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  18508. 237 | return (unsigned long)(vmf->virtual_address);
  18509. | ^~~~~~~~~~~~~~~
  18510. | real_address
  18511. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  18512. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18513. 246 | down_read(&mm->mmap_sem);
  18514. | ^~~~~~~~
  18515. | mmap_base
  18516. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  18517. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18518. 255 | up_read(&mm->mmap_sem);
  18519. | ^~~~~~~~
  18520. | mmap_base
  18521. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  18522. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18523. 264 | down_write(&mm->mmap_sem);
  18524. | ^~~~~~~~
  18525. | mmap_base
  18526. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  18527. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18528. 273 | up_write(&mm->mmap_sem);
  18529. | ^~~~~~~~
  18530. | mmap_base
  18531. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  18532. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18533. 282 | return rwsem_is_locked(&mm->mmap_sem);
  18534. | ^~~~~~~~
  18535. | mmap_base
  18536. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  18537. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18538. 291 | return &mm->mmap_sem;
  18539. | ^~~~~~~~
  18540. | mmap_base
  18541. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  18542. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  18543. 300 | vma->vm_flags |= flags;
  18544. | ^~
  18545. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  18546. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  18547. 309 | vma->vm_flags &= ~flags;
  18548. | ^~
  18549. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  18550. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  18551. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  18552. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  18553. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  18554. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  18555. | ^
  18556. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  18557. 573 | NV_MEMDBG_ADD(ptr, size);
  18558. | ^
  18559. ././common/inc/nv-linux.h: In function 'nv_vmap':
  18560. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  18561. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  18562. | ^
  18563. In file included from ././common/inc/nv-linux.h:34,
  18564. from nvidia-uvm/uvm_linux.h:40:
  18565. ././common/inc/nv-mm.h: At top level:
  18566. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  18567. 29 | typedef int vm_fault_t;
  18568. | ^~~~~~~~~~
  18569. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  18570. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  18571. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  18572. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  18573. from ././common/inc/nv-lock.h:35,
  18574. from ././common/inc/nv-linux.h:32:
  18575. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  18576. 1311 | typedef __bitwise unsigned int vm_fault_t;
  18577. | ^~~~~~~~~~
  18578. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  18579. 40 | struct timespec64 {
  18580. | ^~~~~~~~~~
  18581. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  18582. from ././common/inc/nv-time.h:28:
  18583. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  18584. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  18585. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  18586. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  18587. from ././common/inc/nv-time.h:29:
  18588. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  18589. 13 | struct timespec64 {
  18590. | ^~~~~~~~~~
  18591. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18592. 52 | #define current get_current()
  18593. | ^~~~~~~~~~~~~
  18594. | |
  18595. | struct task_struct *
  18596. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  18597. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18598. | ^~~~~~~
  18599. In file included from ././common/inc/nv-pgprot.h:30,
  18600. from ././common/inc/nv-linux.h:33:
  18601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  18602. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18603. | ~~~~~~~~~~~~~~^~~~~
  18604. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18605. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18606. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  18607. 77 | static inline struct timespec64 timespec64_add
  18608. | ^~~~~~~~~~~~~~
  18609. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18610. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18611. | ~~~~~~~~~~~~~~^~~~~~~~
  18612. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  18613. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  18614. | ^~~~~~~~~~~~~~
  18615. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18616. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18617. | ^~~~~~~~
  18618. | |
  18619. | long unsigned int
  18620. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18621. 2535 | unsigned int gup_flags, struct page **pages);
  18622. | ~~~~~~~~~~~~~~^~~~~
  18623. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  18624. 95 | static inline struct timespec64 timespec64_sub
  18625. | ^~~~~~~~~~~~~~
  18626. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  18627. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  18628. | ^~~~~~~~~~~~~~
  18629. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18630. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18631. | ^~~~~~~~~~~~~~ ~~~~~
  18632. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18633. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18634. | ^~~~~~~~~~~~~~
  18635. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  18636. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  18637. | ^~~~~~~~~~~~~~~~
  18638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  18639. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  18640. | ^~~~~~~~~~~~~~~~
  18641. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  18642. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  18643. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  18644. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  18645. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  18646. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  18647. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  18648. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18649. 8 | #define NULL ((void *)0)
  18650. | ^~~~~~~~~~~
  18651. | |
  18652. | void *
  18653. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  18654. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18655. | ^~~~
  18656. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18657. 122 | ktime_get_raw_ts64(&ts);
  18658. | ^~~
  18659. | |
  18660. | struct timespec64 *
  18661. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  18662. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18663. | ~~~~~~~~~~~~~~^~~~~
  18664. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18665. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18666. | ^~
  18667. | |
  18668. | struct mm_struct *
  18669. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  18670. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  18671. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  18672. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  18673. from ././common/inc/nv-time.h:30:
  18674. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18675. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18676. | ~~~~~~~~~~~~~~~~~~~^~
  18677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18678. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18679. | ~~~~~~~~~~~~~~^~~~~~~~
  18680. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18681. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18682. | ^~~~~~~~
  18683. | |
  18684. | long unsigned int
  18685. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18686. 2535 | unsigned int gup_flags, struct page **pages);
  18687. | ~~~~~~~~~~~~~~^~~~~
  18688. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18689. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18690. | ^~~~~~~~~~~~~~ ~~~~~
  18691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18692. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18693. | ^~~~~~~~~~~~~~
  18694. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  18695. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  18696. 237 | return (unsigned long)(vmf->virtual_address);
  18697. | ^~~~~~~~~~~~~~~
  18698. | real_address
  18699. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  18700. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18701. 246 | down_read(&mm->mmap_sem);
  18702. | ^~~~~~~~
  18703. | mmap_base
  18704. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  18705. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  18706. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18707. 255 | up_read(&mm->mmap_sem);
  18708. | ^~~~~~~~
  18709. | mmap_base
  18710. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18711. 185 | ktime_get_raw_ts64(&tm_aux);
  18712. | ^~~~~~~
  18713. | |
  18714. | struct timespec64 *
  18715. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18716. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18717. | ~~~~~~~~~~~~~~~~~~~^~
  18718. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  18719. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18720. 264 | down_write(&mm->mmap_sem);
  18721. | ^~~~~~~~
  18722. | mmap_base
  18723. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  18724. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18725. 273 | up_write(&mm->mmap_sem);
  18726. | ^~~~~~~~
  18727. | mmap_base
  18728. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  18729. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18730. 282 | return rwsem_is_locked(&mm->mmap_sem);
  18731. | ^~~~~~~~
  18732. | mmap_base
  18733. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  18734. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18735. 291 | return &mm->mmap_sem;
  18736. | ^~~~~~~~
  18737. | mmap_base
  18738. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  18739. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  18740. 300 | vma->vm_flags |= flags;
  18741. | ^~
  18742. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  18743. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  18744. 309 | vma->vm_flags &= ~flags;
  18745. | ^~
  18746. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18747. 221 | ktime_get_raw_ts64(&tm_aux);
  18748. | ^~~~~~~
  18749. | |
  18750. | struct timespec64 *
  18751. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18752. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18753. | ~~~~~~~~~~~~~~~~~~~^~
  18754. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  18755. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  18756. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  18757. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  18758. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  18759. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  18760. | ^
  18761. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  18762. 573 | NV_MEMDBG_ADD(ptr, size);
  18763. | ^
  18764. ././common/inc/nv-linux.h: In function 'nv_vmap':
  18765. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  18766. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  18767. | ^
  18768. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  18769. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  18770. 736 | return phys_to_dma(dev, pa);
  18771. | ^~~~~~~~~~~
  18772. | nv_phys_to_dma
  18773. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  18774. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  18775. 736 | return phys_to_dma(dev, pa);
  18776. | ^~~~~~~~~~~
  18777. | nv_phys_to_dma
  18778. In file included from ././common/inc/nv-linux.h:34,
  18779. from ././nvidia-uvm/uvm_linux.h:40:
  18780. ././common/inc/nv-mm.h: At top level:
  18781. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  18782. 29 | typedef int vm_fault_t;
  18783. | ^~~~~~~~~~
  18784. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  18785. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  18786. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  18787. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  18788. from ././common/inc/nv-lock.h:35,
  18789. from ././common/inc/nv-linux.h:32:
  18790. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  18791. 1311 | typedef __bitwise unsigned int vm_fault_t;
  18792. | ^~~~~~~~~~
  18793. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  18794. from ././common/inc/nv-time.h:28:
  18795. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  18796. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18797. 52 | #define current get_current()
  18798. | ^~~~~~~~~~~~~
  18799. | |
  18800. | struct task_struct *
  18801. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  18802. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18803. | ^~~~~~~
  18804. In file included from ././common/inc/nv-pgprot.h:30,
  18805. from ././common/inc/nv-linux.h:33:
  18806. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  18807. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18808. | ~~~~~~~~~~~~~~^~~~~
  18809. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18810. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18811. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18812. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18813. | ~~~~~~~~~~~~~~^~~~~~~~
  18814. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18815. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18816. | ^~~~~~~~
  18817. | |
  18818. | long unsigned int
  18819. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18820. 2535 | unsigned int gup_flags, struct page **pages);
  18821. | ~~~~~~~~~~~~~~^~~~~
  18822. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18823. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  18824. | ^~~~~~~~~~~~~~ ~~~~~
  18825. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18826. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18827. | ^~~~~~~~~~~~~~
  18828. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  18829. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  18830. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  18831. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sort.h:5,
  18832. from nvidia-uvm/uvm_gpu_access_counters.c:23:
  18833. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  18834. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18835. 8 | #define NULL ((void *)0)
  18836. | ^~~~~~~~~~~
  18837. | |
  18838. | void *
  18839. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  18840. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18841. | ^~~~
  18842. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  18843. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18844. | ~~~~~~~~~~~~~~^~~~~
  18845. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  18846. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18847. | ^~
  18848. | |
  18849. | struct mm_struct *
  18850. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  18851. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18852. | ~~~~~~~~~~~~~~^~~~~~~~
  18853. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  18854. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18855. | ^~~~~~~~
  18856. | |
  18857. | long unsigned int
  18858. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  18859. 2535 | unsigned int gup_flags, struct page **pages);
  18860. | ~~~~~~~~~~~~~~^~~~~
  18861. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  18862. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  18863. | ^~~~~~~~~~~~~~ ~~~~~
  18864. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  18865. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  18866. | ^~~~~~~~~~~~~~
  18867. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  18868. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  18869. 237 | return (unsigned long)(vmf->virtual_address);
  18870. | ^~~~~~~~~~~~~~~
  18871. | real_address
  18872. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  18873. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18874. 246 | down_read(&mm->mmap_sem);
  18875. | ^~~~~~~~
  18876. | mmap_base
  18877. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  18878. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18879. 255 | up_read(&mm->mmap_sem);
  18880. | ^~~~~~~~
  18881. | mmap_base
  18882. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  18883. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18884. 264 | down_write(&mm->mmap_sem);
  18885. | ^~~~~~~~
  18886. | mmap_base
  18887. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  18888. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18889. 273 | up_write(&mm->mmap_sem);
  18890. | ^~~~~~~~
  18891. | mmap_base
  18892. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  18893. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18894. 282 | return rwsem_is_locked(&mm->mmap_sem);
  18895. | ^~~~~~~~
  18896. | mmap_base
  18897. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  18898. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  18899. 291 | return &mm->mmap_sem;
  18900. | ^~~~~~~~
  18901. | mmap_base
  18902. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  18903. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  18904. 300 | vma->vm_flags |= flags;
  18905. | ^~
  18906. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  18907. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  18908. 309 | vma->vm_flags &= ~flags;
  18909. | ^~
  18910. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  18911. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  18912. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  18913. | ^~~~~~~~~~~~~
  18914. | d_is_dir
  18915. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  18916. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  18917. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  18918. | ^~~~~~~~~~~~~
  18919. | d_is_dir
  18920. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  18921. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18922. 287 | ktime_get_raw_ts64(&tm);
  18923. | ^~~
  18924. | |
  18925. | struct timespec64 *
  18926. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18927. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18928. | ~~~~~~~~~~~~~~~~~~~^~
  18929. nvidia-uvm/uvm_linux.h: At top level:
  18930. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  18931. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  18932. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18933. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  18934. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  18935. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18936. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  18937. 449 | #error "Unknown number of arguments"
  18938. | ^~~~~
  18939. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  18940. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  18941. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18942. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  18943. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  18944. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18945. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  18946. 485 | #error "Unknown number of arguments"
  18947. | ^~~~~
  18948. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  18949. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  18950. 287 | ktime_get_raw_ts64(&tm);
  18951. | ^~~
  18952. | |
  18953. | struct timespec64 *
  18954. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  18955. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  18956. | ~~~~~~~~~~~~~~~~~~~^~
  18957. nvidia-uvm/uvm_linux.h: At top level:
  18958. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  18959. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  18960. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18961. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  18962. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  18963. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18964. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  18965. 449 | #error "Unknown number of arguments"
  18966. | ^~~~~
  18967. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  18968. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  18969. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18970. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  18971. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  18972. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18973. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  18974. 485 | #error "Unknown number of arguments"
  18975. | ^~~~~
  18976. cc1: some warnings being treated as errors
  18977. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  18978. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  18979. 502 | NV_MEMDBG_ADD(ptr, size);
  18980. | ^
  18981. In file included from ././common/inc/nv-linux.h:34,
  18982. from nvidia-uvm/uvm_linux.h:40:
  18983. ././common/inc/nv-mm.h: At top level:
  18984. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  18985. 29 | typedef int vm_fault_t;
  18986. | ^~~~~~~~~~
  18987. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  18988. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  18989. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  18990. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  18991. from ././common/inc/nv-lock.h:35,
  18992. from ././common/inc/nv-linux.h:32:
  18993. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  18994. 1311 | typedef __bitwise unsigned int vm_fault_t;
  18995. | ^~~~~~~~~~
  18996. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  18997. from ././common/inc/nv-time.h:28:
  18998. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  18999. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19000. 52 | #define current get_current()
  19001. | ^~~~~~~~~~~~~
  19002. | |
  19003. | struct task_struct *
  19004. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  19005. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19006. | ^~~~~~~
  19007. In file included from ././common/inc/nv-pgprot.h:30,
  19008. from ././common/inc/nv-linux.h:33:
  19009. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  19010. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19011. | ~~~~~~~~~~~~~~^~~~~
  19012. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19013. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19015. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19016. | ~~~~~~~~~~~~~~^~~~~~~~
  19017. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19018. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19019. | ^~~~~~~~
  19020. | |
  19021. | long unsigned int
  19022. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19023. 2535 | unsigned int gup_flags, struct page **pages);
  19024. | ~~~~~~~~~~~~~~^~~~~
  19025. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19026. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19027. | ^~~~~~~~~~~~~~ ~~~~~
  19028. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19029. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19030. | ^~~~~~~~~~~~~~
  19031. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  19032. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  19033. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  19034. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  19035. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  19036. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  19037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19038. 8 | #define NULL ((void *)0)
  19039. | ^~~~~~~~~~~
  19040. | |
  19041. | void *
  19042. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  19043. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19044. | ^~~~
  19045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  19046. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19047. | ~~~~~~~~~~~~~~^~~~~
  19048. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19049. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19050. | ^~
  19051. | |
  19052. | struct mm_struct *
  19053. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19054. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19055. | ~~~~~~~~~~~~~~^~~~~~~~
  19056. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19057. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19058. | ^~~~~~~~
  19059. | |
  19060. | long unsigned int
  19061. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19062. 2535 | unsigned int gup_flags, struct page **pages);
  19063. | ~~~~~~~~~~~~~~^~~~~
  19064. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19065. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19066. | ^~~~~~~~~~~~~~ ~~~~~
  19067. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19068. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19069. | ^~~~~~~~~~~~~~
  19070. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  19071. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  19072. 237 | return (unsigned long)(vmf->virtual_address);
  19073. | ^~~~~~~~~~~~~~~
  19074. | real_address
  19075. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  19076. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19077. 246 | down_read(&mm->mmap_sem);
  19078. | ^~~~~~~~
  19079. | mmap_base
  19080. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  19081. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19082. 255 | up_read(&mm->mmap_sem);
  19083. | ^~~~~~~~
  19084. | mmap_base
  19085. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  19086. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19087. 264 | down_write(&mm->mmap_sem);
  19088. | ^~~~~~~~
  19089. | mmap_base
  19090. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  19091. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19092. 273 | up_write(&mm->mmap_sem);
  19093. | ^~~~~~~~
  19094. | mmap_base
  19095. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  19096. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19097. 282 | return rwsem_is_locked(&mm->mmap_sem);
  19098. | ^~~~~~~~
  19099. | mmap_base
  19100. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  19101. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19102. 291 | return &mm->mmap_sem;
  19103. | ^~~~~~~~
  19104. | mmap_base
  19105. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  19106. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  19107. 300 | vma->vm_flags |= flags;
  19108. | ^~
  19109. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  19110. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  19111. 309 | vma->vm_flags &= ~flags;
  19112. | ^~
  19113. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_range.o] Error 1
  19114. CC [M] nvidia-uvm/uvm_maxwell.o
  19115. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  19116. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19117. 502 | NV_MEMDBG_ADD(ptr, size);
  19118. | ^
  19119. In file included from ././common/inc/nv-linux.h:34,
  19120. from nvidia-uvm/uvm_linux.h:40:
  19121. ././common/inc/nv-mm.h: At top level:
  19122. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  19123. 29 | typedef int vm_fault_t;
  19124. | ^~~~~~~~~~
  19125. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  19126. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  19127. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  19128. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  19129. from ././common/inc/nv-lock.h:35,
  19130. from ././common/inc/nv-linux.h:32:
  19131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  19132. 1311 | typedef __bitwise unsigned int vm_fault_t;
  19133. | ^~~~~~~~~~
  19134. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  19135. from ././common/inc/nv-time.h:28:
  19136. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  19137. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19138. 52 | #define current get_current()
  19139. | ^~~~~~~~~~~~~
  19140. | |
  19141. | struct task_struct *
  19142. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  19143. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19144. | ^~~~~~~
  19145. In file included from ././common/inc/nv-pgprot.h:30,
  19146. from ././common/inc/nv-linux.h:33:
  19147. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  19148. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19149. | ~~~~~~~~~~~~~~^~~~~
  19150. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19151. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19152. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19153. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19154. | ~~~~~~~~~~~~~~^~~~~~~~
  19155. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19156. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19157. | ^~~~~~~~
  19158. | |
  19159. | long unsigned int
  19160. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19161. 2535 | unsigned int gup_flags, struct page **pages);
  19162. | ~~~~~~~~~~~~~~^~~~~
  19163. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19164. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19165. | ^~~~~~~~~~~~~~ ~~~~~
  19166. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19167. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19168. | ^~~~~~~~~~~~~~
  19169. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  19170. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  19171. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  19172. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  19173. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  19174. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  19175. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19176. 8 | #define NULL ((void *)0)
  19177. | ^~~~~~~~~~~
  19178. | |
  19179. | void *
  19180. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  19181. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19182. | ^~~~
  19183. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  19184. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19185. | ~~~~~~~~~~~~~~^~~~~
  19186. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19187. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19188. | ^~
  19189. | |
  19190. | struct mm_struct *
  19191. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19192. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19193. | ~~~~~~~~~~~~~~^~~~~~~~
  19194. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19195. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19196. | ^~~~~~~~
  19197. | |
  19198. | long unsigned int
  19199. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19200. 2535 | unsigned int gup_flags, struct page **pages);
  19201. | ~~~~~~~~~~~~~~^~~~~
  19202. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19203. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19204. | ^~~~~~~~~~~~~~ ~~~~~
  19205. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19206. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19207. | ^~~~~~~~~~~~~~
  19208. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  19209. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  19210. 237 | return (unsigned long)(vmf->virtual_address);
  19211. | ^~~~~~~~~~~~~~~
  19212. | real_address
  19213. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  19214. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19215. 246 | down_read(&mm->mmap_sem);
  19216. | ^~~~~~~~
  19217. | mmap_base
  19218. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  19219. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19220. 255 | up_read(&mm->mmap_sem);
  19221. | ^~~~~~~~
  19222. | mmap_base
  19223. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  19224. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19225. 264 | down_write(&mm->mmap_sem);
  19226. | ^~~~~~~~
  19227. | mmap_base
  19228. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  19229. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19230. 273 | up_write(&mm->mmap_sem);
  19231. | ^~~~~~~~
  19232. | mmap_base
  19233. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  19234. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19235. 282 | return rwsem_is_locked(&mm->mmap_sem);
  19236. | ^~~~~~~~
  19237. | mmap_base
  19238. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  19239. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19240. 291 | return &mm->mmap_sem;
  19241. | ^~~~~~~~
  19242. | mmap_base
  19243. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  19244. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  19245. 300 | vma->vm_flags |= flags;
  19246. | ^~
  19247. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  19248. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  19249. 309 | vma->vm_flags &= ~flags;
  19250. | ^~
  19251. In file included from ././common/inc/conftest.h:28,
  19252. from ././common/inc/nv-time.h:27,
  19253. from nvidia-uvm/uvm_linux.h:37,
  19254. from nvidia-uvm/uvm_common.h:43,
  19255. from nvidia-uvm/uvm_hal.h:28,
  19256. from nvidia-uvm/uvm_maxwell.c:24:
  19257. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  19258. 74 | #error dma_buf_export() conftest failed!
  19259. | ^~~~~
  19260. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  19261. 87 | #error wait_on_bit_lock() conftest failed!
  19262. | ^~~~~
  19263. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  19264. 90 | #error radix_tree_replace_slot() conftest failed!
  19265. | ^~~~~
  19266. In file included from ././common/inc/nv-linux.h:34,
  19267. from nvidia-uvm/uvm_linux.h:40:
  19268. ././common/inc/nv-mm.h: At top level:
  19269. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  19270. 29 | typedef int vm_fault_t;
  19271. | ^~~~~~~~~~
  19272. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  19273. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  19274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  19275. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  19276. from ././common/inc/nv-lock.h:35,
  19277. from ././common/inc/nv-linux.h:32:
  19278. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  19279. 1311 | typedef __bitwise unsigned int vm_fault_t;
  19280. | ^~~~~~~~~~
  19281. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  19282. from ././common/inc/nv-time.h:28:
  19283. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  19284. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19285. 52 | #define current get_current()
  19286. | ^~~~~~~~~~~~~
  19287. | |
  19288. | struct task_struct *
  19289. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  19290. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19291. | ^~~~~~~
  19292. In file included from ././common/inc/nv-pgprot.h:30,
  19293. from ././common/inc/nv-linux.h:33:
  19294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  19295. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19296. | ~~~~~~~~~~~~~~^~~~~
  19297. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19298. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19299. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19300. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19301. | ~~~~~~~~~~~~~~^~~~~~~~
  19302. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19303. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19304. | ^~~~~~~~
  19305. | |
  19306. | long unsigned int
  19307. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19308. 2535 | unsigned int gup_flags, struct page **pages);
  19309. | ~~~~~~~~~~~~~~^~~~~
  19310. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19311. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19312. | ^~~~~~~~~~~~~~ ~~~~~
  19313. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19314. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19315. | ^~~~~~~~~~~~~~
  19316. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  19317. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  19318. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  19319. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  19320. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  19321. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  19322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19323. 8 | #define NULL ((void *)0)
  19324. | ^~~~~~~~~~~
  19325. | |
  19326. | void *
  19327. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  19328. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19329. | ^~~~
  19330. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  19331. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19332. | ~~~~~~~~~~~~~~^~~~~
  19333. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19334. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19335. | ^~
  19336. | |
  19337. | struct mm_struct *
  19338. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19339. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19340. | ~~~~~~~~~~~~~~^~~~~~~~
  19341. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19342. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19343. | ^~~~~~~~
  19344. | |
  19345. | long unsigned int
  19346. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19347. 2535 | unsigned int gup_flags, struct page **pages);
  19348. | ~~~~~~~~~~~~~~^~~~~
  19349. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19350. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19351. | ^~~~~~~~~~~~~~ ~~~~~
  19352. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19353. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19354. | ^~~~~~~~~~~~~~
  19355. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  19356. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  19357. 237 | return (unsigned long)(vmf->virtual_address);
  19358. | ^~~~~~~~~~~~~~~
  19359. | real_address
  19360. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  19361. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19362. 246 | down_read(&mm->mmap_sem);
  19363. | ^~~~~~~~
  19364. | mmap_base
  19365. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  19366. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19367. 255 | up_read(&mm->mmap_sem);
  19368. | ^~~~~~~~
  19369. | mmap_base
  19370. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  19371. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19372. 264 | down_write(&mm->mmap_sem);
  19373. | ^~~~~~~~
  19374. | mmap_base
  19375. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  19376. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19377. 273 | up_write(&mm->mmap_sem);
  19378. | ^~~~~~~~
  19379. | mmap_base
  19380. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  19381. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19382. 282 | return rwsem_is_locked(&mm->mmap_sem);
  19383. | ^~~~~~~~
  19384. | mmap_base
  19385. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  19386. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19387. 291 | return &mm->mmap_sem;
  19388. | ^~~~~~~~
  19389. | mmap_base
  19390. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  19391. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  19392. 300 | vma->vm_flags |= flags;
  19393. | ^~
  19394. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  19395. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  19396. 309 | vma->vm_flags &= ~flags;
  19397. | ^~
  19398. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  19399. 40 | struct timespec64 {
  19400. | ^~~~~~~~~~
  19401. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  19402. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  19403. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  19404. from ././common/inc/nv-time.h:29:
  19405. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  19406. 13 | struct timespec64 {
  19407. | ^~~~~~~~~~
  19408. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  19409. 77 | static inline struct timespec64 timespec64_add
  19410. | ^~~~~~~~~~~~~~
  19411. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  19412. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  19413. | ^~~~~~~~~~~~~~
  19414. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  19415. 95 | static inline struct timespec64 timespec64_sub
  19416. | ^~~~~~~~~~~~~~
  19417. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  19418. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  19419. | ^~~~~~~~~~~~~~
  19420. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  19421. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  19422. | ^~~~~~~~~~~~~~~~
  19423. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  19424. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  19425. | ^~~~~~~~~~~~~~~~
  19426. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  19427. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  19428. 122 | ktime_get_raw_ts64(&ts);
  19429. | ^~~
  19430. | |
  19431. | struct timespec64 *
  19432. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  19433. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  19434. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  19435. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  19436. from ././common/inc/nv-time.h:30:
  19437. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  19438. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  19439. | ~~~~~~~~~~~~~~~~~~~^~
  19440. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  19441. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  19442. 185 | ktime_get_raw_ts64(&tm_aux);
  19443. | ^~~~~~~
  19444. | |
  19445. | struct timespec64 *
  19446. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  19447. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  19448. | ~~~~~~~~~~~~~~~~~~~^~
  19449. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  19450. 221 | ktime_get_raw_ts64(&tm_aux);
  19451. | ^~~~~~~
  19452. | |
  19453. | struct timespec64 *
  19454. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  19455. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  19456. | ~~~~~~~~~~~~~~~~~~~^~
  19457. In file included from nvidia-uvm/uvm_api.h:31,
  19458. from nvidia-uvm/uvm_va_block.c:26:
  19459. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  19460. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  19461. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  19462. | ^~~~~~~~~~~~~~~~~~~~
  19463. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  19464. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  19465. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  19466. | ^~~~~~~~~~~~~~~~~~~~~~~
  19467. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  19468. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19469. 520 | NV_MEMDBG_ADD(ptr, size);
  19470. | ^
  19471. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  19472. from nvidia-uvm/uvm_channel.h:29,
  19473. from nvidia-uvm/uvm_push.h:29,
  19474. from nvidia-uvm/uvm_pte_batch.h:29,
  19475. from nvidia-uvm/uvm_va_block_types.h:28,
  19476. from nvidia-uvm/uvm_va_policy.h:31,
  19477. from nvidia-uvm/uvm_va_policy.c:27:
  19478. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  19479. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  19480. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  19481. | ^~~~~~~~~~~~~~~~~~~~
  19482. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  19483. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  19484. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  19485. | ^~~~~~~~~~~~~~~~~~~~~~~
  19486. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  19487. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19488. 520 | NV_MEMDBG_ADD(ptr, size);
  19489. | ^
  19490. In file included from ././common/inc/nv-linux.h:34,
  19491. from nvidia-uvm/uvm_linux.h:40:
  19492. ././common/inc/nv-mm.h: At top level:
  19493. In file included from ././common/inc/nv-linux.h:34,
  19494. from nvidia-uvm/uvm_linux.h:40:
  19495. ././common/inc/nv-mm.h: At top level:
  19496. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  19497. 29 | typedef int vm_fault_t;
  19498. | ^~~~~~~~~~
  19499. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  19500. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  19501. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  19502. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  19503. from ././common/inc/nv-lock.h:35,
  19504. from ././common/inc/nv-linux.h:32:
  19505. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  19506. 1311 | typedef __bitwise unsigned int vm_fault_t;
  19507. | ^~~~~~~~~~
  19508. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  19509. from ././common/inc/nv-time.h:28:
  19510. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  19511. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19512. 52 | #define current get_current()
  19513. | ^~~~~~~~~~~~~
  19514. | |
  19515. | struct task_struct *
  19516. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  19517. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19518. | ^~~~~~~
  19519. In file included from ././common/inc/nv-pgprot.h:30,
  19520. from ././common/inc/nv-linux.h:33:
  19521. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  19522. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19523. | ~~~~~~~~~~~~~~^~~~~
  19524. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19525. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19526. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19527. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19528. | ~~~~~~~~~~~~~~^~~~~~~~
  19529. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19530. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19531. | ^~~~~~~~
  19532. | |
  19533. | long unsigned int
  19534. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19535. 2535 | unsigned int gup_flags, struct page **pages);
  19536. | ~~~~~~~~~~~~~~^~~~~
  19537. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19538. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19539. | ^~~~~~~~~~~~~~ ~~~~~
  19540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19541. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19542. | ^~~~~~~~~~~~~~
  19543. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  19544. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  19545. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  19546. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  19547. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  19548. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  19549. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19550. 8 | #define NULL ((void *)0)
  19551. | ^~~~~~~~~~~
  19552. | |
  19553. | void *
  19554. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  19555. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19556. | ^~~~
  19557. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  19558. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19559. | ~~~~~~~~~~~~~~^~~~~
  19560. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19561. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19562. | ^~
  19563. | |
  19564. | struct mm_struct *
  19565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19566. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19567. | ~~~~~~~~~~~~~~^~~~~~~~
  19568. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19569. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19570. | ^~~~~~~~
  19571. | |
  19572. | long unsigned int
  19573. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19574. 2535 | unsigned int gup_flags, struct page **pages);
  19575. | ~~~~~~~~~~~~~~^~~~~
  19576. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19577. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19578. | ^~~~~~~~~~~~~~ ~~~~~
  19579. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19580. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19581. | ^~~~~~~~~~~~~~
  19582. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  19583. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  19584. 237 | return (unsigned long)(vmf->virtual_address);
  19585. | ^~~~~~~~~~~~~~~
  19586. | real_address
  19587. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  19588. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19589. 246 | down_read(&mm->mmap_sem);
  19590. | ^~~~~~~~
  19591. | mmap_base
  19592. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  19593. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19594. 255 | up_read(&mm->mmap_sem);
  19595. | ^~~~~~~~
  19596. | mmap_base
  19597. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  19598. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19599. 264 | down_write(&mm->mmap_sem);
  19600. | ^~~~~~~~
  19601. | mmap_base
  19602. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  19603. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19604. 273 | up_write(&mm->mmap_sem);
  19605. | ^~~~~~~~
  19606. | mmap_base
  19607. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  19608. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19609. 282 | return rwsem_is_locked(&mm->mmap_sem);
  19610. | ^~~~~~~~
  19611. | mmap_base
  19612. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  19613. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19614. 291 | return &mm->mmap_sem;
  19615. | ^~~~~~~~
  19616. | mmap_base
  19617. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  19618. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  19619. 300 | vma->vm_flags |= flags;
  19620. | ^~
  19621. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  19622. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  19623. 309 | vma->vm_flags &= ~flags;
  19624. | ^~
  19625. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  19626. 29 | typedef int vm_fault_t;
  19627. | ^~~~~~~~~~
  19628. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  19629. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  19630. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  19631. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  19632. from ././common/inc/nv-lock.h:35,
  19633. from ././common/inc/nv-linux.h:32:
  19634. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  19635. 1311 | typedef __bitwise unsigned int vm_fault_t;
  19636. | ^~~~~~~~~~
  19637. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  19638. from ././common/inc/nv-time.h:28:
  19639. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  19640. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19641. 52 | #define current get_current()
  19642. | ^~~~~~~~~~~~~
  19643. | |
  19644. | struct task_struct *
  19645. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  19646. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19647. | ^~~~~~~
  19648. In file included from ././common/inc/nv-pgprot.h:30,
  19649. from ././common/inc/nv-linux.h:33:
  19650. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  19651. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19652. | ~~~~~~~~~~~~~~^~~~~
  19653. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19654. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19655. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19656. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19657. | ~~~~~~~~~~~~~~^~~~~~~~
  19658. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19659. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19660. | ^~~~~~~~
  19661. | |
  19662. | long unsigned int
  19663. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19664. 2535 | unsigned int gup_flags, struct page **pages);
  19665. | ~~~~~~~~~~~~~~^~~~~
  19666. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19667. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19668. | ^~~~~~~~~~~~~~ ~~~~~
  19669. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19670. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19671. | ^~~~~~~~~~~~~~
  19672. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  19673. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  19674. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  19675. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  19676. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  19677. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  19678. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19679. 8 | #define NULL ((void *)0)
  19680. | ^~~~~~~~~~~
  19681. | |
  19682. | void *
  19683. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  19684. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19685. | ^~~~
  19686. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  19687. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19688. | ~~~~~~~~~~~~~~^~~~~
  19689. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19690. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19691. | ^~
  19692. | |
  19693. | struct mm_struct *
  19694. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19695. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19696. | ~~~~~~~~~~~~~~^~~~~~~~
  19697. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19698. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19699. | ^~~~~~~~
  19700. | |
  19701. | long unsigned int
  19702. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19703. 2535 | unsigned int gup_flags, struct page **pages);
  19704. | ~~~~~~~~~~~~~~^~~~~
  19705. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19706. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19707. | ^~~~~~~~~~~~~~ ~~~~~
  19708. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19709. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19710. | ^~~~~~~~~~~~~~
  19711. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  19712. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  19713. 237 | return (unsigned long)(vmf->virtual_address);
  19714. | ^~~~~~~~~~~~~~~
  19715. | real_address
  19716. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  19717. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19718. 246 | down_read(&mm->mmap_sem);
  19719. | ^~~~~~~~
  19720. | mmap_base
  19721. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  19722. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19723. 255 | up_read(&mm->mmap_sem);
  19724. | ^~~~~~~~
  19725. | mmap_base
  19726. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  19727. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19728. 264 | down_write(&mm->mmap_sem);
  19729. | ^~~~~~~~
  19730. | mmap_base
  19731. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  19732. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19733. 273 | up_write(&mm->mmap_sem);
  19734. | ^~~~~~~~
  19735. | mmap_base
  19736. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  19737. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19738. 282 | return rwsem_is_locked(&mm->mmap_sem);
  19739. | ^~~~~~~~
  19740. | mmap_base
  19741. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  19742. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19743. 291 | return &mm->mmap_sem;
  19744. | ^~~~~~~~
  19745. | mmap_base
  19746. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  19747. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  19748. 300 | vma->vm_flags |= flags;
  19749. | ^~
  19750. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  19751. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  19752. 309 | vma->vm_flags &= ~flags;
  19753. | ^~
  19754. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  19755. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19756. 502 | NV_MEMDBG_ADD(ptr, size);
  19757. | ^
  19758. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  19759. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  19760. 533 | ptr = ioremap_cache_shared(phys, size);
  19761. | ^~~~~~~~~~~~~~~~~~~~
  19762. | ioremap_cache
  19763. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  19764. 533 | ptr = ioremap_cache_shared(phys, size);
  19765. | ^
  19766. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19767. 556 | NV_MEMDBG_ADD(ptr, size);
  19768. | ^
  19769. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  19770. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19771. 502 | NV_MEMDBG_ADD(ptr, size);
  19772. | ^
  19773. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  19774. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19775. 502 | NV_MEMDBG_ADD(ptr, size);
  19776. | ^
  19777. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  19778. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  19779. 533 | ptr = ioremap_cache_shared(phys, size);
  19780. | ^~~~~~~~~~~~~~~~~~~~
  19781. | ioremap_cache
  19782. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  19783. 533 | ptr = ioremap_cache_shared(phys, size);
  19784. | ^
  19785. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19786. 556 | NV_MEMDBG_ADD(ptr, size);
  19787. | ^
  19788. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  19789. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19790. 502 | NV_MEMDBG_ADD(ptr, size);
  19791. | ^
  19792. cc1: some warnings being treated as errors
  19793. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  19794. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  19795. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  19796. | ^~~~~~~~~~~~~~~~~~~~~~~
  19797. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  19798. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19799. 520 | NV_MEMDBG_ADD(ptr, size);
  19800. | ^
  19801. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_policy.o] Error 1
  19802. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  19803. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  19804. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  19805. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  19806. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  19807. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  19808. | ^
  19809. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19810. 573 | NV_MEMDBG_ADD(ptr, size);
  19811. | ^
  19812. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  19813. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  19814. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  19815. | ^~~~~~~~~~~~~~~~~~~~~~~
  19816. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  19817. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19818. 520 | NV_MEMDBG_ADD(ptr, size);
  19819. | ^
  19820. ././common/inc/nv-linux.h: In function 'nv_vmap':
  19821. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19822. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  19823. | ^
  19824. CC [M] nvidia-uvm/uvm_maxwell_host.o
  19825. In file included from ././common/inc/nv-linux.h:34,
  19826. from nvidia-uvm/uvm_linux.h:40:
  19827. ././common/inc/nv-mm.h: At top level:
  19828. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  19829. 29 | typedef int vm_fault_t;
  19830. | ^~~~~~~~~~
  19831. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  19832. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  19833. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  19834. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  19835. from ././common/inc/nv-lock.h:35,
  19836. from ././common/inc/nv-linux.h:32:
  19837. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  19838. 1311 | typedef __bitwise unsigned int vm_fault_t;
  19839. | ^~~~~~~~~~
  19840. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  19841. from ././common/inc/nv-time.h:28:
  19842. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  19843. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19844. 52 | #define current get_current()
  19845. | ^~~~~~~~~~~~~
  19846. | |
  19847. | struct task_struct *
  19848. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  19849. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19850. | ^~~~~~~
  19851. In file included from ././common/inc/nv-pgprot.h:30,
  19852. from ././common/inc/nv-linux.h:33:
  19853. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  19854. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19855. | ~~~~~~~~~~~~~~^~~~~
  19856. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19857. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19858. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19859. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19860. | ~~~~~~~~~~~~~~^~~~~~~~
  19861. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19862. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19863. | ^~~~~~~~
  19864. | |
  19865. | long unsigned int
  19866. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19867. 2535 | unsigned int gup_flags, struct page **pages);
  19868. | ~~~~~~~~~~~~~~^~~~~
  19869. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19870. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  19871. | ^~~~~~~~~~~~~~ ~~~~~
  19872. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19873. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19874. | ^~~~~~~~~~~~~~
  19875. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  19876. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  19877. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  19878. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  19879. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  19880. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  19881. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19882. 8 | #define NULL ((void *)0)
  19883. | ^~~~~~~~~~~
  19884. | |
  19885. | void *
  19886. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  19887. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19888. | ^~~~
  19889. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  19890. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19891. | ~~~~~~~~~~~~~~^~~~~
  19892. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  19893. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19894. | ^~
  19895. | |
  19896. | struct mm_struct *
  19897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  19898. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19899. | ~~~~~~~~~~~~~~^~~~~~~~
  19900. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  19901. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19902. | ^~~~~~~~
  19903. | |
  19904. | long unsigned int
  19905. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  19906. 2535 | unsigned int gup_flags, struct page **pages);
  19907. | ~~~~~~~~~~~~~~^~~~~
  19908. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  19909. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  19910. | ^~~~~~~~~~~~~~ ~~~~~
  19911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  19912. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  19913. | ^~~~~~~~~~~~~~
  19914. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  19915. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  19916. 237 | return (unsigned long)(vmf->virtual_address);
  19917. | ^~~~~~~~~~~~~~~
  19918. | real_address
  19919. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  19920. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19921. 246 | down_read(&mm->mmap_sem);
  19922. | ^~~~~~~~
  19923. | mmap_base
  19924. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  19925. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19926. 255 | up_read(&mm->mmap_sem);
  19927. | ^~~~~~~~
  19928. | mmap_base
  19929. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  19930. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19931. 264 | down_write(&mm->mmap_sem);
  19932. | ^~~~~~~~
  19933. | mmap_base
  19934. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  19935. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19936. 273 | up_write(&mm->mmap_sem);
  19937. | ^~~~~~~~
  19938. | mmap_base
  19939. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  19940. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19941. 282 | return rwsem_is_locked(&mm->mmap_sem);
  19942. | ^~~~~~~~
  19943. | mmap_base
  19944. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  19945. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  19946. 291 | return &mm->mmap_sem;
  19947. | ^~~~~~~~
  19948. | mmap_base
  19949. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  19950. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  19951. 300 | vma->vm_flags |= flags;
  19952. | ^~
  19953. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  19954. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  19955. 309 | vma->vm_flags &= ~flags;
  19956. | ^~
  19957. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  19958. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  19959. 736 | return phys_to_dma(dev, pa);
  19960. | ^~~~~~~~~~~
  19961. | nv_phys_to_dma
  19962. In file included from ././common/inc/conftest.h:28,
  19963. from ././common/inc/nv-time.h:27,
  19964. from nvidia-uvm/uvm_linux.h:37,
  19965. from nvidia-uvm/uvm_maxwell_host.c:24:
  19966. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  19967. 74 | #error dma_buf_export() conftest failed!
  19968. | ^~~~~
  19969. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  19970. 87 | #error wait_on_bit_lock() conftest failed!
  19971. | ^~~~~
  19972. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  19973. 90 | #error radix_tree_replace_slot() conftest failed!
  19974. | ^~~~~
  19975. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  19976. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  19977. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  19978. | ^~~~~~~~~~~~~~~~~~~~~~~
  19979. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  19980. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  19981. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19982. 502 | NV_MEMDBG_ADD(ptr, size);
  19983. | ^
  19984. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  19985. 520 | NV_MEMDBG_ADD(ptr, size);
  19986. | ^
  19987. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  19988. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  19989. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  19990. | ^~~~~~~~~~~~~
  19991. | d_is_dir
  19992. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  19993. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  19994. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  19995. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  19996. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  19997. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  19998. | ^
  19999. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20000. 573 | NV_MEMDBG_ADD(ptr, size);
  20001. | ^
  20002. ././common/inc/nv-linux.h: In function 'nv_vmap':
  20003. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20004. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  20005. | ^
  20006. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  20007. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  20008. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  20009. | ^~~~~~~~~~~~~~~~~~~~~~~
  20010. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20011. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20012. 520 | NV_MEMDBG_ADD(ptr, size);
  20013. | ^
  20014. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  20015. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  20016. 533 | ptr = ioremap_cache_shared(phys, size);
  20017. | ^~~~~~~~~~~~~~~~~~~~
  20018. | ioremap_cache
  20019. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20020. 533 | ptr = ioremap_cache_shared(phys, size);
  20021. | ^
  20022. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20023. 556 | NV_MEMDBG_ADD(ptr, size);
  20024. | ^
  20025. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  20026. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  20027. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  20028. 533 | ptr = ioremap_cache_shared(phys, size);
  20029. | ^~~~~~~~~~~~~~~~~~~~
  20030. | ioremap_cache
  20031. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20032. 533 | ptr = ioremap_cache_shared(phys, size);
  20033. | ^
  20034. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20035. 556 | NV_MEMDBG_ADD(ptr, size);
  20036. | ^
  20037. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  20038. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20039. 502 | NV_MEMDBG_ADD(ptr, size);
  20040. | ^
  20041. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  20042. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  20043. 736 | return phys_to_dma(dev, pa);
  20044. | ^~~~~~~~~~~
  20045. | nv_phys_to_dma
  20046. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20047. 287 | ktime_get_raw_ts64(&tm);
  20048. | ^~~
  20049. | |
  20050. | struct timespec64 *
  20051. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20052. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20053. | ~~~~~~~~~~~~~~~~~~~^~
  20054. ././nvidia-uvm/uvm_linux.h: At top level:
  20055. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20056. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  20057. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20058. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20059. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  20060. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20061. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  20062. 449 | #error "Unknown number of arguments"
  20063. | ^~~~~
  20064. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20065. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  20066. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20067. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20068. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  20069. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20070. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  20071. 485 | #error "Unknown number of arguments"
  20072. | ^~~~~
  20073. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  20074. 40 | struct timespec64 {
  20075. | ^~~~~~~~~~
  20076. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  20077. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  20078. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  20079. from ././common/inc/nv-time.h:29:
  20080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  20081. 13 | struct timespec64 {
  20082. | ^~~~~~~~~~
  20083. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  20084. 77 | static inline struct timespec64 timespec64_add
  20085. | ^~~~~~~~~~~~~~
  20086. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  20087. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  20088. | ^~~~~~~~~~~~~~
  20089. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  20090. 95 | static inline struct timespec64 timespec64_sub
  20091. | ^~~~~~~~~~~~~~
  20092. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  20093. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  20094. | ^~~~~~~~~~~~~~
  20095. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  20096. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  20097. | ^~~~~~~~~~~~~~~~
  20098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  20099. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  20100. | ^~~~~~~~~~~~~~~~
  20101. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  20102. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20103. 122 | ktime_get_raw_ts64(&ts);
  20104. | ^~~
  20105. | |
  20106. | struct timespec64 *
  20107. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  20108. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  20109. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  20110. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  20111. from ././common/inc/nv-time.h:30:
  20112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20113. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20114. | ~~~~~~~~~~~~~~~~~~~^~
  20115. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  20116. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20117. 185 | ktime_get_raw_ts64(&tm_aux);
  20118. | ^~~~~~~
  20119. | |
  20120. | struct timespec64 *
  20121. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20122. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20123. | ~~~~~~~~~~~~~~~~~~~^~
  20124. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20125. 221 | ktime_get_raw_ts64(&tm_aux);
  20126. | ^~~~~~~
  20127. | |
  20128. | struct timespec64 *
  20129. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20130. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20131. | ~~~~~~~~~~~~~~~~~~~^~
  20132. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  20133. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20134. 502 | NV_MEMDBG_ADD(ptr, size);
  20135. | ^
  20136. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  20137. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  20138. 533 | ptr = ioremap_cache_shared(phys, size);
  20139. | ^~~~~~~~~~~~~~~~~~~~
  20140. | ioremap_cache
  20141. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20142. 533 | ptr = ioremap_cache_shared(phys, size);
  20143. | ^
  20144. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20145. 556 | NV_MEMDBG_ADD(ptr, size);
  20146. | ^
  20147. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  20148. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  20149. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  20150. | ^~~~~~~~~~~~~
  20151. | d_is_dir
  20152. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  20153. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  20154. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  20155. | ^~~~~~~~~~~~~~~~~~~~~~~
  20156. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20157. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20158. 520 | NV_MEMDBG_ADD(ptr, size);
  20159. | ^
  20160. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  20161. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20162. 287 | ktime_get_raw_ts64(&tm);
  20163. | ^~~
  20164. | |
  20165. | struct timespec64 *
  20166. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20167. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20168. | ~~~~~~~~~~~~~~~~~~~^~
  20169. nvidia-uvm/uvm_linux.h: At top level:
  20170. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20171. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  20172. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20173. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20174. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  20175. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20176. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  20177. 449 | #error "Unknown number of arguments"
  20178. | ^~~~~
  20179. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20180. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  20181. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20182. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20183. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  20184. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20185. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  20186. 485 | #error "Unknown number of arguments"
  20187. | ^~~~~
  20188. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  20189. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  20190. 533 | ptr = ioremap_cache_shared(phys, size);
  20191. | ^~~~~~~~~~~~~~~~~~~~
  20192. | ioremap_cache
  20193. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20194. 533 | ptr = ioremap_cache_shared(phys, size);
  20195. | ^
  20196. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20197. 556 | NV_MEMDBG_ADD(ptr, size);
  20198. | ^
  20199. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  20200. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  20201. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  20202. | ^~~~~~~~~~~~~~~~~~~~~~~
  20203. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20204. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20205. 520 | NV_MEMDBG_ADD(ptr, size);
  20206. | ^
  20207. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  20208. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  20209. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20210. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  20211. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20212. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20213. | ^
  20214. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20215. 573 | NV_MEMDBG_ADD(ptr, size);
  20216. | ^
  20217. ././common/inc/nv-linux.h: In function 'nv_vmap':
  20218. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20219. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  20220. | ^
  20221. In file included from ././common/inc/nv-linux.h:34,
  20222. from nvidia-uvm/uvm_linux.h:40:
  20223. ././common/inc/nv-mm.h: At top level:
  20224. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  20225. 29 | typedef int vm_fault_t;
  20226. | ^~~~~~~~~~
  20227. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  20228. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  20229. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  20230. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  20231. from ././common/inc/nv-lock.h:35,
  20232. from ././common/inc/nv-linux.h:32:
  20233. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  20234. 1311 | typedef __bitwise unsigned int vm_fault_t;
  20235. | ^~~~~~~~~~
  20236. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  20237. from ././common/inc/nv-time.h:28:
  20238. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  20239. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  20240. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  20241. 52 | #define current get_current()
  20242. | ^~~~~~~~~~~~~
  20243. | |
  20244. | struct task_struct *
  20245. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  20246. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  20247. | ^~~~~~~
  20248. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20249. 502 | NV_MEMDBG_ADD(ptr, size);
  20250. | ^
  20251. In file included from ././common/inc/nv-pgprot.h:30,
  20252. from ././common/inc/nv-linux.h:33:
  20253. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  20254. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  20255. | ~~~~~~~~~~~~~~^~~~~
  20256. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  20257. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  20258. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  20259. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  20260. | ~~~~~~~~~~~~~~^~~~~~~~
  20261. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  20262. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  20263. | ^~~~~~~~
  20264. | |
  20265. | long unsigned int
  20266. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  20267. 2535 | unsigned int gup_flags, struct page **pages);
  20268. | ~~~~~~~~~~~~~~^~~~~
  20269. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  20270. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  20271. | ^~~~~~~~~~~~~~ ~~~~~
  20272. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  20273. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  20274. | ^~~~~~~~~~~~~~
  20275. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  20276. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  20277. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  20278. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  20279. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  20280. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  20281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  20282. 8 | #define NULL ((void *)0)
  20283. | ^~~~~~~~~~~
  20284. | |
  20285. | void *
  20286. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  20287. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  20288. | ^~~~
  20289. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  20290. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  20291. | ~~~~~~~~~~~~~~^~~~~
  20292. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  20293. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  20294. | ^~
  20295. | |
  20296. | struct mm_struct *
  20297. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  20298. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  20299. | ~~~~~~~~~~~~~~^~~~~~~~
  20300. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  20301. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  20302. | ^~~~~~~~
  20303. | |
  20304. | long unsigned int
  20305. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  20306. 2535 | unsigned int gup_flags, struct page **pages);
  20307. | ~~~~~~~~~~~~~~^~~~~
  20308. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  20309. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  20310. | ^~~~~~~~~~~~~~ ~~~~~
  20311. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  20312. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  20313. | ^~~~~~~~~~~~~~
  20314. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  20315. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  20316. 237 | return (unsigned long)(vmf->virtual_address);
  20317. | ^~~~~~~~~~~~~~~
  20318. | real_address
  20319. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  20320. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  20321. 246 | down_read(&mm->mmap_sem);
  20322. | ^~~~~~~~
  20323. | mmap_base
  20324. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  20325. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  20326. 255 | up_read(&mm->mmap_sem);
  20327. | ^~~~~~~~
  20328. | mmap_base
  20329. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  20330. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  20331. 264 | down_write(&mm->mmap_sem);
  20332. | ^~~~~~~~
  20333. | mmap_base
  20334. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  20335. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  20336. 273 | up_write(&mm->mmap_sem);
  20337. | ^~~~~~~~
  20338. | mmap_base
  20339. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  20340. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  20341. 282 | return rwsem_is_locked(&mm->mmap_sem);
  20342. | ^~~~~~~~
  20343. | mmap_base
  20344. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  20345. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  20346. 291 | return &mm->mmap_sem;
  20347. | ^~~~~~~~
  20348. | mmap_base
  20349. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  20350. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  20351. 300 | vma->vm_flags |= flags;
  20352. | ^~
  20353. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  20354. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  20355. 309 | vma->vm_flags &= ~flags;
  20356. | ^~
  20357. In file included from nvidia-uvm/uvm_api.h:31,
  20358. from nvidia-uvm/uvm_gpu_non_replayable_faults.c:25:
  20359. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  20360. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  20361. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  20362. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  20363. | ^~~~~~~~~~~~~~~~~~~~~~~
  20364. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20365. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20366. 520 | NV_MEMDBG_ADD(ptr, size);
  20367. | ^
  20368. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  20369. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  20370. | ^~~~~~~~~~~~~~~~~~~~
  20371. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  20372. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  20373. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20374. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  20375. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20376. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20377. | ^
  20378. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20379. 573 | NV_MEMDBG_ADD(ptr, size);
  20380. | ^
  20381. ././common/inc/nv-linux.h: In function 'nv_vmap':
  20382. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20383. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  20384. | ^
  20385. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  20386. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  20387. 736 | return phys_to_dma(dev, pa);
  20388. | ^~~~~~~~~~~
  20389. | nv_phys_to_dma
  20390. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  20391. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  20392. 736 | return phys_to_dma(dev, pa);
  20393. | ^~~~~~~~~~~
  20394. | nv_phys_to_dma
  20395. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  20396. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  20397. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20398. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  20399. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20400. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20401. | ^
  20402. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20403. 573 | NV_MEMDBG_ADD(ptr, size);
  20404. | ^
  20405. ././common/inc/nv-linux.h: In function 'nv_vmap':
  20406. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20407. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  20408. | ^
  20409. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  20410. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  20411. 533 | ptr = ioremap_cache_shared(phys, size);
  20412. | ^~~~~~~~~~~~~~~~~~~~
  20413. | ioremap_cache
  20414. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20415. 533 | ptr = ioremap_cache_shared(phys, size);
  20416. | ^
  20417. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20418. 556 | NV_MEMDBG_ADD(ptr, size);
  20419. | ^
  20420. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  20421. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  20422. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  20423. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  20424. | ^~~~~~~~~~~~~
  20425. | d_is_dir
  20426. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  20427. 736 | return phys_to_dma(dev, pa);
  20428. | ^~~~~~~~~~~
  20429. | nv_phys_to_dma
  20430. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  20431. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  20432. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  20433. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  20434. | ^~~~~~~~~~~~~
  20435. | d_is_dir
  20436. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  20437. 533 | ptr = ioremap_cache_shared(phys, size);
  20438. | ^~~~~~~~~~~~~~~~~~~~
  20439. | ioremap_cache
  20440. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20441. 533 | ptr = ioremap_cache_shared(phys, size);
  20442. | ^
  20443. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20444. 556 | NV_MEMDBG_ADD(ptr, size);
  20445. | ^
  20446. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  20447. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20448. 502 | NV_MEMDBG_ADD(ptr, size);
  20449. | ^
  20450. In file included from nvidia-uvm/uvm_range_group.h:30:
  20451. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  20452. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  20453. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  20454. | ^~~~~~~~~~~~~~~~~~~~
  20455. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  20456. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20457. 287 | ktime_get_raw_ts64(&tm);
  20458. | ^~~
  20459. | |
  20460. | struct timespec64 *
  20461. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  20462. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  20463. 533 | ptr = ioremap_cache_shared(phys, size);
  20464. | ^~~~~~~~~~~~~~~~~~~~
  20465. | ioremap_cache
  20466. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20467. 533 | ptr = ioremap_cache_shared(phys, size);
  20468. | ^
  20469. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20470. 556 | NV_MEMDBG_ADD(ptr, size);
  20471. | ^
  20472. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20473. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20474. | ~~~~~~~~~~~~~~~~~~~^~
  20475. nvidia-uvm/uvm_linux.h: At top level:
  20476. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20477. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  20478. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20479. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20480. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  20481. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20482. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  20483. 449 | #error "Unknown number of arguments"
  20484. | ^~~~~
  20485. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20486. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  20487. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20488. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20489. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  20490. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20491. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  20492. 485 | #error "Unknown number of arguments"
  20493. | ^~~~~
  20494. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  20495. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  20496. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20497. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  20498. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20499. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20500. | ^
  20501. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20502. 573 | NV_MEMDBG_ADD(ptr, size);
  20503. | ^
  20504. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  20505. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  20506. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  20507. | ^~~~~~~~~~~~~
  20508. | d_is_dir
  20509. ././common/inc/nv-linux.h: In function 'nv_vmap':
  20510. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20511. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  20512. | ^
  20513. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  20514. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  20515. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  20516. | ^~~~~~~~~~~~~~~~~~~~~~~
  20517. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20518. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20519. 520 | NV_MEMDBG_ADD(ptr, size);
  20520. | ^
  20521. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  20522. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20523. 287 | ktime_get_raw_ts64(&tm);
  20524. | ^~~
  20525. | |
  20526. | struct timespec64 *
  20527. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20528. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20529. | ~~~~~~~~~~~~~~~~~~~^~
  20530. nvidia-uvm/uvm_linux.h: At top level:
  20531. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20532. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  20533. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20534. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20535. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  20536. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20537. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  20538. 449 | #error "Unknown number of arguments"
  20539. | ^~~~~
  20540. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20541. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  20542. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20543. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20544. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  20545. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20546. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  20547. 485 | #error "Unknown number of arguments"
  20548. | ^~~~~
  20549. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  20550. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  20551. 736 | return phys_to_dma(dev, pa);
  20552. | ^~~~~~~~~~~
  20553. | nv_phys_to_dma
  20554. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  20555. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20556. 287 | ktime_get_raw_ts64(&tm);
  20557. | ^~~
  20558. | |
  20559. | struct timespec64 *
  20560. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20561. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20562. | ~~~~~~~~~~~~~~~~~~~^~
  20563. ././nvidia-uvm/uvm_linux.h: At top level:
  20564. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20565. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  20566. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20567. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20568. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  20569. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20570. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  20571. 449 | #error "Unknown number of arguments"
  20572. | ^~~~~
  20573. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20574. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  20575. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20576. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20577. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  20578. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20579. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  20580. 485 | #error "Unknown number of arguments"
  20581. | ^~~~~
  20582. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  20583. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  20584. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20585. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  20586. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20587. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20588. | ^
  20589. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20590. 573 | NV_MEMDBG_ADD(ptr, size);
  20591. | ^
  20592. ././common/inc/nv-linux.h: In function 'nv_vmap':
  20593. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20594. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  20595. | ^
  20596. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  20597. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20598. 502 | NV_MEMDBG_ADD(ptr, size);
  20599. | ^
  20600. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  20601. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  20602. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  20603. | ^~~~~~~~~~~~~
  20604. | d_is_dir
  20605. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  20606. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  20607. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  20608. | ^~~~~~~~~~~~~~~~~~~~~~~
  20609. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20610. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20611. 520 | NV_MEMDBG_ADD(ptr, size);
  20612. | ^
  20613. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  20614. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  20615. 533 | ptr = ioremap_cache_shared(phys, size);
  20616. | ^~~~~~~~~~~~~~~~~~~~
  20617. | ioremap_cache
  20618. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20619. 533 | ptr = ioremap_cache_shared(phys, size);
  20620. | ^
  20621. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20622. 556 | NV_MEMDBG_ADD(ptr, size);
  20623. | ^
  20624. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  20625. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  20626. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20627. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  20628. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20629. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20630. | ^
  20631. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20632. 573 | NV_MEMDBG_ADD(ptr, size);
  20633. | ^
  20634. ././common/inc/nv-linux.h: In function 'nv_vmap':
  20635. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20636. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  20637. | ^
  20638. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  20639. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  20640. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  20641. 736 | return phys_to_dma(dev, pa);
  20642. | ^~~~~~~~~~~
  20643. | nv_phys_to_dma
  20644. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  20645. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20646. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  20647. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20648. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20649. | ^
  20650. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20651. 573 | NV_MEMDBG_ADD(ptr, size);
  20652. | ^
  20653. ././common/inc/nv-linux.h: In function 'nv_vmap':
  20654. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20655. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  20656. | ^
  20657. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  20658. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  20659. 736 | return phys_to_dma(dev, pa);
  20660. | ^~~~~~~~~~~
  20661. | nv_phys_to_dma
  20662. cc1: some warnings being treated as errors
  20663. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  20664. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20665. 287 | ktime_get_raw_ts64(&tm);
  20666. | ^~~
  20667. | |
  20668. | struct timespec64 *
  20669. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20670. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20671. | ~~~~~~~~~~~~~~~~~~~^~
  20672. ././nvidia-uvm/uvm_linux.h: At top level:
  20673. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20674. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  20675. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20676. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20677. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  20678. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20679. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  20680. 449 | #error "Unknown number of arguments"
  20681. | ^~~~~
  20682. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20683. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  20684. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20685. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  20686. 40 | struct timespec64 {
  20687. | ^~~~~~~~~~
  20688. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  20689. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  20690. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  20691. from ././common/inc/nv-time.h:29:
  20692. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  20693. 13 | struct timespec64 {
  20694. | ^~~~~~~~~~
  20695. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  20696. 77 | static inline struct timespec64 timespec64_add
  20697. | ^~~~~~~~~~~~~~
  20698. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  20699. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  20700. | ^~~~~~~~~~~~~~
  20701. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  20702. 95 | static inline struct timespec64 timespec64_sub
  20703. | ^~~~~~~~~~~~~~
  20704. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  20705. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  20706. | ^~~~~~~~~~~~~~
  20707. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  20708. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  20709. | ^~~~~~~~~~~~~~~~
  20710. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  20711. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  20712. | ^~~~~~~~~~~~~~~~
  20713. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  20714. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20715. 122 | ktime_get_raw_ts64(&ts);
  20716. | ^~~
  20717. | |
  20718. | struct timespec64 *
  20719. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  20720. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  20721. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  20722. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  20723. from ././common/inc/nv-time.h:30:
  20724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20725. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20726. | ~~~~~~~~~~~~~~~~~~~^~
  20727. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  20728. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20729. 185 | ktime_get_raw_ts64(&tm_aux);
  20730. | ^~~~~~~
  20731. | |
  20732. | struct timespec64 *
  20733. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20734. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20735. | ~~~~~~~~~~~~~~~~~~~^~
  20736. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20737. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  20738. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20739. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  20740. 485 | #error "Unknown number of arguments"
  20741. | ^~~~~
  20742. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20743. 221 | ktime_get_raw_ts64(&tm_aux);
  20744. | ^~~~~~~
  20745. | |
  20746. | struct timespec64 *
  20747. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20748. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20749. | ~~~~~~~~~~~~~~~~~~~^~
  20750. 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
  20751. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  20752. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  20753. 736 | return phys_to_dma(dev, pa);
  20754. | ^~~~~~~~~~~
  20755. | nv_phys_to_dma
  20756. cc1: some warnings being treated as errors
  20757. In file included from nvidia-uvm/uvm_perf_events.h:31:
  20758. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  20759. CC [M] nvidia-uvm/uvm_maxwell_ce.o
  20760. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  20761. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  20762. | ^~~~~~~~~~~~~~~~~~~~
  20763. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_block.o] Error 1
  20764. CC [M] nvidia-uvm/uvm_maxwell_mmu.o
  20765. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  20766. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  20767. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  20768. | ^~~~~~~~~~~~~
  20769. | d_is_dir
  20770. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  20771. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  20772. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  20773. | ^~~~~~~~~~~~~
  20774. | d_is_dir
  20775. In file included from nvidia-uvm/uvm_perf_events.h:31,
  20776. from nvidia-uvm/uvm_perf_events.c:25:
  20777. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  20778. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  20779. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  20780. | ^~~~~~~~~~~~~~~~~~~~
  20781. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  20782. from nvidia-uvm/uvm_gpu.h:37,
  20783. from nvidia-uvm/uvm_global.h:32,
  20784. from nvidia-uvm/uvm_gpu_replayable_faults.c:28:
  20785. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  20786. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  20787. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  20788. | ^~~~~~~~~~~~~~~~~~~~
  20789. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  20790. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  20791. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  20792. | ^~~~~~~~~~~~~
  20793. | d_is_dir
  20794. In file included from ././common/inc/conftest.h:28,
  20795. from ././common/inc/nv-time.h:27,
  20796. from nvidia-uvm/uvm_linux.h:37,
  20797. from nvidia-uvm/uvm_common.h:43,
  20798. from nvidia-uvm/uvm_hal.h:28,
  20799. from nvidia-uvm/uvm_maxwell_ce.c:24:
  20800. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  20801. 74 | #error dma_buf_export() conftest failed!
  20802. | ^~~~~
  20803. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  20804. 87 | #error wait_on_bit_lock() conftest failed!
  20805. | ^~~~~
  20806. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  20807. 90 | #error radix_tree_replace_slot() conftest failed!
  20808. | ^~~~~
  20809. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  20810. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20811. 287 | ktime_get_raw_ts64(&tm);
  20812. | ^~~
  20813. | |
  20814. | struct timespec64 *
  20815. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20816. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20817. | ~~~~~~~~~~~~~~~~~~~^~
  20818. nvidia-uvm/uvm_linux.h: At top level:
  20819. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20820. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  20821. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20822. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20823. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  20824. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20825. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  20826. 449 | #error "Unknown number of arguments"
  20827. | ^~~~~
  20828. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20829. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  20830. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20831. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20832. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  20833. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20834. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  20835. 485 | #error "Unknown number of arguments"
  20836. | ^~~~~
  20837. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  20838. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20839. 287 | ktime_get_raw_ts64(&tm);
  20840. | ^~~
  20841. | |
  20842. | struct timespec64 *
  20843. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20844. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20845. | ~~~~~~~~~~~~~~~~~~~^~
  20846. nvidia-uvm/uvm_linux.h: At top level:
  20847. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20848. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  20849. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20850. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20851. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  20852. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20853. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  20854. 449 | #error "Unknown number of arguments"
  20855. | ^~~~~
  20856. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20857. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  20858. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20859. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20860. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  20861. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20862. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  20863. 485 | #error "Unknown number of arguments"
  20864. | ^~~~~
  20865. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  20866. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  20867. 533 | ptr = ioremap_cache_shared(phys, size);
  20868. | ^~~~~~~~~~~~~~~~~~~~
  20869. | ioremap_cache
  20870. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20871. 533 | ptr = ioremap_cache_shared(phys, size);
  20872. | ^
  20873. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20874. 556 | NV_MEMDBG_ADD(ptr, size);
  20875. | ^
  20876. In file included from ././common/inc/conftest.h:28,
  20877. from ././common/inc/nv-time.h:27,
  20878. from nvidia-uvm/uvm_linux.h:37,
  20879. from nvidia-uvm/uvm_gpu.h:31,
  20880. from nvidia-uvm/uvm_maxwell_mmu.c:39:
  20881. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  20882. 74 | #error dma_buf_export() conftest failed!
  20883. | ^~~~~
  20884. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  20885. 87 | #error wait_on_bit_lock() conftest failed!
  20886. | ^~~~~
  20887. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  20888. 90 | #error radix_tree_replace_slot() conftest failed!
  20889. | ^~~~~
  20890. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  20891. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  20892. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  20893. | ^~~~~~~~~~~~~~~~~~~~~~~
  20894. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20895. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20896. 520 | NV_MEMDBG_ADD(ptr, size);
  20897. | ^
  20898. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  20899. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  20900. 287 | ktime_get_raw_ts64(&tm);
  20901. | ^~~
  20902. | |
  20903. | struct timespec64 *
  20904. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  20905. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  20906. | ~~~~~~~~~~~~~~~~~~~^~
  20907. nvidia-uvm/uvm_linux.h: At top level:
  20908. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20909. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  20910. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20911. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20912. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  20913. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20914. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  20915. 449 | #error "Unknown number of arguments"
  20916. | ^~~~~
  20917. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20918. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  20919. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20920. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  20921. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  20922. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20923. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  20924. 485 | #error "Unknown number of arguments"
  20925. | ^~~~~
  20926. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  20927. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  20928. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20929. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  20930. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  20931. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  20932. | ^
  20933. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20934. 573 | NV_MEMDBG_ADD(ptr, size);
  20935. | ^
  20936. In file included from ././common/inc/nv-linux.h:34,
  20937. from nvidia-uvm/uvm_linux.h:40:
  20938. ././common/inc/nv-mm.h: At top level:
  20939. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  20940. 29 | typedef int vm_fault_t;
  20941. | ^~~~~~~~~~
  20942. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  20943. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  20944. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  20945. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  20946. from ././common/inc/nv-lock.h:35,
  20947. from ././common/inc/nv-linux.h:32:
  20948. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  20949. 1311 | typedef __bitwise unsigned int vm_fault_t;
  20950. | ^~~~~~~~~~
  20951. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  20952. from ././common/inc/nv-time.h:28:
  20953. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  20954. ././common/inc/nv-linux.h: In function 'nv_vmap':
  20955. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  20956. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  20957. | ^
  20958. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  20959. 52 | #define current get_current()
  20960. | ^~~~~~~~~~~~~
  20961. | |
  20962. | struct task_struct *
  20963. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  20964. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  20965. | ^~~~~~~
  20966. In file included from ././common/inc/nv-pgprot.h:30,
  20967. from ././common/inc/nv-linux.h:33:
  20968. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  20969. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  20970. | ~~~~~~~~~~~~~~^~~~~
  20971. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  20972. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  20973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  20974. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  20975. | ~~~~~~~~~~~~~~^~~~~~~~
  20976. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  20977. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  20978. | ^~~~~~~~
  20979. | |
  20980. | long unsigned int
  20981. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  20982. 2535 | unsigned int gup_flags, struct page **pages);
  20983. | ~~~~~~~~~~~~~~^~~~~
  20984. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  20985. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  20986. | ^~~~~~~~~~~~~~ ~~~~~
  20987. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  20988. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  20989. | ^~~~~~~~~~~~~~
  20990. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  20991. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  20992. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  20993. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  20994. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  20995. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  20996. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  20997. 8 | #define NULL ((void *)0)
  20998. | ^~~~~~~~~~~
  20999. | |
  21000. | void *
  21001. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  21002. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  21003. | ^~~~
  21004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  21005. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  21006. | ~~~~~~~~~~~~~~^~~~~
  21007. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  21008. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  21009. | ^~
  21010. | |
  21011. | struct mm_struct *
  21012. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  21013. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  21014. | ~~~~~~~~~~~~~~^~~~~~~~
  21015. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  21016. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  21017. | ^~~~~~~~
  21018. | |
  21019. | long unsigned int
  21020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  21021. 2535 | unsigned int gup_flags, struct page **pages);
  21022. | ~~~~~~~~~~~~~~^~~~~
  21023. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  21024. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  21025. | ^~~~~~~~~~~~~~ ~~~~~
  21026. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  21027. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  21028. | ^~~~~~~~~~~~~~
  21029. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  21030. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  21031. 237 | return (unsigned long)(vmf->virtual_address);
  21032. | ^~~~~~~~~~~~~~~
  21033. | real_address
  21034. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  21035. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21036. 246 | down_read(&mm->mmap_sem);
  21037. | ^~~~~~~~
  21038. | mmap_base
  21039. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  21040. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21041. 255 | up_read(&mm->mmap_sem);
  21042. | ^~~~~~~~
  21043. | mmap_base
  21044. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  21045. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21046. 264 | down_write(&mm->mmap_sem);
  21047. | ^~~~~~~~
  21048. | mmap_base
  21049. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  21050. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21051. 273 | up_write(&mm->mmap_sem);
  21052. | ^~~~~~~~
  21053. | mmap_base
  21054. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  21055. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21056. 282 | return rwsem_is_locked(&mm->mmap_sem);
  21057. | ^~~~~~~~
  21058. | mmap_base
  21059. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  21060. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21061. 291 | return &mm->mmap_sem;
  21062. | ^~~~~~~~
  21063. | mmap_base
  21064. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  21065. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  21066. 300 | vma->vm_flags |= flags;
  21067. | ^~
  21068. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  21069. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  21070. 309 | vma->vm_flags &= ~flags;
  21071. | ^~
  21072. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  21073. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  21074. 736 | return phys_to_dma(dev, pa);
  21075. | ^~~~~~~~~~~
  21076. | nv_phys_to_dma
  21077. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  21078. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21079. 502 | NV_MEMDBG_ADD(ptr, size);
  21080. | ^
  21081. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  21082. from nvidia-uvm/uvm_gpu.h:37,
  21083. from nvidia-uvm/uvm_global.h:32,
  21084. from nvidia-uvm/uvm_gpu_access_counters.c:26:
  21085. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  21086. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  21087. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  21088. | ^~~~~~~~~~~~~~~~~~~~
  21089. cc1: some warnings being treated as errors
  21090. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  21091. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  21092. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  21093. | ^~~~~~~~~~~~~
  21094. | d_is_dir
  21095. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_group.o] Error 1
  21096. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  21097. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  21098. 533 | ptr = ioremap_cache_shared(phys, size);
  21099. | ^~~~~~~~~~~~~~~~~~~~
  21100. | ioremap_cache
  21101. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  21102. 533 | ptr = ioremap_cache_shared(phys, size);
  21103. | ^
  21104. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21105. 556 | NV_MEMDBG_ADD(ptr, size);
  21106. | ^
  21107. CC [M] nvidia-uvm/uvm_maxwell_fault_buffer.o
  21108. cc1: some warnings being treated as errors
  21109. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  21110. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  21111. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  21112. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  21113. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  21114. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  21115. | ^
  21116. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21117. 573 | NV_MEMDBG_ADD(ptr, size);
  21118. | ^
  21119. ././common/inc/nv-linux.h: In function 'nv_vmap':
  21120. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21121. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  21122. | ^
  21123. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_module.o] Error 1
  21124. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  21125. from nvidia-uvm/uvm_gpu.h:37,
  21126. from nvidia-uvm/uvm_mmu.c:27:
  21127. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  21128. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  21129. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  21130. | ^~~~~~~~~~~~~~~~~~~~
  21131. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  21132. from nvidia-uvm/uvm_channel.h:29,
  21133. from nvidia-uvm/uvm_push.h:29,
  21134. from nvidia-uvm/uvm_push.c:26:
  21135. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  21136. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  21137. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  21138. | ^~~~~~~~~~~~~~~~~~~~
  21139. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  21140. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21141. 287 | ktime_get_raw_ts64(&tm);
  21142. | ^~~
  21143. | |
  21144. | struct timespec64 *
  21145. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21146. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21147. | ~~~~~~~~~~~~~~~~~~~^~
  21148. nvidia-uvm/uvm_linux.h: At top level:
  21149. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21150. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  21151. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21152. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21153. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  21154. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21155. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  21156. 449 | #error "Unknown number of arguments"
  21157. | ^~~~~
  21158. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21159. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  21160. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21161. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21162. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  21163. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21164. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  21165. 485 | #error "Unknown number of arguments"
  21166. | ^~~~~
  21167. CC [M] nvidia-uvm/uvm_maxwell_access_counter_buffer.o
  21168. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  21169. from nvidia-uvm/uvm_channel.h:29,
  21170. from nvidia-uvm/uvm_push.h:29,
  21171. from nvidia-uvm/uvm_hal.h:31,
  21172. from nvidia-uvm/uvm_tlb_batch.c:25:
  21173. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  21174. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  21175. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  21176. | ^~~~~~~~~~~~~~~~~~~~
  21177. In file included from ././common/inc/conftest.h:28,
  21178. from ././common/inc/nv-time.h:27,
  21179. from nvidia-uvm/uvm_linux.h:37,
  21180. from nvidia-uvm/uvm_gpu.h:31,
  21181. from nvidia-uvm/uvm_maxwell_fault_buffer.c:24:
  21182. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21183. 74 | #error dma_buf_export() conftest failed!
  21184. | ^~~~~
  21185. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21186. 87 | #error wait_on_bit_lock() conftest failed!
  21187. | ^~~~~
  21188. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21189. 90 | #error radix_tree_replace_slot() conftest failed!
  21190. | ^~~~~
  21191. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  21192. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  21193. 736 | return phys_to_dma(dev, pa);
  21194. | ^~~~~~~~~~~
  21195. | nv_phys_to_dma
  21196. cc1: some warnings being treated as errors
  21197. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_events.o] Error 1
  21198. CC [M] nvidia-uvm/uvm_pascal.o
  21199. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  21200. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  21201. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  21202. | ^~~~~~~~~~~~~~~~~~~~~~~
  21203. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  21204. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21205. 520 | NV_MEMDBG_ADD(ptr, size);
  21206. | ^
  21207. In file included from ././common/inc/conftest.h:28,
  21208. from ././common/inc/nv-time.h:27,
  21209. from nvidia-uvm/uvm_linux.h:37,
  21210. from nvidia-uvm/uvm_gpu.h:31,
  21211. from nvidia-uvm/uvm_maxwell_access_counter_buffer.c:24:
  21212. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21213. 74 | #error dma_buf_export() conftest failed!
  21214. | ^~~~~
  21215. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21216. 87 | #error wait_on_bit_lock() conftest failed!
  21217. | ^~~~~
  21218. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21219. 90 | #error radix_tree_replace_slot() conftest failed!
  21220. | ^~~~~
  21221. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  21222. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  21223. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  21224. | ^~~~~~~~~~~~~
  21225. | d_is_dir
  21226. In file included from ././common/inc/conftest.h:28,
  21227. from ././common/inc/nv-time.h:27,
  21228. from nvidia-uvm/uvm_linux.h:37,
  21229. from nvidia-uvm/uvm_common.h:43,
  21230. from nvidia-uvm/uvm_hal.h:28,
  21231. from nvidia-uvm/uvm_pascal.c:24:
  21232. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21233. 74 | #error dma_buf_export() conftest failed!
  21234. | ^~~~~
  21235. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21236. 87 | #error wait_on_bit_lock() conftest failed!
  21237. | ^~~~~
  21238. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21239. 90 | #error radix_tree_replace_slot() conftest failed!
  21240. | ^~~~~
  21241. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  21242. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  21243. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  21244. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  21245. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  21246. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  21247. | ^
  21248. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21249. 573 | NV_MEMDBG_ADD(ptr, size);
  21250. | ^
  21251. ././common/inc/nv-linux.h: In function 'nv_vmap':
  21252. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21253. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  21254. | ^
  21255. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  21256. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21257. 287 | ktime_get_raw_ts64(&tm);
  21258. | ^~~
  21259. | |
  21260. | struct timespec64 *
  21261. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21262. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21263. | ~~~~~~~~~~~~~~~~~~~^~
  21264. nvidia-uvm/uvm_linux.h: At top level:
  21265. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21266. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  21267. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21268. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21269. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  21270. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21271. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  21272. 449 | #error "Unknown number of arguments"
  21273. | ^~~~~
  21274. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21275. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  21276. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21277. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21278. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  21279. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21280. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  21281. 485 | #error "Unknown number of arguments"
  21282. | ^~~~~
  21283. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  21284. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  21285. 736 | return phys_to_dma(dev, pa);
  21286. | ^~~~~~~~~~~
  21287. | nv_phys_to_dma
  21288. In file included from nvidia-uvm/uvm_api.h:31:
  21289. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  21290. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  21291. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  21292. | ^~~~~~~~~~~~~~~~~~~~
  21293. cc1: some warnings being treated as errors
  21294. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  21295. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  21296. 533 | ptr = ioremap_cache_shared(phys, size);
  21297. | ^~~~~~~~~~~~~~~~~~~~
  21298. | ioremap_cache
  21299. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  21300. 533 | ptr = ioremap_cache_shared(phys, size);
  21301. | ^
  21302. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21303. 556 | NV_MEMDBG_ADD(ptr, size);
  21304. | ^
  21305. cc1: some warnings being treated as errors
  21306. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_push.o] Error 1
  21307. cc1: some warnings being treated as errors
  21308. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tlb_batch.o] Error 1
  21309. CC [M] nvidia-uvm/uvm_pascal_ce.o
  21310. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  21311. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  21312. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  21313. | ^~~~~~~~~~~~~
  21314. | d_is_dir
  21315. CC [M] nvidia-uvm/uvm_pascal_host.o
  21316. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_replayable_faults.o] Error 1
  21317. CC [M] nvidia-uvm/uvm_pascal_mmu.o
  21318. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  21319. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21320. 287 | ktime_get_raw_ts64(&tm);
  21321. | ^~~
  21322. | |
  21323. | struct timespec64 *
  21324. In file included from ././common/inc/conftest.h:28,
  21325. from ././common/inc/nv-time.h:27,
  21326. from nvidia-uvm/uvm_linux.h:37,
  21327. from nvidia-uvm/uvm_common.h:43,
  21328. from nvidia-uvm/uvm_hal.h:28,
  21329. from nvidia-uvm/uvm_pascal_ce.c:24:
  21330. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21331. 74 | #error dma_buf_export() conftest failed!
  21332. | ^~~~~
  21333. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21334. 87 | #error wait_on_bit_lock() conftest failed!
  21335. | ^~~~~
  21336. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21337. 90 | #error radix_tree_replace_slot() conftest failed!
  21338. | ^~~~~
  21339. cc1: some warnings being treated as errors
  21340. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21341. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21342. | ~~~~~~~~~~~~~~~~~~~^~
  21343. In file included from ././common/inc/conftest.h:28,
  21344. from ././common/inc/nv-time.h:27,
  21345. from nvidia-uvm/uvm_linux.h:37,
  21346. from nvidia-uvm/uvm_pascal_host.c:24:
  21347. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21348. 74 | #error dma_buf_export() conftest failed!
  21349. | ^~~~~
  21350. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21351. 87 | #error wait_on_bit_lock() conftest failed!
  21352. | ^~~~~
  21353. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21354. 90 | #error radix_tree_replace_slot() conftest failed!
  21355. | ^~~~~
  21356. nvidia-uvm/uvm_linux.h: At top level:
  21357. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21358. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  21359. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21360. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21361. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  21362. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21363. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  21364. 449 | #error "Unknown number of arguments"
  21365. | ^~~~~
  21366. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21367. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  21368. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21369. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21370. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  21371. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21372. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  21373. 485 | #error "Unknown number of arguments"
  21374. | ^~~~~
  21375. nvidia-uvm/uvm_mmu.c: At top level:
  21376. nvidia-uvm/uvm_mmu.c:2290:11: warning: no previous prototype for 'create_static_vidmem_mapping' [-Wmissing-prototypes]
  21377. 2290 | NV_STATUS create_static_vidmem_mapping(uvm_gpu_t *gpu)
  21378. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21379. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_access_counters.o] Error 1
  21380. In file included from ././common/inc/conftest.h:28,
  21381. from ././common/inc/nv-time.h:27,
  21382. from nvidia-uvm/uvm_linux.h:37,
  21383. from nvidia-uvm/uvm_extern_decl.h:27,
  21384. from nvidia-uvm/uvm_global.h:28,
  21385. from nvidia-uvm/uvm_pascal_mmu.c:36:
  21386. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21387. 74 | #error dma_buf_export() conftest failed!
  21388. | ^~~~~
  21389. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21390. 87 | #error wait_on_bit_lock() conftest failed!
  21391. | ^~~~~
  21392. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21393. 90 | #error radix_tree_replace_slot() conftest failed!
  21394. | ^~~~~
  21395. CC [M] nvidia-uvm/uvm_pascal_fault_buffer.o
  21396. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  21397. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21398. 502 | NV_MEMDBG_ADD(ptr, size);
  21399. | ^
  21400. In file included from ././common/inc/conftest.h:28,
  21401. from ././common/inc/nv-time.h:27,
  21402. from nvidia-uvm/uvm_linux.h:37,
  21403. from nvidia-uvm/uvm_pascal_fault_buffer.c:24:
  21404. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21405. 74 | #error dma_buf_export() conftest failed!
  21406. | ^~~~~
  21407. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21408. 87 | #error wait_on_bit_lock() conftest failed!
  21409. | ^~~~~
  21410. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21411. 90 | #error radix_tree_replace_slot() conftest failed!
  21412. | ^~~~~
  21413. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  21414. 40 | struct timespec64 {
  21415. | ^~~~~~~~~~
  21416. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  21417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  21418. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  21419. from ././common/inc/nv-time.h:29:
  21420. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  21421. 13 | struct timespec64 {
  21422. | ^~~~~~~~~~
  21423. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21424. 77 | static inline struct timespec64 timespec64_add
  21425. | ^~~~~~~~~~~~~~
  21426. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21427. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  21428. | ^~~~~~~~~~~~~~
  21429. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21430. 95 | static inline struct timespec64 timespec64_sub
  21431. | ^~~~~~~~~~~~~~
  21432. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21433. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  21434. | ^~~~~~~~~~~~~~
  21435. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  21436. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  21437. | ^~~~~~~~~~~~~~~~
  21438. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  21439. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  21440. | ^~~~~~~~~~~~~~~~
  21441. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  21442. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21443. 122 | ktime_get_raw_ts64(&ts);
  21444. | ^~~
  21445. | |
  21446. | struct timespec64 *
  21447. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  21448. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  21449. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  21450. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  21451. from ././common/inc/nv-time.h:30:
  21452. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21453. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21454. | ~~~~~~~~~~~~~~~~~~~^~
  21455. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  21456. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21457. 185 | ktime_get_raw_ts64(&tm_aux);
  21458. | ^~~~~~~
  21459. | |
  21460. | struct timespec64 *
  21461. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21462. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21463. | ~~~~~~~~~~~~~~~~~~~^~
  21464. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21465. 221 | ktime_get_raw_ts64(&tm_aux);
  21466. | ^~~~~~~
  21467. | |
  21468. | struct timespec64 *
  21469. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21470. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21471. | ~~~~~~~~~~~~~~~~~~~^~
  21472. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  21473. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  21474. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  21475. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  21476. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  21477. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  21478. | ^
  21479. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21480. 573 | NV_MEMDBG_ADD(ptr, size);
  21481. | ^
  21482. ././common/inc/nv-linux.h: In function 'nv_vmap':
  21483. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21484. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  21485. | ^
  21486. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  21487. from nvidia-uvm/uvm_channel.h:29,
  21488. from nvidia-uvm/uvm_push.h:29,
  21489. from nvidia-uvm/uvm_pte_batch.h:29:
  21490. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  21491. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  21492. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  21493. | ^~~~~~~~~~~~~~~~~~~~
  21494. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  21495. 40 | struct timespec64 {
  21496. | ^~~~~~~~~~
  21497. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  21498. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  21499. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  21500. from ././common/inc/nv-time.h:29:
  21501. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  21502. 13 | struct timespec64 {
  21503. | ^~~~~~~~~~
  21504. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21505. 77 | static inline struct timespec64 timespec64_add
  21506. | ^~~~~~~~~~~~~~
  21507. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21508. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  21509. | ^~~~~~~~~~~~~~
  21510. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21511. 95 | static inline struct timespec64 timespec64_sub
  21512. | ^~~~~~~~~~~~~~
  21513. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21514. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  21515. | ^~~~~~~~~~~~~~
  21516. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  21517. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  21518. | ^~~~~~~~~~~~~~~~
  21519. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  21520. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  21521. | ^~~~~~~~~~~~~~~~
  21522. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  21523. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  21524. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21525. 122 | ktime_get_raw_ts64(&ts);
  21526. | ^~~
  21527. | |
  21528. | struct timespec64 *
  21529. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  21530. 736 | return phys_to_dma(dev, pa);
  21531. | ^~~~~~~~~~~
  21532. | nv_phys_to_dma
  21533. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  21534. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  21535. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  21536. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  21537. from ././common/inc/nv-time.h:30:
  21538. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21539. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21540. | ~~~~~~~~~~~~~~~~~~~^~
  21541. In file included from ././common/inc/nv-procfs.h:26,
  21542. from nvidia-uvm/uvm_procfs.h:30,
  21543. from nvidia-uvm/uvm_pushbuffer.c:29:
  21544. nvidia-uvm/uvm_pushbuffer.c: In function 'create_procfs':
  21545. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  21546. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21547. 185 | ktime_get_raw_ts64(&tm_aux);
  21548. | ^~~~~~~
  21549. | |
  21550. | struct timespec64 *
  21551. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21552. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21553. | ~~~~~~~~~~~~~~~~~~~^~
  21554. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  21555. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  21556. | ^~~~
  21557. | |
  21558. | const nv_proc_ops_t * {aka const struct file_operations *}
  21559. nvidia-uvm/uvm_pushbuffer.c:69:36: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  21560. 69 | pushbuffer->procfs.info_file = NV_CREATE_PROC_FILE("pushbuffer",
  21561. | ^~~~~~~~~~~~~~~~~~~
  21562. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  21563. from ././common/inc/nv-linux.h:220:
  21564. /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 *'}
  21565. 111 | const struct proc_ops *,
  21566. | ^~~~~~~~~~~~~~~~~~~~~~~
  21567. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21568. 221 | ktime_get_raw_ts64(&tm_aux);
  21569. | ^~~~~~~
  21570. | |
  21571. | struct timespec64 *
  21572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21573. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21574. | ~~~~~~~~~~~~~~~~~~~^~
  21575. In file included from ././common/inc/nv-linux.h:34,
  21576. from nvidia-uvm/uvm_linux.h:40:
  21577. ././common/inc/nv-mm.h: At top level:
  21578. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  21579. 29 | typedef int vm_fault_t;
  21580. | ^~~~~~~~~~
  21581. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  21582. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  21583. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  21584. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  21585. from ././common/inc/nv-lock.h:35,
  21586. from ././common/inc/nv-linux.h:32:
  21587. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  21588. 1311 | typedef __bitwise unsigned int vm_fault_t;
  21589. | ^~~~~~~~~~
  21590. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  21591. from ././common/inc/nv-time.h:28:
  21592. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  21593. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  21594. 52 | #define current get_current()
  21595. | ^~~~~~~~~~~~~
  21596. | |
  21597. | struct task_struct *
  21598. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  21599. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  21600. | ^~~~~~~
  21601. In file included from ././common/inc/nv-pgprot.h:30,
  21602. from ././common/inc/nv-linux.h:33:
  21603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  21604. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  21605. | ~~~~~~~~~~~~~~^~~~~
  21606. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  21607. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  21608. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  21609. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  21610. | ~~~~~~~~~~~~~~^~~~~~~~
  21611. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  21612. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  21613. | ^~~~~~~~
  21614. | |
  21615. | long unsigned int
  21616. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  21617. 2535 | unsigned int gup_flags, struct page **pages);
  21618. | ~~~~~~~~~~~~~~^~~~~
  21619. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  21620. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  21621. | ^~~~~~~~~~~~~~ ~~~~~
  21622. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  21623. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  21624. | ^~~~~~~~~~~~~~
  21625. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  21626. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  21627. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  21628. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  21629. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  21630. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  21631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  21632. 8 | #define NULL ((void *)0)
  21633. | ^~~~~~~~~~~
  21634. | |
  21635. | void *
  21636. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  21637. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  21638. | ^~~~
  21639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  21640. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  21641. | ~~~~~~~~~~~~~~^~~~~
  21642. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  21643. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  21644. | ^~
  21645. | |
  21646. | struct mm_struct *
  21647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  21648. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  21649. | ~~~~~~~~~~~~~~^~~~~~~~
  21650. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  21651. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  21652. | ^~~~~~~~
  21653. | |
  21654. | long unsigned int
  21655. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  21656. 2535 | unsigned int gup_flags, struct page **pages);
  21657. | ~~~~~~~~~~~~~~^~~~~
  21658. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  21659. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  21660. | ^~~~~~~~~~~~~~ ~~~~~
  21661. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  21662. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  21663. | ^~~~~~~~~~~~~~
  21664. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  21665. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  21666. 237 | return (unsigned long)(vmf->virtual_address);
  21667. | ^~~~~~~~~~~~~~~
  21668. | real_address
  21669. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  21670. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21671. 246 | down_read(&mm->mmap_sem);
  21672. | ^~~~~~~~
  21673. | mmap_base
  21674. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  21675. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21676. 255 | up_read(&mm->mmap_sem);
  21677. | ^~~~~~~~
  21678. | mmap_base
  21679. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  21680. cc1: some warnings being treated as errors
  21681. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21682. 264 | down_write(&mm->mmap_sem);
  21683. | ^~~~~~~~
  21684. | mmap_base
  21685. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  21686. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21687. 273 | up_write(&mm->mmap_sem);
  21688. | ^~~~~~~~
  21689. | mmap_base
  21690. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  21691. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21692. 282 | return rwsem_is_locked(&mm->mmap_sem);
  21693. | ^~~~~~~~
  21694. | mmap_base
  21695. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  21696. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  21697. 291 | return &mm->mmap_sem;
  21698. | ^~~~~~~~
  21699. | mmap_base
  21700. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  21701. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  21702. 300 | vma->vm_flags |= flags;
  21703. | ^~
  21704. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  21705. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  21706. 309 | vma->vm_flags &= ~flags;
  21707. | ^~
  21708. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  21709. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  21710. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  21711. | ^~~~~~~~~~~~~~~~~~~~
  21712. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mmu.o] Error 1
  21713. CC [M] nvidia-uvm/uvm_volta_ce.o
  21714. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  21715. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  21716. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  21717. | ^~~~~~~~~~~~~~~~~~~~~~~
  21718. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  21719. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21720. 520 | NV_MEMDBG_ADD(ptr, size);
  21721. | ^
  21722. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  21723. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  21724. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  21725. | ^~~~~~~~~~~~~
  21726. | d_is_dir
  21727. cc1: some warnings being treated as errors
  21728. In file included from ././common/inc/conftest.h:28,
  21729. from ././common/inc/nv-time.h:27,
  21730. from nvidia-uvm/uvm_linux.h:37,
  21731. from nvidia-uvm/uvm_common.h:43,
  21732. from nvidia-uvm/uvm_hal.h:28,
  21733. from nvidia-uvm/uvm_volta_ce.c:24:
  21734. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21735. 74 | #error dma_buf_export() conftest failed!
  21736. | ^~~~~
  21737. cc1: some warnings being treated as errors
  21738. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21739. 87 | #error wait_on_bit_lock() conftest failed!
  21740. | ^~~~~
  21741. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21742. 90 | #error radix_tree_replace_slot() conftest failed!
  21743. | ^~~~~
  21744. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_thread_context.o] Error 1
  21745. CC [M] nvidia-uvm/uvm_volta_host.o
  21746. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  21747. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21748. 287 | ktime_get_raw_ts64(&tm);
  21749. | ^~~
  21750. | |
  21751. | struct timespec64 *
  21752. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21753. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21754. | ~~~~~~~~~~~~~~~~~~~^~
  21755. nvidia-uvm/uvm_linux.h: At top level:
  21756. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21757. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  21758. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21759. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21760. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  21761. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21762. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pushbuffer.o] Error 1
  21763. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  21764. 449 | #error "Unknown number of arguments"
  21765. | ^~~~~
  21766. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21767. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  21768. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21769. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  21770. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  21771. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  21772. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  21773. 485 | #error "Unknown number of arguments"
  21774. | ^~~~~
  21775. CC [M] nvidia-uvm/uvm_volta_mmu.o
  21776. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  21777. 40 | struct timespec64 {
  21778. | ^~~~~~~~~~
  21779. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  21780. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  21781. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  21782. from ././common/inc/nv-time.h:29:
  21783. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  21784. 13 | struct timespec64 {
  21785. | ^~~~~~~~~~
  21786. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21787. 77 | static inline struct timespec64 timespec64_add
  21788. | ^~~~~~~~~~~~~~
  21789. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21790. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  21791. | ^~~~~~~~~~~~~~
  21792. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21793. 95 | static inline struct timespec64 timespec64_sub
  21794. | ^~~~~~~~~~~~~~
  21795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21796. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  21797. | ^~~~~~~~~~~~~~
  21798. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  21799. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  21800. | ^~~~~~~~~~~~~~~~
  21801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  21802. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  21803. | ^~~~~~~~~~~~~~~~
  21804. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  21805. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21806. 122 | ktime_get_raw_ts64(&ts);
  21807. | ^~~
  21808. | |
  21809. | struct timespec64 *
  21810. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  21811. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  21812. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  21813. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  21814. from ././common/inc/nv-time.h:30:
  21815. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21816. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21817. | ~~~~~~~~~~~~~~~~~~~^~
  21818. In file included from ././common/inc/conftest.h:28,
  21819. from ././common/inc/nv-time.h:27,
  21820. from nvidia-uvm/uvm_linux.h:37,
  21821. from nvidia-uvm/uvm_volta_host.c:24:
  21822. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21823. 74 | #error dma_buf_export() conftest failed!
  21824. | ^~~~~
  21825. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  21826. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21827. 87 | #error wait_on_bit_lock() conftest failed!
  21828. | ^~~~~
  21829. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21830. 90 | #error radix_tree_replace_slot() conftest failed!
  21831. | ^~~~~
  21832. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21833. 185 | ktime_get_raw_ts64(&tm_aux);
  21834. | ^~~~~~~
  21835. | |
  21836. | struct timespec64 *
  21837. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21838. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21839. | ~~~~~~~~~~~~~~~~~~~^~
  21840. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21841. 221 | ktime_get_raw_ts64(&tm_aux);
  21842. | ^~~~~~~
  21843. | |
  21844. | struct timespec64 *
  21845. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21846. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21847. | ~~~~~~~~~~~~~~~~~~~^~
  21848. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  21849. 40 | struct timespec64 {
  21850. | ^~~~~~~~~~
  21851. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  21852. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  21853. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  21854. from ././common/inc/nv-time.h:29:
  21855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  21856. 13 | struct timespec64 {
  21857. | ^~~~~~~~~~
  21858. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21859. 77 | static inline struct timespec64 timespec64_add
  21860. | ^~~~~~~~~~~~~~
  21861. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21862. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  21863. | ^~~~~~~~~~~~~~
  21864. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21865. 95 | static inline struct timespec64 timespec64_sub
  21866. | ^~~~~~~~~~~~~~
  21867. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21868. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  21869. | ^~~~~~~~~~~~~~
  21870. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  21871. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  21872. | ^~~~~~~~~~~~~~~~
  21873. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  21874. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  21875. | ^~~~~~~~~~~~~~~~
  21876. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  21877. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21878. 122 | ktime_get_raw_ts64(&ts);
  21879. | ^~~
  21880. | |
  21881. | struct timespec64 *
  21882. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  21883. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  21884. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  21885. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  21886. from ././common/inc/nv-time.h:30:
  21887. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21888. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21889. | ~~~~~~~~~~~~~~~~~~~^~
  21890. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  21891. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21892. 185 | ktime_get_raw_ts64(&tm_aux);
  21893. | ^~~~~~~
  21894. | |
  21895. | struct timespec64 *
  21896. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21897. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21898. | ~~~~~~~~~~~~~~~~~~~^~
  21899. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21900. 221 | ktime_get_raw_ts64(&tm_aux);
  21901. | ^~~~~~~
  21902. | |
  21903. | struct timespec64 *
  21904. cc1: some warnings being treated as errors
  21905. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21906. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21907. | ~~~~~~~~~~~~~~~~~~~^~
  21908. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  21909. 40 | struct timespec64 {
  21910. | ^~~~~~~~~~
  21911. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  21912. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  21913. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  21914. from ././common/inc/nv-time.h:29:
  21915. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  21916. 13 | struct timespec64 {
  21917. | ^~~~~~~~~~
  21918. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21919. 77 | static inline struct timespec64 timespec64_add
  21920. | ^~~~~~~~~~~~~~
  21921. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21922. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  21923. | ^~~~~~~~~~~~~~
  21924. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  21925. 95 | static inline struct timespec64 timespec64_sub
  21926. | ^~~~~~~~~~~~~~
  21927. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  21928. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  21929. | ^~~~~~~~~~~~~~
  21930. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  21931. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  21932. | ^~~~~~~~~~~~~~~~
  21933. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  21934. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  21935. | ^~~~~~~~~~~~~~~~
  21936. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  21937. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21938. 122 | ktime_get_raw_ts64(&ts);
  21939. | ^~~
  21940. | |
  21941. | struct timespec64 *
  21942. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  21943. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  21944. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  21945. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  21946. from ././common/inc/nv-time.h:30:
  21947. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21948. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21949. | ~~~~~~~~~~~~~~~~~~~^~
  21950. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  21951. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21952. 185 | ktime_get_raw_ts64(&tm_aux);
  21953. | ^~~~~~~
  21954. | |
  21955. | struct timespec64 *
  21956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21957. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21958. | ~~~~~~~~~~~~~~~~~~~^~
  21959. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  21960. 221 | ktime_get_raw_ts64(&tm_aux);
  21961. | ^~~~~~~
  21962. | |
  21963. | struct timespec64 *
  21964. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  21965. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  21966. | ~~~~~~~~~~~~~~~~~~~^~
  21967. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pte_batch.o] Error 1
  21968. In file included from ././common/inc/conftest.h:28,
  21969. from ././common/inc/nv-time.h:27,
  21970. from nvidia-uvm/uvm_linux.h:37,
  21971. from nvidia-uvm/uvm_extern_decl.h:27,
  21972. from nvidia-uvm/uvm_global.h:28,
  21973. from nvidia-uvm/uvm_volta_mmu.c:26:
  21974. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  21975. 74 | #error dma_buf_export() conftest failed!
  21976. | ^~~~~
  21977. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  21978. 87 | #error wait_on_bit_lock() conftest failed!
  21979. | ^~~~~
  21980. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  21981. 90 | #error radix_tree_replace_slot() conftest failed!
  21982. | ^~~~~
  21983. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  21984. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  21985. 533 | ptr = ioremap_cache_shared(phys, size);
  21986. | ^~~~~~~~~~~~~~~~~~~~
  21987. | ioremap_cache
  21988. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  21989. 533 | ptr = ioremap_cache_shared(phys, size);
  21990. | ^
  21991. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  21992. 556 | NV_MEMDBG_ADD(ptr, size);
  21993. | ^
  21994. CC [M] nvidia-uvm/uvm_volta.o
  21995. In file included from ././common/inc/conftest.h:28,
  21996. from ././common/inc/nv-time.h:27,
  21997. from nvidia-uvm/uvm_linux.h:37,
  21998. from nvidia-uvm/uvm_common.h:43,
  21999. from nvidia-uvm/uvm_hal.h:28,
  22000. from nvidia-uvm/uvm_volta.c:24:
  22001. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  22002. 74 | #error dma_buf_export() conftest failed!
  22003. | ^~~~~
  22004. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  22005. 87 | #error wait_on_bit_lock() conftest failed!
  22006. | ^~~~~
  22007. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  22008. 90 | #error radix_tree_replace_slot() conftest failed!
  22009. | ^~~~~
  22010. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  22011. from nvidia-uvm/uvm_channel.h:29,
  22012. from nvidia-uvm/uvm_push.h:29,
  22013. from nvidia-uvm/uvm_tracker.c:25:
  22014. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  22015. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  22016. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  22017. | ^~~~~~~~~~~~~~~~~~~~
  22018. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  22019. 40 | struct timespec64 {
  22020. | ^~~~~~~~~~
  22021. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  22022. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  22023. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  22024. from ././common/inc/nv-time.h:29:
  22025. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  22026. 13 | struct timespec64 {
  22027. | ^~~~~~~~~~
  22028. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22029. 77 | static inline struct timespec64 timespec64_add
  22030. | ^~~~~~~~~~~~~~
  22031. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22032. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  22033. | ^~~~~~~~~~~~~~
  22034. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22035. 95 | static inline struct timespec64 timespec64_sub
  22036. | ^~~~~~~~~~~~~~
  22037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22038. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  22039. | ^~~~~~~~~~~~~~
  22040. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  22041. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  22042. | ^~~~~~~~~~~~~~~~
  22043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  22044. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  22045. | ^~~~~~~~~~~~~~~~
  22046. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  22047. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22048. 122 | ktime_get_raw_ts64(&ts);
  22049. | ^~~
  22050. | |
  22051. | struct timespec64 *
  22052. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  22053. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  22054. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  22055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  22056. from ././common/inc/nv-time.h:30:
  22057. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22058. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22059. | ~~~~~~~~~~~~~~~~~~~^~
  22060. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  22061. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22062. 185 | ktime_get_raw_ts64(&tm_aux);
  22063. | ^~~~~~~
  22064. | |
  22065. | struct timespec64 *
  22066. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22067. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22068. | ~~~~~~~~~~~~~~~~~~~^~
  22069. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22070. 221 | ktime_get_raw_ts64(&tm_aux);
  22071. | ^~~~~~~
  22072. | |
  22073. | struct timespec64 *
  22074. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22075. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22076. | ~~~~~~~~~~~~~~~~~~~^~
  22077. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  22078. 40 | struct timespec64 {
  22079. | ^~~~~~~~~~
  22080. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  22081. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  22082. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  22083. from ././common/inc/nv-time.h:29:
  22084. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  22085. 13 | struct timespec64 {
  22086. | ^~~~~~~~~~
  22087. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22088. 77 | static inline struct timespec64 timespec64_add
  22089. | ^~~~~~~~~~~~~~
  22090. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22091. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  22092. | ^~~~~~~~~~~~~~
  22093. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22094. 95 | static inline struct timespec64 timespec64_sub
  22095. | ^~~~~~~~~~~~~~
  22096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22097. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  22098. | ^~~~~~~~~~~~~~
  22099. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  22100. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  22101. | ^~~~~~~~~~~~~~~~
  22102. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  22103. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  22104. | ^~~~~~~~~~~~~~~~
  22105. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  22106. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22107. 122 | ktime_get_raw_ts64(&ts);
  22108. | ^~~
  22109. | |
  22110. | struct timespec64 *
  22111. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  22112. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  22113. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  22114. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  22115. from ././common/inc/nv-time.h:30:
  22116. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22117. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22118. | ~~~~~~~~~~~~~~~~~~~^~
  22119. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  22120. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22121. 185 | ktime_get_raw_ts64(&tm_aux);
  22122. | ^~~~~~~
  22123. | |
  22124. | struct timespec64 *
  22125. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22126. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22127. | ~~~~~~~~~~~~~~~~~~~^~
  22128. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22129. 221 | ktime_get_raw_ts64(&tm_aux);
  22130. | ^~~~~~~
  22131. | |
  22132. | struct timespec64 *
  22133. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22134. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22135. | ~~~~~~~~~~~~~~~~~~~^~
  22136. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  22137. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  22138. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  22139. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  22140. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  22141. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  22142. | ^
  22143. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  22144. 573 | NV_MEMDBG_ADD(ptr, size);
  22145. | ^
  22146. ././common/inc/nv-linux.h: In function 'nv_vmap':
  22147. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  22148. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  22149. | ^
  22150. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  22151. 40 | struct timespec64 {
  22152. | ^~~~~~~~~~
  22153. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  22154. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  22155. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  22156. from ././common/inc/nv-time.h:29:
  22157. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  22158. 13 | struct timespec64 {
  22159. | ^~~~~~~~~~
  22160. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22161. 77 | static inline struct timespec64 timespec64_add
  22162. | ^~~~~~~~~~~~~~
  22163. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  22164. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  22165. 736 | return phys_to_dma(dev, pa);
  22166. | ^~~~~~~~~~~
  22167. | nv_phys_to_dma
  22168. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22169. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  22170. | ^~~~~~~~~~~~~~
  22171. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22172. 95 | static inline struct timespec64 timespec64_sub
  22173. | ^~~~~~~~~~~~~~
  22174. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22175. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  22176. | ^~~~~~~~~~~~~~
  22177. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  22178. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  22179. | ^~~~~~~~~~~~~~~~
  22180. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  22181. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  22182. | ^~~~~~~~~~~~~~~~
  22183. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  22184. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22185. 122 | ktime_get_raw_ts64(&ts);
  22186. | ^~~
  22187. | |
  22188. | struct timespec64 *
  22189. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  22190. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  22191. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  22192. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  22193. from ././common/inc/nv-time.h:30:
  22194. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22195. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22196. | ~~~~~~~~~~~~~~~~~~~^~
  22197. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  22198. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22199. 185 | ktime_get_raw_ts64(&tm_aux);
  22200. | ^~~~~~~
  22201. | |
  22202. | struct timespec64 *
  22203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22204. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22205. | ~~~~~~~~~~~~~~~~~~~^~
  22206. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22207. 221 | ktime_get_raw_ts64(&tm_aux);
  22208. | ^~~~~~~
  22209. | |
  22210. | struct timespec64 *
  22211. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22212. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22213. | ~~~~~~~~~~~~~~~~~~~^~
  22214. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  22215. 40 | struct timespec64 {
  22216. | ^~~~~~~~~~
  22217. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  22218. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  22219. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  22220. from ././common/inc/nv-time.h:29:
  22221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  22222. 13 | struct timespec64 {
  22223. | ^~~~~~~~~~
  22224. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22225. 77 | static inline struct timespec64 timespec64_add
  22226. | ^~~~~~~~~~~~~~
  22227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22228. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  22229. | ^~~~~~~~~~~~~~
  22230. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22231. 95 | static inline struct timespec64 timespec64_sub
  22232. | ^~~~~~~~~~~~~~
  22233. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22234. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  22235. | ^~~~~~~~~~~~~~
  22236. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  22237. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  22238. | ^~~~~~~~~~~~~~~~
  22239. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  22240. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  22241. | ^~~~~~~~~~~~~~~~
  22242. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  22243. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22244. 122 | ktime_get_raw_ts64(&ts);
  22245. | ^~~
  22246. | |
  22247. | struct timespec64 *
  22248. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  22249. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  22250. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  22251. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  22252. from ././common/inc/nv-time.h:30:
  22253. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22254. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22255. | ~~~~~~~~~~~~~~~~~~~^~
  22256. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  22257. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22258. 185 | ktime_get_raw_ts64(&tm_aux);
  22259. | ^~~~~~~
  22260. | |
  22261. | struct timespec64 *
  22262. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22263. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22264. | ~~~~~~~~~~~~~~~~~~~^~
  22265. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22266. 221 | ktime_get_raw_ts64(&tm_aux);
  22267. | ^~~~~~~
  22268. | |
  22269. | struct timespec64 *
  22270. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22271. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22272. | ~~~~~~~~~~~~~~~~~~~^~
  22273. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  22274. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  22275. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  22276. | ^~~~~~~~~~~~~
  22277. | d_is_dir
  22278. cc1: some warnings being treated as errors
  22279. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  22280. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22281. 287 | ktime_get_raw_ts64(&tm);
  22282. | ^~~
  22283. | |
  22284. | struct timespec64 *
  22285. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22286. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22287. | ~~~~~~~~~~~~~~~~~~~^~
  22288. nvidia-uvm/uvm_linux.h: At top level:
  22289. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  22290. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  22291. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  22292. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  22293. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  22294. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  22295. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  22296. 449 | #error "Unknown number of arguments"
  22297. | ^~~~~
  22298. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  22299. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  22300. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  22301. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  22302. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  22303. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  22304. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  22305. 485 | #error "Unknown number of arguments"
  22306. | ^~~~~
  22307. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tracker.o] Error 1
  22308. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  22309. CC [M] nvidia-uvm/uvm_volta_fault_buffer.o
  22310. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  22311. 502 | NV_MEMDBG_ADD(ptr, size);
  22312. | ^
  22313. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  22314. 40 | struct timespec64 {
  22315. | ^~~~~~~~~~
  22316. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  22317. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  22318. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  22319. from ././common/inc/nv-time.h:29:
  22320. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  22321. 13 | struct timespec64 {
  22322. | ^~~~~~~~~~
  22323. In file included from ././common/inc/nv-linux.h:34,
  22324. from nvidia-uvm/uvm_linux.h:40:
  22325. ././common/inc/nv-mm.h: At top level:
  22326. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22327. 77 | static inline struct timespec64 timespec64_add
  22328. | ^~~~~~~~~~~~~~
  22329. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  22330. 29 | typedef int vm_fault_t;
  22331. | ^~~~~~~~~~
  22332. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  22333. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  22334. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  22335. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  22336. from ././common/inc/nv-lock.h:35,
  22337. from ././common/inc/nv-linux.h:32:
  22338. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  22339. 1311 | typedef __bitwise unsigned int vm_fault_t;
  22340. | ^~~~~~~~~~
  22341. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  22342. from ././common/inc/nv-time.h:28:
  22343. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  22344. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22345. 52 | #define current get_current()
  22346. | ^~~~~~~~~~~~~
  22347. | |
  22348. | struct task_struct *
  22349. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  22350. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22351. | ^~~~~~~
  22352. In file included from ././common/inc/nv-pgprot.h:30,
  22353. from ././common/inc/nv-linux.h:33:
  22354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  22355. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22356. | ~~~~~~~~~~~~~~^~~~~
  22357. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22358. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22359. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  22360. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22361. | ~~~~~~~~~~~~~~^~~~~~~~
  22362. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  22363. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22364. | ^~~~~~~~
  22365. | |
  22366. | long unsigned int
  22367. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  22368. 2535 | unsigned int gup_flags, struct page **pages);
  22369. | ~~~~~~~~~~~~~~^~~~~
  22370. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  22371. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22372. | ^~~~~~~~~~~~~~ ~~~~~
  22373. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  22374. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22375. | ^~~~~~~~~~~~~~
  22376. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  22377. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  22378. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  22379. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  22380. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  22381. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  22382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22383. 8 | #define NULL ((void *)0)
  22384. | ^~~~~~~~~~~
  22385. | |
  22386. | void *
  22387. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  22388. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22389. | ^~~~
  22390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  22391. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22392. | ~~~~~~~~~~~~~~^~~~~
  22393. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22394. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22395. | ^~
  22396. | |
  22397. | struct mm_struct *
  22398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  22399. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22400. | ~~~~~~~~~~~~~~^~~~~~~~
  22401. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  22402. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22403. | ^~~~~~~~
  22404. | |
  22405. | long unsigned int
  22406. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  22407. 2535 | unsigned int gup_flags, struct page **pages);
  22408. | ~~~~~~~~~~~~~~^~~~~
  22409. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  22410. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22411. | ^~~~~~~~~~~~~~ ~~~~~
  22412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  22413. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22414. | ^~~~~~~~~~~~~~
  22415. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  22416. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  22417. 237 | return (unsigned long)(vmf->virtual_address);
  22418. | ^~~~~~~~~~~~~~~
  22419. | real_address
  22420. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  22421. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22422. 246 | down_read(&mm->mmap_sem);
  22423. | ^~~~~~~~
  22424. | mmap_base
  22425. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  22426. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22427. 255 | up_read(&mm->mmap_sem);
  22428. | ^~~~~~~~
  22429. | mmap_base
  22430. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  22431. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22432. 264 | down_write(&mm->mmap_sem);
  22433. | ^~~~~~~~
  22434. | mmap_base
  22435. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  22436. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22437. 273 | up_write(&mm->mmap_sem);
  22438. | ^~~~~~~~
  22439. | mmap_base
  22440. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  22441. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22442. 282 | return rwsem_is_locked(&mm->mmap_sem);
  22443. | ^~~~~~~~
  22444. | mmap_base
  22445. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  22446. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22447. 291 | return &mm->mmap_sem;
  22448. | ^~~~~~~~
  22449. | mmap_base
  22450. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  22451. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  22452. 300 | vma->vm_flags |= flags;
  22453. | ^~
  22454. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  22455. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  22456. 309 | vma->vm_flags &= ~flags;
  22457. | ^~
  22458. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22459. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  22460. | ^~~~~~~~~~~~~~
  22461. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22462. 95 | static inline struct timespec64 timespec64_sub
  22463. | ^~~~~~~~~~~~~~
  22464. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22465. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  22466. | ^~~~~~~~~~~~~~
  22467. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  22468. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  22469. | ^~~~~~~~~~~~~~~~
  22470. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  22471. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  22472. | ^~~~~~~~~~~~~~~~
  22473. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  22474. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22475. 122 | ktime_get_raw_ts64(&ts);
  22476. | ^~~
  22477. | |
  22478. | struct timespec64 *
  22479. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  22480. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  22481. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  22482. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  22483. from ././common/inc/nv-time.h:30:
  22484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22485. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22486. | ~~~~~~~~~~~~~~~~~~~^~
  22487. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  22488. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22489. 185 | ktime_get_raw_ts64(&tm_aux);
  22490. | ^~~~~~~
  22491. | |
  22492. | struct timespec64 *
  22493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22494. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22495. | ~~~~~~~~~~~~~~~~~~~^~
  22496. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22497. 221 | ktime_get_raw_ts64(&tm_aux);
  22498. | ^~~~~~~
  22499. | |
  22500. | struct timespec64 *
  22501. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22502. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22503. | ~~~~~~~~~~~~~~~~~~~^~
  22504. In file included from ././common/inc/conftest.h:28,
  22505. from ././common/inc/nv-time.h:27,
  22506. from nvidia-uvm/uvm_linux.h:37,
  22507. from nvidia-uvm/uvm_volta_fault_buffer.c:24:
  22508. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  22509. 74 | #error dma_buf_export() conftest failed!
  22510. | ^~~~~
  22511. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  22512. 87 | #error wait_on_bit_lock() conftest failed!
  22513. | ^~~~~
  22514. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  22515. 90 | #error radix_tree_replace_slot() conftest failed!
  22516. | ^~~~~
  22517. In file included from ././common/inc/nv-linux.h:34,
  22518. from nvidia-uvm/uvm_linux.h:40:
  22519. ././common/inc/nv-mm.h: At top level:
  22520. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  22521. 29 | typedef int vm_fault_t;
  22522. | ^~~~~~~~~~
  22523. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  22524. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  22525. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  22526. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  22527. from ././common/inc/nv-lock.h:35,
  22528. from ././common/inc/nv-linux.h:32:
  22529. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  22530. 1311 | typedef __bitwise unsigned int vm_fault_t;
  22531. | ^~~~~~~~~~
  22532. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  22533. from ././common/inc/nv-time.h:28:
  22534. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  22535. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22536. 52 | #define current get_current()
  22537. | ^~~~~~~~~~~~~
  22538. | |
  22539. | struct task_struct *
  22540. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  22541. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22542. | ^~~~~~~
  22543. In file included from ././common/inc/nv-pgprot.h:30,
  22544. from ././common/inc/nv-linux.h:33:
  22545. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  22546. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22547. | ~~~~~~~~~~~~~~^~~~~
  22548. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22549. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22550. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  22551. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22552. | ~~~~~~~~~~~~~~^~~~~~~~
  22553. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  22554. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22555. | ^~~~~~~~
  22556. | |
  22557. | long unsigned int
  22558. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  22559. 2535 | unsigned int gup_flags, struct page **pages);
  22560. | ~~~~~~~~~~~~~~^~~~~
  22561. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  22562. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22563. | ^~~~~~~~~~~~~~ ~~~~~
  22564. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  22565. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22566. | ^~~~~~~~~~~~~~
  22567. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  22568. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  22569. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  22570. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  22571. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  22572. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  22573. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22574. 8 | #define NULL ((void *)0)
  22575. | ^~~~~~~~~~~
  22576. | |
  22577. | void *
  22578. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  22579. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22580. | ^~~~
  22581. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  22582. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22583. | ~~~~~~~~~~~~~~^~~~~
  22584. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22585. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22586. | ^~
  22587. | |
  22588. | struct mm_struct *
  22589. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  22590. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22591. | ~~~~~~~~~~~~~~^~~~~~~~
  22592. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  22593. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22594. | ^~~~~~~~
  22595. | |
  22596. | long unsigned int
  22597. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  22598. 2535 | unsigned int gup_flags, struct page **pages);
  22599. | ~~~~~~~~~~~~~~^~~~~
  22600. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  22601. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22602. | ^~~~~~~~~~~~~~ ~~~~~
  22603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  22604. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22605. | ^~~~~~~~~~~~~~
  22606. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  22607. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  22608. 237 | return (unsigned long)(vmf->virtual_address);
  22609. | ^~~~~~~~~~~~~~~
  22610. | real_address
  22611. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  22612. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22613. 246 | down_read(&mm->mmap_sem);
  22614. | ^~~~~~~~
  22615. | mmap_base
  22616. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  22617. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22618. 255 | up_read(&mm->mmap_sem);
  22619. | ^~~~~~~~
  22620. | mmap_base
  22621. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  22622. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22623. 264 | down_write(&mm->mmap_sem);
  22624. | ^~~~~~~~
  22625. | mmap_base
  22626. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  22627. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22628. 273 | up_write(&mm->mmap_sem);
  22629. | ^~~~~~~~
  22630. | mmap_base
  22631. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  22632. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22633. 282 | return rwsem_is_locked(&mm->mmap_sem);
  22634. | ^~~~~~~~
  22635. | mmap_base
  22636. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  22637. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22638. 291 | return &mm->mmap_sem;
  22639. | ^~~~~~~~
  22640. | mmap_base
  22641. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  22642. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  22643. 300 | vma->vm_flags |= flags;
  22644. | ^~
  22645. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  22646. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  22647. 309 | vma->vm_flags &= ~flags;
  22648. | ^~
  22649. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  22650. 40 | struct timespec64 {
  22651. | ^~~~~~~~~~
  22652. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  22653. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  22654. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  22655. from ././common/inc/nv-time.h:29:
  22656. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  22657. 13 | struct timespec64 {
  22658. | ^~~~~~~~~~
  22659. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22660. 77 | static inline struct timespec64 timespec64_add
  22661. | ^~~~~~~~~~~~~~
  22662. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22663. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  22664. | ^~~~~~~~~~~~~~
  22665. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22666. 95 | static inline struct timespec64 timespec64_sub
  22667. | ^~~~~~~~~~~~~~
  22668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22669. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  22670. | ^~~~~~~~~~~~~~
  22671. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  22672. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  22673. | ^~~~~~~~~~~~~~~~
  22674. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  22675. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  22676. | ^~~~~~~~~~~~~~~~
  22677. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  22678. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22679. 122 | ktime_get_raw_ts64(&ts);
  22680. | ^~~
  22681. | |
  22682. | struct timespec64 *
  22683. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  22684. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  22685. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  22686. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  22687. from ././common/inc/nv-time.h:30:
  22688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22689. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22690. | ~~~~~~~~~~~~~~~~~~~^~
  22691. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  22692. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22693. 185 | ktime_get_raw_ts64(&tm_aux);
  22694. | ^~~~~~~
  22695. | |
  22696. | struct timespec64 *
  22697. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22698. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22699. | ~~~~~~~~~~~~~~~~~~~^~
  22700. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22701. 221 | ktime_get_raw_ts64(&tm_aux);
  22702. | ^~~~~~~
  22703. | |
  22704. | struct timespec64 *
  22705. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22706. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22707. | ~~~~~~~~~~~~~~~~~~~^~
  22708. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  22709. 40 | struct timespec64 {
  22710. | ^~~~~~~~~~
  22711. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  22712. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  22713. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  22714. from ././common/inc/nv-time.h:29:
  22715. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  22716. 13 | struct timespec64 {
  22717. | ^~~~~~~~~~
  22718. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22719. 77 | static inline struct timespec64 timespec64_add
  22720. | ^~~~~~~~~~~~~~
  22721. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22722. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  22723. | ^~~~~~~~~~~~~~
  22724. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  22725. 95 | static inline struct timespec64 timespec64_sub
  22726. | ^~~~~~~~~~~~~~
  22727. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  22728. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  22729. | ^~~~~~~~~~~~~~
  22730. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  22731. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  22732. | ^~~~~~~~~~~~~~~~
  22733. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  22734. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  22735. | ^~~~~~~~~~~~~~~~
  22736. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  22737. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22738. 122 | ktime_get_raw_ts64(&ts);
  22739. | ^~~
  22740. | |
  22741. | struct timespec64 *
  22742. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  22743. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  22744. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  22745. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  22746. from ././common/inc/nv-time.h:30:
  22747. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22748. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22749. | ~~~~~~~~~~~~~~~~~~~^~
  22750. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  22751. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22752. 185 | ktime_get_raw_ts64(&tm_aux);
  22753. | ^~~~~~~
  22754. | |
  22755. | struct timespec64 *
  22756. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22757. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22758. | ~~~~~~~~~~~~~~~~~~~^~
  22759. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  22760. 221 | ktime_get_raw_ts64(&tm_aux);
  22761. | ^~~~~~~
  22762. | |
  22763. | struct timespec64 *
  22764. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  22765. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  22766. | ~~~~~~~~~~~~~~~~~~~^~
  22767. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  22768. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  22769. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  22770. | ^~~~~~~~~~~~~~~~~~~~~~~
  22771. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  22772. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  22773. 520 | NV_MEMDBG_ADD(ptr, size);
  22774. | ^
  22775. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  22776. from nvidia-uvm/uvm_channel.h:29,
  22777. from nvidia-uvm/uvm_push.h:29,
  22778. from nvidia-uvm/uvm_hal.h:31:
  22779. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  22780. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  22781. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  22782. | ^~~~~~~~~~~~~~~~~~~~
  22783. In file included from ././common/inc/nv-linux.h:34,
  22784. from nvidia-uvm/uvm_linux.h:40:
  22785. ././common/inc/nv-mm.h: At top level:
  22786. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  22787. 29 | typedef int vm_fault_t;
  22788. | ^~~~~~~~~~
  22789. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  22790. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  22791. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  22792. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  22793. from ././common/inc/nv-lock.h:35,
  22794. from ././common/inc/nv-linux.h:32:
  22795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  22796. 1311 | typedef __bitwise unsigned int vm_fault_t;
  22797. | ^~~~~~~~~~
  22798. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  22799. from ././common/inc/nv-time.h:28:
  22800. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  22801. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22802. 52 | #define current get_current()
  22803. | ^~~~~~~~~~~~~
  22804. | |
  22805. | struct task_struct *
  22806. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  22807. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22808. | ^~~~~~~
  22809. In file included from ././common/inc/nv-pgprot.h:30,
  22810. from ././common/inc/nv-linux.h:33:
  22811. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  22812. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22813. | ~~~~~~~~~~~~~~^~~~~
  22814. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22815. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22816. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  22817. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22818. | ~~~~~~~~~~~~~~^~~~~~~~
  22819. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  22820. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22821. | ^~~~~~~~
  22822. | |
  22823. | long unsigned int
  22824. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  22825. 2535 | unsigned int gup_flags, struct page **pages);
  22826. | ~~~~~~~~~~~~~~^~~~~
  22827. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  22828. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22829. | ^~~~~~~~~~~~~~ ~~~~~
  22830. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  22831. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22832. | ^~~~~~~~~~~~~~
  22833. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  22834. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  22835. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  22836. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  22837. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  22838. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  22839. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22840. 8 | #define NULL ((void *)0)
  22841. | ^~~~~~~~~~~
  22842. | |
  22843. | void *
  22844. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  22845. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22846. | ^~~~
  22847. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  22848. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22849. | ~~~~~~~~~~~~~~^~~~~
  22850. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22851. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22852. | ^~
  22853. | |
  22854. | struct mm_struct *
  22855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  22856. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22857. | ~~~~~~~~~~~~~~^~~~~~~~
  22858. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  22859. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22860. | ^~~~~~~~
  22861. | |
  22862. | long unsigned int
  22863. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  22864. 2535 | unsigned int gup_flags, struct page **pages);
  22865. | ~~~~~~~~~~~~~~^~~~~
  22866. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  22867. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22868. | ^~~~~~~~~~~~~~ ~~~~~
  22869. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  22870. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22871. | ^~~~~~~~~~~~~~
  22872. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  22873. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  22874. 237 | return (unsigned long)(vmf->virtual_address);
  22875. | ^~~~~~~~~~~~~~~
  22876. | real_address
  22877. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  22878. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22879. 246 | down_read(&mm->mmap_sem);
  22880. | ^~~~~~~~
  22881. | mmap_base
  22882. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  22883. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22884. 255 | up_read(&mm->mmap_sem);
  22885. | ^~~~~~~~
  22886. | mmap_base
  22887. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  22888. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22889. 264 | down_write(&mm->mmap_sem);
  22890. | ^~~~~~~~
  22891. | mmap_base
  22892. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  22893. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22894. 273 | up_write(&mm->mmap_sem);
  22895. | ^~~~~~~~
  22896. | mmap_base
  22897. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  22898. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22899. 282 | return rwsem_is_locked(&mm->mmap_sem);
  22900. | ^~~~~~~~
  22901. | mmap_base
  22902. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  22903. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  22904. 291 | return &mm->mmap_sem;
  22905. | ^~~~~~~~
  22906. | mmap_base
  22907. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  22908. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  22909. 300 | vma->vm_flags |= flags;
  22910. | ^~
  22911. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  22912. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  22913. 309 | vma->vm_flags &= ~flags;
  22914. | ^~
  22915. In file included from ././common/inc/nv-linux.h:34,
  22916. from nvidia-uvm/uvm_linux.h:40:
  22917. ././common/inc/nv-mm.h: At top level:
  22918. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  22919. 29 | typedef int vm_fault_t;
  22920. | ^~~~~~~~~~
  22921. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  22922. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  22923. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  22924. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  22925. from ././common/inc/nv-lock.h:35,
  22926. from ././common/inc/nv-linux.h:32:
  22927. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  22928. 1311 | typedef __bitwise unsigned int vm_fault_t;
  22929. | ^~~~~~~~~~
  22930. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  22931. from ././common/inc/nv-time.h:28:
  22932. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  22933. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22934. 52 | #define current get_current()
  22935. | ^~~~~~~~~~~~~
  22936. | |
  22937. | struct task_struct *
  22938. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  22939. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22940. | ^~~~~~~
  22941. In file included from ././common/inc/nv-pgprot.h:30,
  22942. from ././common/inc/nv-linux.h:33:
  22943. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  22944. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22945. | ~~~~~~~~~~~~~~^~~~~
  22946. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22947. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22948. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  22949. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22950. | ~~~~~~~~~~~~~~^~~~~~~~
  22951. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  22952. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22953. | ^~~~~~~~
  22954. | |
  22955. | long unsigned int
  22956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  22957. 2535 | unsigned int gup_flags, struct page **pages);
  22958. | ~~~~~~~~~~~~~~^~~~~
  22959. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  22960. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  22961. | ^~~~~~~~~~~~~~ ~~~~~
  22962. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  22963. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22964. | ^~~~~~~~~~~~~~
  22965. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  22966. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  22967. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  22968. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  22969. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  22970. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  22971. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22972. 8 | #define NULL ((void *)0)
  22973. | ^~~~~~~~~~~
  22974. | |
  22975. | void *
  22976. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  22977. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22978. | ^~~~
  22979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  22980. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22981. | ~~~~~~~~~~~~~~^~~~~
  22982. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  22983. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22984. | ^~
  22985. | |
  22986. | struct mm_struct *
  22987. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  22988. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  22989. | ~~~~~~~~~~~~~~^~~~~~~~
  22990. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  22991. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  22992. | ^~~~~~~~
  22993. | |
  22994. | long unsigned int
  22995. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  22996. 2535 | unsigned int gup_flags, struct page **pages);
  22997. | ~~~~~~~~~~~~~~^~~~~
  22998. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  22999. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23000. | ^~~~~~~~~~~~~~ ~~~~~
  23001. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23002. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23003. | ^~~~~~~~~~~~~~
  23004. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  23005. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  23006. 237 | return (unsigned long)(vmf->virtual_address);
  23007. | ^~~~~~~~~~~~~~~
  23008. | real_address
  23009. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  23010. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23011. 246 | down_read(&mm->mmap_sem);
  23012. | ^~~~~~~~
  23013. | mmap_base
  23014. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  23015. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23016. 255 | up_read(&mm->mmap_sem);
  23017. | ^~~~~~~~
  23018. | mmap_base
  23019. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  23020. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23021. 264 | down_write(&mm->mmap_sem);
  23022. | ^~~~~~~~
  23023. | mmap_base
  23024. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  23025. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23026. 273 | up_write(&mm->mmap_sem);
  23027. | ^~~~~~~~
  23028. | mmap_base
  23029. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  23030. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23031. 282 | return rwsem_is_locked(&mm->mmap_sem);
  23032. | ^~~~~~~~
  23033. | mmap_base
  23034. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  23035. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23036. 291 | return &mm->mmap_sem;
  23037. | ^~~~~~~~
  23038. | mmap_base
  23039. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  23040. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  23041. 300 | vma->vm_flags |= flags;
  23042. | ^~
  23043. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  23044. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  23045. 309 | vma->vm_flags &= ~flags;
  23046. | ^~
  23047. In file included from ././common/inc/nv-linux.h:34,
  23048. from nvidia-uvm/uvm_linux.h:40:
  23049. ././common/inc/nv-mm.h: At top level:
  23050. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  23051. 29 | typedef int vm_fault_t;
  23052. | ^~~~~~~~~~
  23053. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  23054. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  23055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  23056. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  23057. from ././common/inc/nv-lock.h:35,
  23058. from ././common/inc/nv-linux.h:32:
  23059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  23060. 1311 | typedef __bitwise unsigned int vm_fault_t;
  23061. | ^~~~~~~~~~
  23062. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  23063. from ././common/inc/nv-time.h:28:
  23064. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  23065. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23066. 52 | #define current get_current()
  23067. | ^~~~~~~~~~~~~
  23068. | |
  23069. | struct task_struct *
  23070. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  23071. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23072. | ^~~~~~~
  23073. In file included from ././common/inc/nv-pgprot.h:30,
  23074. from ././common/inc/nv-linux.h:33:
  23075. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  23076. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23077. | ~~~~~~~~~~~~~~^~~~~
  23078. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23079. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23081. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23082. | ~~~~~~~~~~~~~~^~~~~~~~
  23083. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23084. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23085. | ^~~~~~~~
  23086. | |
  23087. | long unsigned int
  23088. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23089. 2535 | unsigned int gup_flags, struct page **pages);
  23090. | ~~~~~~~~~~~~~~^~~~~
  23091. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23092. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23093. | ^~~~~~~~~~~~~~ ~~~~~
  23094. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23095. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23096. | ^~~~~~~~~~~~~~
  23097. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  23098. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  23099. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  23100. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  23101. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  23102. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  23103. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23104. 8 | #define NULL ((void *)0)
  23105. | ^~~~~~~~~~~
  23106. | |
  23107. | void *
  23108. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  23109. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23110. | ^~~~
  23111. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  23112. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23113. | ~~~~~~~~~~~~~~^~~~~
  23114. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23115. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23116. | ^~
  23117. | |
  23118. | struct mm_struct *
  23119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23120. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23121. | ~~~~~~~~~~~~~~^~~~~~~~
  23122. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23123. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23124. | ^~~~~~~~
  23125. | |
  23126. | long unsigned int
  23127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23128. 2535 | unsigned int gup_flags, struct page **pages);
  23129. | ~~~~~~~~~~~~~~^~~~~
  23130. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23131. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23132. | ^~~~~~~~~~~~~~ ~~~~~
  23133. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23134. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23135. | ^~~~~~~~~~~~~~
  23136. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  23137. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  23138. 237 | return (unsigned long)(vmf->virtual_address);
  23139. | ^~~~~~~~~~~~~~~
  23140. | real_address
  23141. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  23142. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23143. 246 | down_read(&mm->mmap_sem);
  23144. | ^~~~~~~~
  23145. | mmap_base
  23146. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  23147. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23148. 255 | up_read(&mm->mmap_sem);
  23149. | ^~~~~~~~
  23150. | mmap_base
  23151. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  23152. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23153. 264 | down_write(&mm->mmap_sem);
  23154. | ^~~~~~~~
  23155. | mmap_base
  23156. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  23157. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23158. 273 | up_write(&mm->mmap_sem);
  23159. | ^~~~~~~~
  23160. | mmap_base
  23161. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  23162. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23163. 282 | return rwsem_is_locked(&mm->mmap_sem);
  23164. | ^~~~~~~~
  23165. | mmap_base
  23166. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  23167. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23168. 291 | return &mm->mmap_sem;
  23169. | ^~~~~~~~
  23170. | mmap_base
  23171. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  23172. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  23173. 300 | vma->vm_flags |= flags;
  23174. | ^~
  23175. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  23176. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  23177. 309 | vma->vm_flags &= ~flags;
  23178. | ^~
  23179. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  23180. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  23181. 533 | ptr = ioremap_cache_shared(phys, size);
  23182. | ^~~~~~~~~~~~~~~~~~~~
  23183. | ioremap_cache
  23184. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  23185. 533 | ptr = ioremap_cache_shared(phys, size);
  23186. | ^
  23187. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  23188. 556 | NV_MEMDBG_ADD(ptr, size);
  23189. | ^
  23190. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  23191. 40 | struct timespec64 {
  23192. | ^~~~~~~~~~
  23193. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  23194. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  23195. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  23196. from ././common/inc/nv-time.h:29:
  23197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  23198. 13 | struct timespec64 {
  23199. | ^~~~~~~~~~
  23200. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  23201. 77 | static inline struct timespec64 timespec64_add
  23202. | ^~~~~~~~~~~~~~
  23203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  23204. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  23205. | ^~~~~~~~~~~~~~
  23206. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  23207. 95 | static inline struct timespec64 timespec64_sub
  23208. | ^~~~~~~~~~~~~~
  23209. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  23210. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  23211. | ^~~~~~~~~~~~~~
  23212. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  23213. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  23214. | ^~~~~~~~~~~~~~~~
  23215. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  23216. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  23217. | ^~~~~~~~~~~~~~~~
  23218. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  23219. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  23220. 122 | ktime_get_raw_ts64(&ts);
  23221. | ^~~
  23222. | |
  23223. | struct timespec64 *
  23224. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  23225. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  23226. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  23227. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  23228. from ././common/inc/nv-time.h:30:
  23229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  23230. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  23231. | ~~~~~~~~~~~~~~~~~~~^~
  23232. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  23233. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  23234. 185 | ktime_get_raw_ts64(&tm_aux);
  23235. | ^~~~~~~
  23236. | |
  23237. | struct timespec64 *
  23238. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  23239. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  23240. | ~~~~~~~~~~~~~~~~~~~^~
  23241. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  23242. 221 | ktime_get_raw_ts64(&tm_aux);
  23243. | ^~~~~~~
  23244. | |
  23245. | struct timespec64 *
  23246. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  23247. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  23248. | ~~~~~~~~~~~~~~~~~~~^~
  23249. cc1: some warnings being treated as errors
  23250. In file included from ././common/inc/nv-linux.h:34,
  23251. from nvidia-uvm/uvm_linux.h:40:
  23252. ././common/inc/nv-mm.h: At top level:
  23253. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  23254. 29 | typedef int vm_fault_t;
  23255. | ^~~~~~~~~~
  23256. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  23257. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  23258. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  23259. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  23260. from ././common/inc/nv-lock.h:35,
  23261. from ././common/inc/nv-linux.h:32:
  23262. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  23263. 1311 | typedef __bitwise unsigned int vm_fault_t;
  23264. | ^~~~~~~~~~
  23265. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  23266. from ././common/inc/nv-time.h:28:
  23267. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  23268. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23269. 52 | #define current get_current()
  23270. | ^~~~~~~~~~~~~
  23271. | |
  23272. | struct task_struct *
  23273. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  23274. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23275. | ^~~~~~~
  23276. In file included from ././common/inc/nv-pgprot.h:30,
  23277. from ././common/inc/nv-linux.h:33:
  23278. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  23279. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23280. | ~~~~~~~~~~~~~~^~~~~
  23281. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23282. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23283. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23284. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23285. | ~~~~~~~~~~~~~~^~~~~~~~
  23286. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23287. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23288. | ^~~~~~~~
  23289. | |
  23290. | long unsigned int
  23291. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23292. 2535 | unsigned int gup_flags, struct page **pages);
  23293. | ~~~~~~~~~~~~~~^~~~~
  23294. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23295. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23296. | ^~~~~~~~~~~~~~ ~~~~~
  23297. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23298. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23299. | ^~~~~~~~~~~~~~
  23300. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  23301. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  23302. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  23303. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  23304. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  23305. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  23306. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23307. 8 | #define NULL ((void *)0)
  23308. | ^~~~~~~~~~~
  23309. | |
  23310. | void *
  23311. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  23312. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23313. | ^~~~
  23314. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  23315. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23316. | ~~~~~~~~~~~~~~^~~~~
  23317. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23318. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23319. | ^~
  23320. | |
  23321. | struct mm_struct *
  23322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23323. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23324. | ~~~~~~~~~~~~~~^~~~~~~~
  23325. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23326. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23327. | ^~~~~~~~
  23328. | |
  23329. | long unsigned int
  23330. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23331. 2535 | unsigned int gup_flags, struct page **pages);
  23332. | ~~~~~~~~~~~~~~^~~~~
  23333. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23334. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23335. | ^~~~~~~~~~~~~~ ~~~~~
  23336. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23337. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23338. | ^~~~~~~~~~~~~~
  23339. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  23340. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  23341. 237 | return (unsigned long)(vmf->virtual_address);
  23342. | ^~~~~~~~~~~~~~~
  23343. | real_address
  23344. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  23345. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23346. 246 | down_read(&mm->mmap_sem);
  23347. | ^~~~~~~~
  23348. | mmap_base
  23349. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  23350. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23351. 255 | up_read(&mm->mmap_sem);
  23352. | ^~~~~~~~
  23353. | mmap_base
  23354. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  23355. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23356. 264 | down_write(&mm->mmap_sem);
  23357. | ^~~~~~~~
  23358. | mmap_base
  23359. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  23360. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23361. 273 | up_write(&mm->mmap_sem);
  23362. | ^~~~~~~~
  23363. | mmap_base
  23364. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  23365. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23366. 282 | return rwsem_is_locked(&mm->mmap_sem);
  23367. | ^~~~~~~~
  23368. | mmap_base
  23369. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  23370. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23371. 291 | return &mm->mmap_sem;
  23372. | ^~~~~~~~
  23373. | mmap_base
  23374. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  23375. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  23376. 300 | vma->vm_flags |= flags;
  23377. | ^~
  23378. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  23379. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  23380. 309 | vma->vm_flags &= ~flags;
  23381. | ^~
  23382. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell.o] Error 1
  23383. CC [M] nvidia-uvm/uvm_volta_access_counter_buffer.o
  23384. In file included from ././common/inc/nv-linux.h:34,
  23385. from nvidia-uvm/uvm_linux.h:40:
  23386. ././common/inc/nv-mm.h: At top level:
  23387. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  23388. 29 | typedef int vm_fault_t;
  23389. | ^~~~~~~~~~
  23390. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  23391. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  23392. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  23393. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  23394. from ././common/inc/nv-lock.h:35,
  23395. from ././common/inc/nv-linux.h:32:
  23396. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  23397. 1311 | typedef __bitwise unsigned int vm_fault_t;
  23398. | ^~~~~~~~~~
  23399. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  23400. from ././common/inc/nv-time.h:28:
  23401. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  23402. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23403. 52 | #define current get_current()
  23404. | ^~~~~~~~~~~~~
  23405. | |
  23406. | struct task_struct *
  23407. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  23408. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23409. | ^~~~~~~
  23410. In file included from ././common/inc/nv-pgprot.h:30,
  23411. from ././common/inc/nv-linux.h:33:
  23412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  23413. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23414. | ~~~~~~~~~~~~~~^~~~~
  23415. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23416. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23417. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23418. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23419. | ~~~~~~~~~~~~~~^~~~~~~~
  23420. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23421. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23422. | ^~~~~~~~
  23423. | |
  23424. | long unsigned int
  23425. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23426. 2535 | unsigned int gup_flags, struct page **pages);
  23427. | ~~~~~~~~~~~~~~^~~~~
  23428. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23429. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23430. | ^~~~~~~~~~~~~~ ~~~~~
  23431. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23432. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23433. | ^~~~~~~~~~~~~~
  23434. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  23435. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  23436. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  23437. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  23438. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  23439. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  23440. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23441. 8 | #define NULL ((void *)0)
  23442. | ^~~~~~~~~~~
  23443. | |
  23444. | void *
  23445. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  23446. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23447. | ^~~~
  23448. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  23449. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23450. | ~~~~~~~~~~~~~~^~~~~
  23451. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23452. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23453. | ^~
  23454. | |
  23455. | struct mm_struct *
  23456. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23457. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23458. | ~~~~~~~~~~~~~~^~~~~~~~
  23459. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23460. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23461. | ^~~~~~~~
  23462. | |
  23463. | long unsigned int
  23464. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23465. 2535 | unsigned int gup_flags, struct page **pages);
  23466. | ~~~~~~~~~~~~~~^~~~~
  23467. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23468. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23469. | ^~~~~~~~~~~~~~ ~~~~~
  23470. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23471. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23472. | ^~~~~~~~~~~~~~
  23473. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  23474. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  23475. 237 | return (unsigned long)(vmf->virtual_address);
  23476. | ^~~~~~~~~~~~~~~
  23477. | real_address
  23478. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  23479. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23480. 246 | down_read(&mm->mmap_sem);
  23481. | ^~~~~~~~
  23482. | mmap_base
  23483. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  23484. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23485. 255 | up_read(&mm->mmap_sem);
  23486. | ^~~~~~~~
  23487. | mmap_base
  23488. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  23489. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23490. 264 | down_write(&mm->mmap_sem);
  23491. | ^~~~~~~~
  23492. | mmap_base
  23493. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  23494. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23495. 273 | up_write(&mm->mmap_sem);
  23496. | ^~~~~~~~
  23497. | mmap_base
  23498. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  23499. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23500. 282 | return rwsem_is_locked(&mm->mmap_sem);
  23501. | ^~~~~~~~
  23502. | mmap_base
  23503. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  23504. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23505. 291 | return &mm->mmap_sem;
  23506. | ^~~~~~~~
  23507. | mmap_base
  23508. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  23509. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  23510. 300 | vma->vm_flags |= flags;
  23511. | ^~
  23512. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  23513. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  23514. 309 | vma->vm_flags &= ~flags;
  23515. | ^~
  23516. In file included from ././common/inc/nv-linux.h:34,
  23517. from nvidia-uvm/uvm_linux.h:40:
  23518. ././common/inc/nv-mm.h: At top level:
  23519. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  23520. 29 | typedef int vm_fault_t;
  23521. | ^~~~~~~~~~
  23522. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  23523. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  23524. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  23525. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  23526. from ././common/inc/nv-lock.h:35,
  23527. from ././common/inc/nv-linux.h:32:
  23528. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  23529. 1311 | typedef __bitwise unsigned int vm_fault_t;
  23530. | ^~~~~~~~~~
  23531. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  23532. from ././common/inc/nv-time.h:28:
  23533. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  23534. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23535. 52 | #define current get_current()
  23536. | ^~~~~~~~~~~~~
  23537. | |
  23538. | struct task_struct *
  23539. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  23540. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23541. | ^~~~~~~
  23542. In file included from ././common/inc/nv-pgprot.h:30,
  23543. from ././common/inc/nv-linux.h:33:
  23544. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  23545. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23546. | ~~~~~~~~~~~~~~^~~~~
  23547. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23548. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23549. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23550. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23551. | ~~~~~~~~~~~~~~^~~~~~~~
  23552. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23553. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23554. | ^~~~~~~~
  23555. | |
  23556. | long unsigned int
  23557. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23558. 2535 | unsigned int gup_flags, struct page **pages);
  23559. | ~~~~~~~~~~~~~~^~~~~
  23560. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23561. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23562. | ^~~~~~~~~~~~~~ ~~~~~
  23563. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23564. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23565. | ^~~~~~~~~~~~~~
  23566. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  23567. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  23568. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  23569. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  23570. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  23571. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  23572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23573. 8 | #define NULL ((void *)0)
  23574. | ^~~~~~~~~~~
  23575. | |
  23576. | void *
  23577. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  23578. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23579. | ^~~~
  23580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  23581. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23582. | ~~~~~~~~~~~~~~^~~~~
  23583. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23584. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23585. | ^~
  23586. | |
  23587. | struct mm_struct *
  23588. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23589. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23590. | ~~~~~~~~~~~~~~^~~~~~~~
  23591. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23592. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23593. | ^~~~~~~~
  23594. | |
  23595. | long unsigned int
  23596. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23597. 2535 | unsigned int gup_flags, struct page **pages);
  23598. | ~~~~~~~~~~~~~~^~~~~
  23599. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23600. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23601. | ^~~~~~~~~~~~~~ ~~~~~
  23602. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23603. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23604. | ^~~~~~~~~~~~~~
  23605. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  23606. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  23607. 237 | return (unsigned long)(vmf->virtual_address);
  23608. | ^~~~~~~~~~~~~~~
  23609. | real_address
  23610. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  23611. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23612. 246 | down_read(&mm->mmap_sem);
  23613. | ^~~~~~~~
  23614. | mmap_base
  23615. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  23616. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23617. 255 | up_read(&mm->mmap_sem);
  23618. | ^~~~~~~~
  23619. | mmap_base
  23620. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  23621. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23622. 264 | down_write(&mm->mmap_sem);
  23623. | ^~~~~~~~
  23624. | mmap_base
  23625. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  23626. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23627. 273 | up_write(&mm->mmap_sem);
  23628. | ^~~~~~~~
  23629. | mmap_base
  23630. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  23631. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23632. 282 | return rwsem_is_locked(&mm->mmap_sem);
  23633. | ^~~~~~~~
  23634. | mmap_base
  23635. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  23636. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23637. 291 | return &mm->mmap_sem;
  23638. | ^~~~~~~~
  23639. | mmap_base
  23640. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  23641. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  23642. 300 | vma->vm_flags |= flags;
  23643. | ^~
  23644. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  23645. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  23646. 309 | vma->vm_flags &= ~flags;
  23647. | ^~
  23648. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  23649. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  23650. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  23651. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  23652. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  23653. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  23654. | ^
  23655. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  23656. 573 | NV_MEMDBG_ADD(ptr, size);
  23657. | ^
  23658. In file included from ././common/inc/conftest.h:28,
  23659. from ././common/inc/nv-time.h:27,
  23660. from nvidia-uvm/uvm_linux.h:37,
  23661. from nvidia-uvm/uvm_volta_access_counter_buffer.c:24:
  23662. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  23663. 74 | #error dma_buf_export() conftest failed!
  23664. | ^~~~~
  23665. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  23666. 87 | #error wait_on_bit_lock() conftest failed!
  23667. | ^~~~~
  23668. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  23669. 90 | #error radix_tree_replace_slot() conftest failed!
  23670. | ^~~~~
  23671. ././common/inc/nv-linux.h: In function 'nv_vmap':
  23672. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  23673. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  23674. | ^
  23675. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  23676. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  23677. 736 | return phys_to_dma(dev, pa);
  23678. | ^~~~~~~~~~~
  23679. | nv_phys_to_dma
  23680. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  23681. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  23682. 502 | NV_MEMDBG_ADD(ptr, size);
  23683. | ^
  23684. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  23685. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  23686. 502 | NV_MEMDBG_ADD(ptr, size);
  23687. | ^
  23688. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  23689. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  23690. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  23691. | ^~~~~~~~~~~~~
  23692. | d_is_dir
  23693. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  23694. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  23695. 287 | ktime_get_raw_ts64(&tm);
  23696. | ^~~
  23697. | |
  23698. | struct timespec64 *
  23699. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  23700. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  23701. | ~~~~~~~~~~~~~~~~~~~^~
  23702. In file included from ././common/inc/nv-linux.h:34,
  23703. from nvidia-uvm/uvm_linux.h:40:
  23704. ././common/inc/nv-mm.h: At top level:
  23705. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  23706. 29 | typedef int vm_fault_t;
  23707. | ^~~~~~~~~~
  23708. nvidia-uvm/uvm_linux.h: At top level:
  23709. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  23710. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  23711. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  23712. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  23713. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  23714. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  23715. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  23716. 449 | #error "Unknown number of arguments"
  23717. | ^~~~~
  23718. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  23719. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  23720. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  23721. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  23722. from ././common/inc/nv-lock.h:35,
  23723. from ././common/inc/nv-linux.h:32:
  23724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  23725. 1311 | typedef __bitwise unsigned int vm_fault_t;
  23726. | ^~~~~~~~~~
  23727. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  23728. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  23729. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  23730. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  23731. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  23732. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  23733. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  23734. from ././common/inc/nv-time.h:28:
  23735. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  23736. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  23737. 485 | #error "Unknown number of arguments"
  23738. | ^~~~~
  23739. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23740. 52 | #define current get_current()
  23741. | ^~~~~~~~~~~~~
  23742. | |
  23743. | struct task_struct *
  23744. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  23745. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23746. | ^~~~~~~
  23747. In file included from ././common/inc/nv-pgprot.h:30,
  23748. from ././common/inc/nv-linux.h:33:
  23749. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  23750. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23751. | ~~~~~~~~~~~~~~^~~~~
  23752. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23753. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23754. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23755. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23756. | ~~~~~~~~~~~~~~^~~~~~~~
  23757. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23758. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23759. | ^~~~~~~~
  23760. | |
  23761. | long unsigned int
  23762. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23763. 2535 | unsigned int gup_flags, struct page **pages);
  23764. | ~~~~~~~~~~~~~~^~~~~
  23765. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23766. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23767. | ^~~~~~~~~~~~~~ ~~~~~
  23768. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23769. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23770. | ^~~~~~~~~~~~~~
  23771. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  23772. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  23773. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  23774. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  23775. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  23776. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  23777. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23778. 8 | #define NULL ((void *)0)
  23779. | ^~~~~~~~~~~
  23780. | |
  23781. | void *
  23782. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  23783. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23784. | ^~~~
  23785. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  23786. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23787. | ~~~~~~~~~~~~~~^~~~~
  23788. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23789. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23790. | ^~
  23791. | |
  23792. | struct mm_struct *
  23793. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23794. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23795. | ~~~~~~~~~~~~~~^~~~~~~~
  23796. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23797. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23798. | ^~~~~~~~
  23799. | |
  23800. | long unsigned int
  23801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23802. 2535 | unsigned int gup_flags, struct page **pages);
  23803. | ~~~~~~~~~~~~~~^~~~~
  23804. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23805. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23806. | ^~~~~~~~~~~~~~ ~~~~~
  23807. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23808. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23809. | ^~~~~~~~~~~~~~
  23810. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  23811. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  23812. 237 | return (unsigned long)(vmf->virtual_address);
  23813. | ^~~~~~~~~~~~~~~
  23814. | real_address
  23815. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  23816. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23817. 246 | down_read(&mm->mmap_sem);
  23818. | ^~~~~~~~
  23819. | mmap_base
  23820. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  23821. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23822. 255 | up_read(&mm->mmap_sem);
  23823. | ^~~~~~~~
  23824. | mmap_base
  23825. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  23826. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23827. 264 | down_write(&mm->mmap_sem);
  23828. | ^~~~~~~~
  23829. | mmap_base
  23830. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  23831. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23832. 273 | up_write(&mm->mmap_sem);
  23833. | ^~~~~~~~
  23834. | mmap_base
  23835. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  23836. 40 | struct timespec64 {
  23837. | ^~~~~~~~~~
  23838. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  23839. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23840. 282 | return rwsem_is_locked(&mm->mmap_sem);
  23841. | ^~~~~~~~
  23842. | mmap_base
  23843. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  23844. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  23845. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  23846. from ././common/inc/nv-time.h:29:
  23847. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  23848. 13 | struct timespec64 {
  23849. | ^~~~~~~~~~
  23850. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  23851. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  23852. 291 | return &mm->mmap_sem;
  23853. | ^~~~~~~~
  23854. | mmap_base
  23855. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  23856. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  23857. 300 | vma->vm_flags |= flags;
  23858. | ^~
  23859. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  23860. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  23861. 309 | vma->vm_flags &= ~flags;
  23862. | ^~
  23863. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  23864. 77 | static inline struct timespec64 timespec64_add
  23865. | ^~~~~~~~~~~~~~
  23866. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  23867. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  23868. | ^~~~~~~~~~~~~~
  23869. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  23870. 95 | static inline struct timespec64 timespec64_sub
  23871. | ^~~~~~~~~~~~~~
  23872. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  23873. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  23874. | ^~~~~~~~~~~~~~
  23875. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  23876. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  23877. | ^~~~~~~~~~~~~~~~
  23878. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  23879. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  23880. | ^~~~~~~~~~~~~~~~
  23881. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  23882. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  23883. 122 | ktime_get_raw_ts64(&ts);
  23884. | ^~~
  23885. | |
  23886. | struct timespec64 *
  23887. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  23888. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  23889. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  23890. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  23891. from ././common/inc/nv-time.h:30:
  23892. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  23893. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  23894. | ~~~~~~~~~~~~~~~~~~~^~
  23895. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  23896. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  23897. 185 | ktime_get_raw_ts64(&tm_aux);
  23898. | ^~~~~~~
  23899. | |
  23900. | struct timespec64 *
  23901. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  23902. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  23903. | ~~~~~~~~~~~~~~~~~~~^~
  23904. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  23905. 221 | ktime_get_raw_ts64(&tm_aux);
  23906. | ^~~~~~~
  23907. | |
  23908. | struct timespec64 *
  23909. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  23910. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  23911. | ~~~~~~~~~~~~~~~~~~~^~
  23912. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  23913. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  23914. 502 | NV_MEMDBG_ADD(ptr, size);
  23915. | ^
  23916. In file included from ././common/inc/nv-linux.h:34,
  23917. from nvidia-uvm/uvm_linux.h:40:
  23918. ././common/inc/nv-mm.h: At top level:
  23919. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  23920. 29 | typedef int vm_fault_t;
  23921. | ^~~~~~~~~~
  23922. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  23923. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  23924. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  23925. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  23926. from ././common/inc/nv-lock.h:35,
  23927. from ././common/inc/nv-linux.h:32:
  23928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  23929. 1311 | typedef __bitwise unsigned int vm_fault_t;
  23930. | ^~~~~~~~~~
  23931. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  23932. from ././common/inc/nv-time.h:28:
  23933. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  23934. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23935. 52 | #define current get_current()
  23936. | ^~~~~~~~~~~~~
  23937. | |
  23938. | struct task_struct *
  23939. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  23940. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23941. | ^~~~~~~
  23942. In file included from ././common/inc/nv-pgprot.h:30,
  23943. from ././common/inc/nv-linux.h:33:
  23944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  23945. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23946. | ~~~~~~~~~~~~~~^~~~~
  23947. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23948. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23949. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23950. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23951. | ~~~~~~~~~~~~~~^~~~~~~~
  23952. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23953. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23954. | ^~~~~~~~
  23955. | |
  23956. | long unsigned int
  23957. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23958. 2535 | unsigned int gup_flags, struct page **pages);
  23959. | ~~~~~~~~~~~~~~^~~~~
  23960. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  23961. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  23962. | ^~~~~~~~~~~~~~ ~~~~~
  23963. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  23964. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23965. | ^~~~~~~~~~~~~~
  23966. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  23967. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  23968. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  23969. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  23970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  23971. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  23972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23973. 8 | #define NULL ((void *)0)
  23974. | ^~~~~~~~~~~
  23975. | |
  23976. | void *
  23977. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  23978. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23979. | ^~~~
  23980. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  23981. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23982. | ~~~~~~~~~~~~~~^~~~~
  23983. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  23984. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23985. | ^~
  23986. | |
  23987. | struct mm_struct *
  23988. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  23989. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  23990. | ~~~~~~~~~~~~~~^~~~~~~~
  23991. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  23992. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  23993. | ^~~~~~~~
  23994. | |
  23995. | long unsigned int
  23996. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  23997. 2535 | unsigned int gup_flags, struct page **pages);
  23998. | ~~~~~~~~~~~~~~^~~~~
  23999. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  24000. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24001. | ^~~~~~~~~~~~~~ ~~~~~
  24002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  24003. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24004. | ^~~~~~~~~~~~~~
  24005. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  24006. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  24007. 237 | return (unsigned long)(vmf->virtual_address);
  24008. | ^~~~~~~~~~~~~~~
  24009. | real_address
  24010. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  24011. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24012. 246 | down_read(&mm->mmap_sem);
  24013. | ^~~~~~~~
  24014. | mmap_base
  24015. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  24016. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24017. 255 | up_read(&mm->mmap_sem);
  24018. | ^~~~~~~~
  24019. | mmap_base
  24020. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  24021. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24022. 264 | down_write(&mm->mmap_sem);
  24023. | ^~~~~~~~
  24024. | mmap_base
  24025. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  24026. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24027. 273 | up_write(&mm->mmap_sem);
  24028. | ^~~~~~~~
  24029. | mmap_base
  24030. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  24031. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24032. 282 | return rwsem_is_locked(&mm->mmap_sem);
  24033. | ^~~~~~~~
  24034. | mmap_base
  24035. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  24036. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24037. 291 | return &mm->mmap_sem;
  24038. | ^~~~~~~~
  24039. | mmap_base
  24040. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  24041. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  24042. 300 | vma->vm_flags |= flags;
  24043. | ^~
  24044. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  24045. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  24046. 309 | vma->vm_flags &= ~flags;
  24047. | ^~
  24048. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  24049. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24050. 502 | NV_MEMDBG_ADD(ptr, size);
  24051. | ^
  24052. In file included from ././common/inc/nv-linux.h:34,
  24053. from nvidia-uvm/uvm_linux.h:40:
  24054. ././common/inc/nv-mm.h: At top level:
  24055. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  24056. 29 | typedef int vm_fault_t;
  24057. | ^~~~~~~~~~
  24058. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  24059. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  24060. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  24061. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  24062. from ././common/inc/nv-lock.h:35,
  24063. from ././common/inc/nv-linux.h:32:
  24064. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  24065. 1311 | typedef __bitwise unsigned int vm_fault_t;
  24066. | ^~~~~~~~~~
  24067. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  24068. from ././common/inc/nv-time.h:28:
  24069. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  24070. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24071. 52 | #define current get_current()
  24072. | ^~~~~~~~~~~~~
  24073. | |
  24074. | struct task_struct *
  24075. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  24076. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24077. | ^~~~~~~
  24078. In file included from ././common/inc/nv-pgprot.h:30,
  24079. from ././common/inc/nv-linux.h:33:
  24080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  24081. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24082. | ~~~~~~~~~~~~~~^~~~~
  24083. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24084. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24085. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  24086. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24087. | ~~~~~~~~~~~~~~^~~~~~~~
  24088. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  24089. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24090. | ^~~~~~~~
  24091. | |
  24092. | long unsigned int
  24093. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  24094. 2535 | unsigned int gup_flags, struct page **pages);
  24095. | ~~~~~~~~~~~~~~^~~~~
  24096. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  24097. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24098. | ^~~~~~~~~~~~~~ ~~~~~
  24099. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  24100. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24101. | ^~~~~~~~~~~~~~
  24102. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  24103. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  24104. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  24105. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  24106. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  24107. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  24108. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24109. 8 | #define NULL ((void *)0)
  24110. | ^~~~~~~~~~~
  24111. | |
  24112. | void *
  24113. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  24114. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24115. | ^~~~
  24116. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  24117. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24118. | ~~~~~~~~~~~~~~^~~~~
  24119. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24120. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24121. | ^~
  24122. | |
  24123. | struct mm_struct *
  24124. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  24125. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24126. | ~~~~~~~~~~~~~~^~~~~~~~
  24127. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  24128. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24129. | ^~~~~~~~
  24130. | |
  24131. | long unsigned int
  24132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  24133. 2535 | unsigned int gup_flags, struct page **pages);
  24134. | ~~~~~~~~~~~~~~^~~~~
  24135. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  24136. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24137. | ^~~~~~~~~~~~~~ ~~~~~
  24138. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  24139. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24140. | ^~~~~~~~~~~~~~
  24141. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  24142. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  24143. 237 | return (unsigned long)(vmf->virtual_address);
  24144. | ^~~~~~~~~~~~~~~
  24145. | real_address
  24146. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  24147. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24148. 246 | down_read(&mm->mmap_sem);
  24149. | ^~~~~~~~
  24150. | mmap_base
  24151. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  24152. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24153. 255 | up_read(&mm->mmap_sem);
  24154. | ^~~~~~~~
  24155. | mmap_base
  24156. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  24157. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24158. 264 | down_write(&mm->mmap_sem);
  24159. | ^~~~~~~~
  24160. | mmap_base
  24161. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  24162. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24163. 273 | up_write(&mm->mmap_sem);
  24164. | ^~~~~~~~
  24165. | mmap_base
  24166. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  24167. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24168. 282 | return rwsem_is_locked(&mm->mmap_sem);
  24169. | ^~~~~~~~
  24170. | mmap_base
  24171. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  24172. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24173. 291 | return &mm->mmap_sem;
  24174. | ^~~~~~~~
  24175. | mmap_base
  24176. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  24177. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  24178. 300 | vma->vm_flags |= flags;
  24179. | ^~
  24180. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  24181. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  24182. 309 | vma->vm_flags &= ~flags;
  24183. | ^~
  24184. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24185. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24186. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24187. | ^~~~~~~~~~~~~~~~~~~~~~~
  24188. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24189. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24190. 520 | NV_MEMDBG_ADD(ptr, size);
  24191. | ^
  24192. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24193. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24194. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24195. | ^~~~~~~~~~~~~~~~~~~~~~~
  24196. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24197. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24198. 520 | NV_MEMDBG_ADD(ptr, size);
  24199. | ^
  24200. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24201. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24202. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24203. | ^~~~~~~~~~~~~~~~~~~~~~~
  24204. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24205. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24206. 520 | NV_MEMDBG_ADD(ptr, size);
  24207. | ^
  24208. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  24209. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24210. 502 | NV_MEMDBG_ADD(ptr, size);
  24211. | ^
  24212. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  24213. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24214. 502 | NV_MEMDBG_ADD(ptr, size);
  24215. | ^
  24216. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  24217. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24218. 502 | NV_MEMDBG_ADD(ptr, size);
  24219. | ^
  24220. In file included from ././common/inc/nv-linux.h:34,
  24221. from nvidia-uvm/uvm_linux.h:40:
  24222. ././common/inc/nv-mm.h: At top level:
  24223. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  24224. 29 | typedef int vm_fault_t;
  24225. | ^~~~~~~~~~
  24226. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  24227. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  24228. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  24229. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  24230. from ././common/inc/nv-lock.h:35,
  24231. from ././common/inc/nv-linux.h:32:
  24232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  24233. 1311 | typedef __bitwise unsigned int vm_fault_t;
  24234. | ^~~~~~~~~~
  24235. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  24236. from ././common/inc/nv-time.h:28:
  24237. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  24238. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24239. 52 | #define current get_current()
  24240. | ^~~~~~~~~~~~~
  24241. | |
  24242. | struct task_struct *
  24243. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  24244. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24245. | ^~~~~~~
  24246. In file included from ././common/inc/nv-pgprot.h:30,
  24247. from ././common/inc/nv-linux.h:33:
  24248. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  24249. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24250. | ~~~~~~~~~~~~~~^~~~~
  24251. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24252. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24253. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  24254. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24255. | ~~~~~~~~~~~~~~^~~~~~~~
  24256. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  24257. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24258. | ^~~~~~~~
  24259. | |
  24260. | long unsigned int
  24261. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  24262. 2535 | unsigned int gup_flags, struct page **pages);
  24263. | ~~~~~~~~~~~~~~^~~~~
  24264. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  24265. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24266. | ^~~~~~~~~~~~~~ ~~~~~
  24267. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  24268. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24269. | ^~~~~~~~~~~~~~
  24270. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  24271. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  24272. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  24273. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  24274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  24275. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  24276. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24277. 8 | #define NULL ((void *)0)
  24278. | ^~~~~~~~~~~
  24279. | |
  24280. | void *
  24281. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  24282. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24283. | ^~~~
  24284. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  24285. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24286. | ~~~~~~~~~~~~~~^~~~~
  24287. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24288. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24289. | ^~
  24290. | |
  24291. | struct mm_struct *
  24292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  24293. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24294. | ~~~~~~~~~~~~~~^~~~~~~~
  24295. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  24296. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24297. | ^~~~~~~~
  24298. | |
  24299. | long unsigned int
  24300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  24301. 2535 | unsigned int gup_flags, struct page **pages);
  24302. | ~~~~~~~~~~~~~~^~~~~
  24303. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  24304. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24305. | ^~~~~~~~~~~~~~ ~~~~~
  24306. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  24307. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24308. | ^~~~~~~~~~~~~~
  24309. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  24310. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  24311. 237 | return (unsigned long)(vmf->virtual_address);
  24312. | ^~~~~~~~~~~~~~~
  24313. | real_address
  24314. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  24315. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24316. 246 | down_read(&mm->mmap_sem);
  24317. | ^~~~~~~~
  24318. | mmap_base
  24319. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  24320. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24321. 255 | up_read(&mm->mmap_sem);
  24322. | ^~~~~~~~
  24323. | mmap_base
  24324. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  24325. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24326. 264 | down_write(&mm->mmap_sem);
  24327. | ^~~~~~~~
  24328. | mmap_base
  24329. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  24330. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24331. 273 | up_write(&mm->mmap_sem);
  24332. | ^~~~~~~~
  24333. | mmap_base
  24334. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  24335. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24336. 282 | return rwsem_is_locked(&mm->mmap_sem);
  24337. | ^~~~~~~~
  24338. | mmap_base
  24339. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  24340. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24341. 291 | return &mm->mmap_sem;
  24342. | ^~~~~~~~
  24343. | mmap_base
  24344. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  24345. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  24346. 300 | vma->vm_flags |= flags;
  24347. | ^~
  24348. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  24349. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  24350. 309 | vma->vm_flags &= ~flags;
  24351. | ^~
  24352. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24353. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24354. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24355. | ^~~~~~~~~~~~~~~~~~~~~~~
  24356. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24357. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24358. 520 | NV_MEMDBG_ADD(ptr, size);
  24359. | ^
  24360. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  24361. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  24362. 533 | ptr = ioremap_cache_shared(phys, size);
  24363. | ^~~~~~~~~~~~~~~~~~~~
  24364. | ioremap_cache
  24365. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24366. 533 | ptr = ioremap_cache_shared(phys, size);
  24367. | ^
  24368. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24369. 556 | NV_MEMDBG_ADD(ptr, size);
  24370. | ^
  24371. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  24372. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  24373. 533 | ptr = ioremap_cache_shared(phys, size);
  24374. | ^~~~~~~~~~~~~~~~~~~~
  24375. | ioremap_cache
  24376. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24377. 533 | ptr = ioremap_cache_shared(phys, size);
  24378. | ^
  24379. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24380. 556 | NV_MEMDBG_ADD(ptr, size);
  24381. | ^
  24382. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  24383. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24384. 502 | NV_MEMDBG_ADD(ptr, size);
  24385. | ^
  24386. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  24387. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  24388. 533 | ptr = ioremap_cache_shared(phys, size);
  24389. | ^~~~~~~~~~~~~~~~~~~~
  24390. | ioremap_cache
  24391. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24392. 533 | ptr = ioremap_cache_shared(phys, size);
  24393. | ^
  24394. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24395. 556 | NV_MEMDBG_ADD(ptr, size);
  24396. | ^
  24397. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24398. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24399. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24400. | ^~~~~~~~~~~~~~~~~~~~~~~
  24401. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24402. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24403. 520 | NV_MEMDBG_ADD(ptr, size);
  24404. | ^
  24405. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24406. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24407. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24408. | ^~~~~~~~~~~~~~~~~~~~~~~
  24409. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24410. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24411. 520 | NV_MEMDBG_ADD(ptr, size);
  24412. | ^
  24413. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24414. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24415. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24416. | ^~~~~~~~~~~~~~~~~~~~~~~
  24417. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24418. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24419. 520 | NV_MEMDBG_ADD(ptr, size);
  24420. | ^
  24421. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  24422. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  24423. 533 | ptr = ioremap_cache_shared(phys, size);
  24424. | ^~~~~~~~~~~~~~~~~~~~
  24425. | ioremap_cache
  24426. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24427. 533 | ptr = ioremap_cache_shared(phys, size);
  24428. | ^
  24429. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24430. 556 | NV_MEMDBG_ADD(ptr, size);
  24431. | ^
  24432. In file included from ././common/inc/nv-linux.h:34,
  24433. from nvidia-uvm/uvm_linux.h:40:
  24434. ././common/inc/nv-mm.h: At top level:
  24435. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  24436. 29 | typedef int vm_fault_t;
  24437. | ^~~~~~~~~~
  24438. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  24439. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  24440. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  24441. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  24442. from ././common/inc/nv-lock.h:35,
  24443. from ././common/inc/nv-linux.h:32:
  24444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  24445. 1311 | typedef __bitwise unsigned int vm_fault_t;
  24446. | ^~~~~~~~~~
  24447. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  24448. from ././common/inc/nv-time.h:28:
  24449. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  24450. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24451. 52 | #define current get_current()
  24452. | ^~~~~~~~~~~~~
  24453. | |
  24454. | struct task_struct *
  24455. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  24456. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24457. | ^~~~~~~
  24458. In file included from ././common/inc/nv-pgprot.h:30,
  24459. from ././common/inc/nv-linux.h:33:
  24460. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  24461. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24462. | ~~~~~~~~~~~~~~^~~~~
  24463. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24464. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  24466. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24467. | ~~~~~~~~~~~~~~^~~~~~~~
  24468. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  24469. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24470. | ^~~~~~~~
  24471. | |
  24472. | long unsigned int
  24473. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  24474. 2535 | unsigned int gup_flags, struct page **pages);
  24475. | ~~~~~~~~~~~~~~^~~~~
  24476. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  24477. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24478. | ^~~~~~~~~~~~~~ ~~~~~
  24479. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  24480. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24481. | ^~~~~~~~~~~~~~
  24482. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  24483. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  24484. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  24485. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  24486. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  24487. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  24488. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24489. 8 | #define NULL ((void *)0)
  24490. | ^~~~~~~~~~~
  24491. | |
  24492. | void *
  24493. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  24494. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24495. | ^~~~
  24496. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  24497. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24498. | ~~~~~~~~~~~~~~^~~~~
  24499. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24500. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24501. | ^~
  24502. | |
  24503. | struct mm_struct *
  24504. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  24505. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24506. | ~~~~~~~~~~~~~~^~~~~~~~
  24507. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  24508. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24509. | ^~~~~~~~
  24510. | |
  24511. | long unsigned int
  24512. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  24513. 2535 | unsigned int gup_flags, struct page **pages);
  24514. | ~~~~~~~~~~~~~~^~~~~
  24515. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  24516. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  24517. | ^~~~~~~~~~~~~~ ~~~~~
  24518. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  24519. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24520. | ^~~~~~~~~~~~~~
  24521. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  24522. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  24523. 237 | return (unsigned long)(vmf->virtual_address);
  24524. | ^~~~~~~~~~~~~~~
  24525. | real_address
  24526. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  24527. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24528. 246 | down_read(&mm->mmap_sem);
  24529. | ^~~~~~~~
  24530. | mmap_base
  24531. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  24532. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24533. 255 | up_read(&mm->mmap_sem);
  24534. | ^~~~~~~~
  24535. | mmap_base
  24536. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  24537. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24538. 264 | down_write(&mm->mmap_sem);
  24539. | ^~~~~~~~
  24540. | mmap_base
  24541. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  24542. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24543. 273 | up_write(&mm->mmap_sem);
  24544. | ^~~~~~~~
  24545. | mmap_base
  24546. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  24547. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24548. 282 | return rwsem_is_locked(&mm->mmap_sem);
  24549. | ^~~~~~~~
  24550. | mmap_base
  24551. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  24552. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  24553. 291 | return &mm->mmap_sem;
  24554. | ^~~~~~~~
  24555. | mmap_base
  24556. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  24557. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  24558. 300 | vma->vm_flags |= flags;
  24559. | ^~
  24560. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  24561. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  24562. 309 | vma->vm_flags &= ~flags;
  24563. | ^~
  24564. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  24565. from nvidia-uvm/uvm_gpu.h:37,
  24566. from nvidia-uvm/uvm_global.h:32,
  24567. from nvidia-uvm/uvm_maxwell_host.c:25:
  24568. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  24569. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  24570. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  24571. | ^~~~~~~~~~~~~~~~~~~~
  24572. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  24573. 40 | struct timespec64 {
  24574. | ^~~~~~~~~~
  24575. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  24576. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  24577. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  24578. from ././common/inc/nv-time.h:29:
  24579. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  24580. 13 | struct timespec64 {
  24581. | ^~~~~~~~~~
  24582. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24583. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24584. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24585. | ^~~~~~~~~~~~~~~~~~~~~~~
  24586. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24587. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  24588. 77 | static inline struct timespec64 timespec64_add
  24589. | ^~~~~~~~~~~~~~
  24590. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  24591. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  24592. | ^~~~~~~~~~~~~~
  24593. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24594. 520 | NV_MEMDBG_ADD(ptr, size);
  24595. | ^
  24596. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  24597. 95 | static inline struct timespec64 timespec64_sub
  24598. | ^~~~~~~~~~~~~~
  24599. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  24600. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  24601. | ^~~~~~~~~~~~~~
  24602. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  24603. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  24604. | ^~~~~~~~~~~~~~~~
  24605. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  24606. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  24607. | ^~~~~~~~~~~~~~~~
  24608. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  24609. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  24610. 122 | ktime_get_raw_ts64(&ts);
  24611. | ^~~
  24612. | |
  24613. | struct timespec64 *
  24614. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  24615. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  24616. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  24617. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  24618. from ././common/inc/nv-time.h:30:
  24619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  24620. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  24621. | ~~~~~~~~~~~~~~~~~~~^~
  24622. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  24623. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  24624. 185 | ktime_get_raw_ts64(&tm_aux);
  24625. | ^~~~~~~
  24626. | |
  24627. | struct timespec64 *
  24628. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  24629. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  24630. | ~~~~~~~~~~~~~~~~~~~^~
  24631. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  24632. 221 | ktime_get_raw_ts64(&tm_aux);
  24633. | ^~~~~~~
  24634. | |
  24635. | struct timespec64 *
  24636. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  24637. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  24638. | ~~~~~~~~~~~~~~~~~~~^~
  24639. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  24640. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  24641. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24642. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  24643. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24644. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24645. | ^
  24646. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24647. 573 | NV_MEMDBG_ADD(ptr, size);
  24648. | ^
  24649. ././common/inc/nv-linux.h: In function 'nv_vmap':
  24650. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24651. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  24652. | ^
  24653. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  24654. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  24655. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24656. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  24657. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24658. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24659. | ^
  24660. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24661. 573 | NV_MEMDBG_ADD(ptr, size);
  24662. | ^
  24663. ././common/inc/nv-linux.h: In function 'nv_vmap':
  24664. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24665. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  24666. | ^
  24667. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  24668. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  24669. 533 | ptr = ioremap_cache_shared(phys, size);
  24670. | ^~~~~~~~~~~~~~~~~~~~
  24671. | ioremap_cache
  24672. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24673. 533 | ptr = ioremap_cache_shared(phys, size);
  24674. | ^
  24675. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24676. 556 | NV_MEMDBG_ADD(ptr, size);
  24677. | ^
  24678. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  24679. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  24680. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24681. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  24682. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24683. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24684. | ^
  24685. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24686. 573 | NV_MEMDBG_ADD(ptr, size);
  24687. | ^
  24688. ././common/inc/nv-linux.h: In function 'nv_vmap':
  24689. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24690. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  24691. | ^
  24692. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  24693. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24694. 502 | NV_MEMDBG_ADD(ptr, size);
  24695. | ^
  24696. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  24697. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  24698. 736 | return phys_to_dma(dev, pa);
  24699. | ^~~~~~~~~~~
  24700. | nv_phys_to_dma
  24701. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  24702. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24703. 502 | NV_MEMDBG_ADD(ptr, size);
  24704. | ^
  24705. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  24706. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  24707. 736 | return phys_to_dma(dev, pa);
  24708. | ^~~~~~~~~~~
  24709. | nv_phys_to_dma
  24710. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  24711. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  24712. 533 | ptr = ioremap_cache_shared(phys, size);
  24713. | ^~~~~~~~~~~~~~~~~~~~
  24714. | ioremap_cache
  24715. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24716. 533 | ptr = ioremap_cache_shared(phys, size);
  24717. | ^
  24718. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24719. 556 | NV_MEMDBG_ADD(ptr, size);
  24720. | ^
  24721. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  24722. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  24723. 736 | return phys_to_dma(dev, pa);
  24724. | ^~~~~~~~~~~
  24725. | nv_phys_to_dma
  24726. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  24727. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  24728. 533 | ptr = ioremap_cache_shared(phys, size);
  24729. | ^~~~~~~~~~~~~~~~~~~~
  24730. | ioremap_cache
  24731. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24732. 533 | ptr = ioremap_cache_shared(phys, size);
  24733. | ^
  24734. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24735. 556 | NV_MEMDBG_ADD(ptr, size);
  24736. | ^
  24737. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  24738. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  24739. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  24740. | ^~~~~~~~~~~~~
  24741. | d_is_dir
  24742. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  24743. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  24744. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24745. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  24746. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24747. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24748. | ^
  24749. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24750. 573 | NV_MEMDBG_ADD(ptr, size);
  24751. | ^
  24752. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  24753. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24754. 502 | NV_MEMDBG_ADD(ptr, size);
  24755. | ^
  24756. ././common/inc/nv-linux.h: In function 'nv_vmap':
  24757. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24758. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  24759. | ^
  24760. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  24761. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  24762. 533 | ptr = ioremap_cache_shared(phys, size);
  24763. | ^~~~~~~~~~~~~~~~~~~~
  24764. | ioremap_cache
  24765. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24766. 533 | ptr = ioremap_cache_shared(phys, size);
  24767. | ^
  24768. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24769. 556 | NV_MEMDBG_ADD(ptr, size);
  24770. | ^
  24771. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  24772. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  24773. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  24774. | ^~~~~~~~~~~~~
  24775. | d_is_dir
  24776. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  24777. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  24778. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  24779. | ^~~~~~~~~~~~~
  24780. | d_is_dir
  24781. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  24782. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  24783. 736 | return phys_to_dma(dev, pa);
  24784. | ^~~~~~~~~~~
  24785. | nv_phys_to_dma
  24786. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  24787. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  24788. 287 | ktime_get_raw_ts64(&tm);
  24789. | ^~~
  24790. | |
  24791. | struct timespec64 *
  24792. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  24793. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  24794. | ~~~~~~~~~~~~~~~~~~~^~
  24795. nvidia-uvm/uvm_linux.h: At top level:
  24796. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24797. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  24798. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24799. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24800. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  24801. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24802. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  24803. 449 | #error "Unknown number of arguments"
  24804. | ^~~~~
  24805. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24806. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  24807. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24808. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24809. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  24810. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24811. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  24812. 485 | #error "Unknown number of arguments"
  24813. | ^~~~~
  24814. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  24815. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  24816. 287 | ktime_get_raw_ts64(&tm);
  24817. | ^~~
  24818. | |
  24819. | struct timespec64 *
  24820. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  24821. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  24822. | ~~~~~~~~~~~~~~~~~~~^~
  24823. nvidia-uvm/uvm_linux.h: At top level:
  24824. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24825. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  24826. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24827. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24828. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  24829. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24830. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  24831. 449 | #error "Unknown number of arguments"
  24832. | ^~~~~
  24833. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24834. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24835. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  24836. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24837. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24838. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  24839. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24840. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  24841. 485 | #error "Unknown number of arguments"
  24842. | ^~~~~
  24843. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24844. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24845. | ^~~~~~~~~~~~~~~~~~~~~~~
  24846. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24847. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24848. 520 | NV_MEMDBG_ADD(ptr, size);
  24849. | ^
  24850. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  24851. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  24852. 287 | ktime_get_raw_ts64(&tm);
  24853. | ^~~
  24854. | |
  24855. | struct timespec64 *
  24856. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  24857. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  24858. | ~~~~~~~~~~~~~~~~~~~^~
  24859. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  24860. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  24861. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24862. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  24863. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24864. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24865. | ^
  24866. nvidia-uvm/uvm_linux.h: At top level:
  24867. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24868. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  24869. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24870. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24871. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  24872. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24873. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  24874. 449 | #error "Unknown number of arguments"
  24875. | ^~~~~
  24876. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24877. 573 | NV_MEMDBG_ADD(ptr, size);
  24878. | ^
  24879. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24880. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  24881. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24882. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  24883. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  24884. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24885. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  24886. 485 | #error "Unknown number of arguments"
  24887. | ^~~~~
  24888. ././common/inc/nv-linux.h: In function 'nv_vmap':
  24889. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24890. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  24891. | ^
  24892. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  24893. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24894. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  24895. 736 | return phys_to_dma(dev, pa);
  24896. | ^~~~~~~~~~~
  24897. | nv_phys_to_dma
  24898. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24899. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24900. | ^~~~~~~~~~~~~~~~~~~~~~~
  24901. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24902. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24903. 520 | NV_MEMDBG_ADD(ptr, size);
  24904. | ^
  24905. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  24906. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  24907. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  24908. | ^~~~~~~~~~~~~
  24909. | d_is_dir
  24910. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  24911. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  24912. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24913. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  24914. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24915. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24916. | ^
  24917. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24918. 573 | NV_MEMDBG_ADD(ptr, size);
  24919. | ^
  24920. ././common/inc/nv-linux.h: In function 'nv_vmap':
  24921. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24922. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  24923. | ^
  24924. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  24925. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  24926. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24927. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  24928. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24929. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  24930. | ^
  24931. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24932. 573 | NV_MEMDBG_ADD(ptr, size);
  24933. | ^
  24934. ././common/inc/nv-linux.h: In function 'nv_vmap':
  24935. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24936. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  24937. | ^
  24938. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  24939. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  24940. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  24941. | ^~~~~~~~~~~~~~~~~~~~~~~
  24942. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  24943. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  24944. 520 | NV_MEMDBG_ADD(ptr, size);
  24945. | ^
  24946. In file included from ././common/inc/nv-linux.h:34,
  24947. from nvidia-uvm/uvm_linux.h:40:
  24948. ././common/inc/nv-mm.h: At top level:
  24949. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  24950. 29 | typedef int vm_fault_t;
  24951. | ^~~~~~~~~~
  24952. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  24953. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  24954. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  24955. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  24956. from ././common/inc/nv-lock.h:35,
  24957. from ././common/inc/nv-linux.h:32:
  24958. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  24959. 1311 | typedef __bitwise unsigned int vm_fault_t;
  24960. | ^~~~~~~~~~
  24961. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  24962. from ././common/inc/nv-time.h:28:
  24963. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  24964. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24965. 52 | #define current get_current()
  24966. | ^~~~~~~~~~~~~
  24967. | |
  24968. | struct task_struct *
  24969. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  24970. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24971. | ^~~~~~~
  24972. In file included from ././common/inc/nv-pgprot.h:30,
  24973. from ././common/inc/nv-linux.h:33:
  24974. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  24975. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24976. | ~~~~~~~~~~~~~~^~~~~
  24977. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  24978. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  24980. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24981. | ~~~~~~~~~~~~~~^~~~~~~~
  24982. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  24983. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24984. | ^~~~~~~~
  24985. | |
  24986. | long unsigned int
  24987. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  24988. 2535 | unsigned int gup_flags, struct page **pages);
  24989. | ~~~~~~~~~~~~~~^~~~~
  24990. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  24991. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  24992. | ^~~~~~~~~~~~~~ ~~~~~
  24993. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  24994. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  24995. | ^~~~~~~~~~~~~~
  24996. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  24997. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  24998. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  24999. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  25000. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  25001. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  25002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  25003. 8 | #define NULL ((void *)0)
  25004. | ^~~~~~~~~~~
  25005. | |
  25006. | void *
  25007. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  25008. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  25009. | ^~~~
  25010. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  25011. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  25012. | ~~~~~~~~~~~~~~^~~~~
  25013. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  25014. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  25015. | ^~
  25016. | |
  25017. | struct mm_struct *
  25018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  25019. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  25020. | ~~~~~~~~~~~~~~^~~~~~~~
  25021. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  25022. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  25023. | ^~~~~~~~
  25024. | |
  25025. | long unsigned int
  25026. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  25027. 2535 | unsigned int gup_flags, struct page **pages);
  25028. | ~~~~~~~~~~~~~~^~~~~
  25029. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  25030. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  25031. | ^~~~~~~~~~~~~~ ~~~~~
  25032. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  25033. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  25034. | ^~~~~~~~~~~~~~
  25035. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  25036. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  25037. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  25038. 237 | return (unsigned long)(vmf->virtual_address);
  25039. | ^~~~~~~~~~~~~~~
  25040. | real_address
  25041. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25042. 287 | ktime_get_raw_ts64(&tm);
  25043. | ^~~
  25044. | |
  25045. | struct timespec64 *
  25046. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  25047. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25048. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25049. | ~~~~~~~~~~~~~~~~~~~^~
  25050. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25051. 246 | down_read(&mm->mmap_sem);
  25052. | ^~~~~~~~
  25053. | mmap_base
  25054. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  25055. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25056. 255 | up_read(&mm->mmap_sem);
  25057. | ^~~~~~~~
  25058. | mmap_base
  25059. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  25060. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25061. 264 | down_write(&mm->mmap_sem);
  25062. | ^~~~~~~~
  25063. | mmap_base
  25064. nvidia-uvm/uvm_linux.h: At top level:
  25065. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25066. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  25067. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25068. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  25069. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25070. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  25071. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25072. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25073. 273 | up_write(&mm->mmap_sem);
  25074. | ^~~~~~~~
  25075. | mmap_base
  25076. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  25077. 449 | #error "Unknown number of arguments"
  25078. | ^~~~~
  25079. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  25080. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25081. 282 | return rwsem_is_locked(&mm->mmap_sem);
  25082. | ^~~~~~~~
  25083. | mmap_base
  25084. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25085. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  25086. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25087. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25088. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  25089. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25090. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  25091. 485 | #error "Unknown number of arguments"
  25092. | ^~~~~
  25093. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  25094. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  25095. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  25096. 736 | return phys_to_dma(dev, pa);
  25097. | ^~~~~~~~~~~
  25098. | nv_phys_to_dma
  25099. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25100. 291 | return &mm->mmap_sem;
  25101. | ^~~~~~~~
  25102. | mmap_base
  25103. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  25104. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  25105. 300 | vma->vm_flags |= flags;
  25106. | ^~
  25107. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  25108. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  25109. 309 | vma->vm_flags &= ~flags;
  25110. | ^~
  25111. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  25112. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25113. 502 | NV_MEMDBG_ADD(ptr, size);
  25114. | ^
  25115. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  25116. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  25117. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  25118. | ^~~~~~~~~~~~~
  25119. | d_is_dir
  25120. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  25121. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  25122. 736 | return phys_to_dma(dev, pa);
  25123. | ^~~~~~~~~~~
  25124. | nv_phys_to_dma
  25125. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  25126. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  25127. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25128. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  25129. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25130. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25131. | ^
  25132. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25133. 573 | NV_MEMDBG_ADD(ptr, size);
  25134. | ^
  25135. ././common/inc/nv-linux.h: In function 'nv_vmap':
  25136. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25137. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  25138. | ^
  25139. cc1: some warnings being treated as errors
  25140. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  25141. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  25142. 533 | ptr = ioremap_cache_shared(phys, size);
  25143. | ^~~~~~~~~~~~~~~~~~~~
  25144. | ioremap_cache
  25145. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25146. 533 | ptr = ioremap_cache_shared(phys, size);
  25147. | ^
  25148. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25149. 556 | NV_MEMDBG_ADD(ptr, size);
  25150. | ^
  25151. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_host.o] Error 1
  25152. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  25153. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  25154. 736 | return phys_to_dma(dev, pa);
  25155. | ^~~~~~~~~~~
  25156. | nv_phys_to_dma
  25157. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  25158. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25159. 287 | ktime_get_raw_ts64(&tm);
  25160. | ^~~
  25161. | |
  25162. | struct timespec64 *
  25163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25164. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25165. | ~~~~~~~~~~~~~~~~~~~^~
  25166. nvidia-uvm/uvm_linux.h: At top level:
  25167. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25168. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  25169. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25170. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25171. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  25172. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25173. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  25174. 449 | #error "Unknown number of arguments"
  25175. | ^~~~~
  25176. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25177. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  25178. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25179. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25180. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  25181. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25182. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  25183. 485 | #error "Unknown number of arguments"
  25184. | ^~~~~
  25185. CC [M] nvidia-uvm/uvm_turing.o
  25186. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  25187. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  25188. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  25189. | ^~~~~~~~~~~~~
  25190. | d_is_dir
  25191. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  25192. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  25193. 533 | ptr = ioremap_cache_shared(phys, size);
  25194. | ^~~~~~~~~~~~~~~~~~~~
  25195. | ioremap_cache
  25196. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25197. 533 | ptr = ioremap_cache_shared(phys, size);
  25198. | ^
  25199. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25200. 556 | NV_MEMDBG_ADD(ptr, size);
  25201. | ^
  25202. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  25203. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  25204. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  25205. | ^~~~~~~~~~~~~
  25206. | d_is_dir
  25207. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  25208. from nvidia-uvm/uvm_channel.h:29,
  25209. from nvidia-uvm/uvm_push.h:29,
  25210. from nvidia-uvm/uvm_hal.h:31:
  25211. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25212. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25213. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25214. | ^~~~~~~~~~~~~~~~~~~~
  25215. In file included from ././common/inc/conftest.h:28,
  25216. from ././common/inc/nv-time.h:27,
  25217. from nvidia-uvm/uvm_linux.h:37,
  25218. from nvidia-uvm/uvm_common.h:43,
  25219. from nvidia-uvm/uvm_hal.h:28,
  25220. from nvidia-uvm/uvm_turing.c:24:
  25221. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  25222. 74 | #error dma_buf_export() conftest failed!
  25223. | ^~~~~
  25224. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  25225. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  25226. 87 | #error wait_on_bit_lock() conftest failed!
  25227. | ^~~~~
  25228. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  25229. 90 | #error radix_tree_replace_slot() conftest failed!
  25230. | ^~~~~
  25231. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  25232. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  25233. | ^~~~~~~~~~~~~
  25234. | d_is_dir
  25235. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  25236. from nvidia-uvm/uvm_channel.h:29,
  25237. from nvidia-uvm/uvm_push.h:29,
  25238. from nvidia-uvm/uvm_hal.h:31:
  25239. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25240. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25241. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25242. | ^~~~~~~~~~~~~~~~~~~~
  25243. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  25244. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25245. 287 | ktime_get_raw_ts64(&tm);
  25246. | ^~~
  25247. | |
  25248. | struct timespec64 *
  25249. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25250. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25251. | ~~~~~~~~~~~~~~~~~~~^~
  25252. nvidia-uvm/uvm_linux.h: At top level:
  25253. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25254. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  25255. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25256. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25257. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  25258. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25259. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  25260. 449 | #error "Unknown number of arguments"
  25261. | ^~~~~
  25262. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25263. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  25264. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25265. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25266. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  25267. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25268. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  25269. 485 | #error "Unknown number of arguments"
  25270. | ^~~~~
  25271. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  25272. from nvidia-uvm/uvm_gpu.h:37:
  25273. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25274. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25275. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25276. | ^~~~~~~~~~~~~~~~~~~~
  25277. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  25278. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25279. 287 | ktime_get_raw_ts64(&tm);
  25280. | ^~~
  25281. | |
  25282. | struct timespec64 *
  25283. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25284. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25285. | ~~~~~~~~~~~~~~~~~~~^~
  25286. nvidia-uvm/uvm_linux.h: At top level:
  25287. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25288. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  25289. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25290. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25291. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  25292. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25293. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  25294. 449 | #error "Unknown number of arguments"
  25295. | ^~~~~
  25296. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25297. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  25298. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25299. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25300. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  25301. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25302. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  25303. 485 | #error "Unknown number of arguments"
  25304. | ^~~~~
  25305. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  25306. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25307. 287 | ktime_get_raw_ts64(&tm);
  25308. | ^~~
  25309. | |
  25310. | struct timespec64 *
  25311. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25312. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25313. | ~~~~~~~~~~~~~~~~~~~^~
  25314. nvidia-uvm/uvm_linux.h: At top level:
  25315. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25316. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  25317. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25318. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25319. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  25320. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25321. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  25322. 449 | #error "Unknown number of arguments"
  25323. | ^~~~~
  25324. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25325. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  25326. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25327. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25328. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  25329. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25330. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  25331. 485 | #error "Unknown number of arguments"
  25332. | ^~~~~
  25333. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  25334. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  25335. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  25336. | ^~~~~~~~~~~~~~~~~~~~~~~
  25337. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25338. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25339. 520 | NV_MEMDBG_ADD(ptr, size);
  25340. | ^
  25341. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  25342. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  25343. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25344. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  25345. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25346. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25347. | ^
  25348. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25349. 573 | NV_MEMDBG_ADD(ptr, size);
  25350. | ^
  25351. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  25352. from nvidia-uvm/uvm_gpu.h:37:
  25353. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25354. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25355. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25356. | ^~~~~~~~~~~~~~~~~~~~
  25357. ././common/inc/nv-linux.h: In function 'nv_vmap':
  25358. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25359. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  25360. | ^
  25361. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  25362. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  25363. 533 | ptr = ioremap_cache_shared(phys, size);
  25364. | ^~~~~~~~~~~~~~~~~~~~
  25365. | ioremap_cache
  25366. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25367. 533 | ptr = ioremap_cache_shared(phys, size);
  25368. | ^
  25369. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25370. 556 | NV_MEMDBG_ADD(ptr, size);
  25371. | ^
  25372. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  25373. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  25374. 736 | return phys_to_dma(dev, pa);
  25375. | ^~~~~~~~~~~
  25376. | nv_phys_to_dma
  25377. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  25378. from nvidia-uvm/uvm_channel.h:29,
  25379. from nvidia-uvm/uvm_push.h:29,
  25380. from nvidia-uvm/uvm_hal.h:31,
  25381. from nvidia-uvm/uvm_pascal_host.c:26:
  25382. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25383. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25384. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25385. | ^~~~~~~~~~~~~~~~~~~~
  25386. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  25387. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  25388. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25389. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  25390. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25391. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25392. | ^
  25393. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25394. 573 | NV_MEMDBG_ADD(ptr, size);
  25395. | ^
  25396. ././common/inc/nv-linux.h: In function 'nv_vmap':
  25397. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25398. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  25399. | ^
  25400. cc1: some warnings being treated as errors
  25401. nvidia-uvm/uvm_maxwell_mmu.c: At top level:
  25402. nvidia-uvm/uvm_maxwell_mmu.c:359:21: warning: no previous prototype for 'uvm_hal_mmu_mode_maxwell' [-Wmissing-prototypes]
  25403. 359 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_maxwell(NvU32 big_page_size)
  25404. | ^~~~~~~~~~~~~~~~~~~~~~~~
  25405. nvidia-uvm/uvm_maxwell_mmu.c:368:6: warning: no previous prototype for 'uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported' [-Wmissing-prototypes]
  25406. 368 | void uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu)
  25407. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25408. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal.o] Error 1
  25409. nvidia-uvm/uvm_maxwell_mmu.c:373:6: warning: no previous prototype for 'uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported' [-Wmissing-prototypes]
  25410. 373 | void uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu)
  25411. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25412. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  25413. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  25414. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  25415. | ^~~~~~~~~~~~~
  25416. | d_is_dir
  25417. nvidia-uvm/uvm_maxwell_mmu.c:378:23: warning: no previous prototype for 'uvm_hal_maxwell_mmu_engine_id_to_type_unsupported' [-Wmissing-prototypes]
  25418. 378 | uvm_mmu_engine_type_t uvm_hal_maxwell_mmu_engine_id_to_type_unsupported(NvU16 mmu_engine_id)
  25419. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25420. 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]
  25421. 384 | NvU16 uvm_hal_maxwell_mmu_client_id_to_utlb_id_unsupported(NvU16 client_id)
  25422. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25423. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  25424. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  25425. 533 | ptr = ioremap_cache_shared(phys, size);
  25426. | ^~~~~~~~~~~~~~~~~~~~
  25427. | ioremap_cache
  25428. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25429. 533 | ptr = ioremap_cache_shared(phys, size);
  25430. | ^
  25431. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25432. 556 | NV_MEMDBG_ADD(ptr, size);
  25433. | ^
  25434. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  25435. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  25436. 736 | return phys_to_dma(dev, pa);
  25437. | ^~~~~~~~~~~
  25438. | nv_phys_to_dma
  25439. CC [M] nvidia-uvm/uvm_turing_access_counter_buffer.o
  25440. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  25441. from nvidia-uvm/uvm_channel.h:29,
  25442. from nvidia-uvm/uvm_push.h:29,
  25443. from nvidia-uvm/uvm_hal.h:31:
  25444. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25445. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25446. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25447. | ^~~~~~~~~~~~~~~~~~~~
  25448. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  25449. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25450. 287 | ktime_get_raw_ts64(&tm);
  25451. | ^~~
  25452. | |
  25453. | struct timespec64 *
  25454. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25455. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25456. | ~~~~~~~~~~~~~~~~~~~^~
  25457. cc1: some warnings being treated as errors
  25458. nvidia-uvm/uvm_linux.h: At top level:
  25459. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25460. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  25461. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25462. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25463. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  25464. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25465. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  25466. 449 | #error "Unknown number of arguments"
  25467. | ^~~~~
  25468. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25469. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  25470. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25471. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25472. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  25473. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25474. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  25475. 485 | #error "Unknown number of arguments"
  25476. | ^~~~~
  25477. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  25478. from nvidia-uvm/uvm_gpu.h:37:
  25479. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25480. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25481. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25482. | ^~~~~~~~~~~~~~~~~~~~
  25483. In file included from ././common/inc/conftest.h:28,
  25484. from ././common/inc/nv-time.h:27,
  25485. from nvidia-uvm/uvm_linux.h:37,
  25486. from nvidia-uvm/uvm_turing_access_counter_buffer.c:24:
  25487. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  25488. 74 | #error dma_buf_export() conftest failed!
  25489. | ^~~~~
  25490. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  25491. 87 | #error wait_on_bit_lock() conftest failed!
  25492. | ^~~~~
  25493. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  25494. 90 | #error radix_tree_replace_slot() conftest failed!
  25495. | ^~~~~
  25496. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_mmu.o] Error 1
  25497. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  25498. from nvidia-uvm/uvm_gpu.h:37,
  25499. from nvidia-uvm/uvm_global.h:32,
  25500. from nvidia-uvm/uvm_pascal_fault_buffer.c:25:
  25501. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25502. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25503. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25504. | ^~~~~~~~~~~~~~~~~~~~
  25505. CC [M] nvidia-uvm/uvm_turing_fault_buffer.o
  25506. cc1: some warnings being treated as errors
  25507. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  25508. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  25509. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  25510. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25511. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  25512. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  25513. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  25514. | ^~~~~~~~~~~~~
  25515. | d_is_dir
  25516. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25517. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25518. | ^
  25519. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25520. 573 | NV_MEMDBG_ADD(ptr, size);
  25521. | ^
  25522. ././common/inc/nv-linux.h: In function 'nv_vmap':
  25523. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25524. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  25525. | ^
  25526. 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
  25527. CC [M] nvidia-uvm/uvm_turing_mmu.o
  25528. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  25529. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25530. 502 | NV_MEMDBG_ADD(ptr, size);
  25531. | ^
  25532. In file included from ././common/inc/conftest.h:28,
  25533. from ././common/inc/nv-time.h:27,
  25534. from nvidia-uvm/uvm_linux.h:37,
  25535. from nvidia-uvm/uvm_turing_fault_buffer.c:24:
  25536. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  25537. 74 | #error dma_buf_export() conftest failed!
  25538. | ^~~~~
  25539. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  25540. 87 | #error wait_on_bit_lock() conftest failed!
  25541. | ^~~~~
  25542. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  25543. 90 | #error radix_tree_replace_slot() conftest failed!
  25544. | ^~~~~
  25545. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  25546. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  25547. 736 | return phys_to_dma(dev, pa);
  25548. | ^~~~~~~~~~~
  25549. | nv_phys_to_dma
  25550. In file included from ././common/inc/nv-linux.h:34,
  25551. from nvidia-uvm/uvm_linux.h:40:
  25552. ././common/inc/nv-mm.h: At top level:
  25553. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  25554. 29 | typedef int vm_fault_t;
  25555. | ^~~~~~~~~~
  25556. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  25557. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  25558. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  25559. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  25560. from ././common/inc/nv-lock.h:35,
  25561. from ././common/inc/nv-linux.h:32:
  25562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  25563. 1311 | typedef __bitwise unsigned int vm_fault_t;
  25564. | ^~~~~~~~~~
  25565. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  25566. from ././common/inc/nv-time.h:28:
  25567. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  25568. cc1: some warnings being treated as errors
  25569. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  25570. 52 | #define current get_current()
  25571. | ^~~~~~~~~~~~~
  25572. | |
  25573. | struct task_struct *
  25574. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  25575. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  25576. | ^~~~~~~
  25577. In file included from ././common/inc/nv-pgprot.h:30,
  25578. from ././common/inc/nv-linux.h:33:
  25579. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  25580. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  25581. | ~~~~~~~~~~~~~~^~~~~
  25582. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  25583. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  25584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  25585. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  25586. | ~~~~~~~~~~~~~~^~~~~~~~
  25587. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  25588. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  25589. | ^~~~~~~~
  25590. | |
  25591. | long unsigned int
  25592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  25593. 2535 | unsigned int gup_flags, struct page **pages);
  25594. | ~~~~~~~~~~~~~~^~~~~
  25595. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  25596. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  25597. | ^~~~~~~~~~~~~~ ~~~~~
  25598. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  25599. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  25600. | ^~~~~~~~~~~~~~
  25601. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  25602. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  25603. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  25604. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  25605. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  25606. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  25607. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  25608. 8 | #define NULL ((void *)0)
  25609. | ^~~~~~~~~~~
  25610. | |
  25611. | void *
  25612. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  25613. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  25614. | ^~~~
  25615. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  25616. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  25617. | ~~~~~~~~~~~~~~^~~~~
  25618. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  25619. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  25620. | ^~
  25621. | |
  25622. | struct mm_struct *
  25623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  25624. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  25625. | ~~~~~~~~~~~~~~^~~~~~~~
  25626. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  25627. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  25628. | ^~~~~~~~
  25629. | |
  25630. | long unsigned int
  25631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  25632. 2535 | unsigned int gup_flags, struct page **pages);
  25633. | ~~~~~~~~~~~~~~^~~~~
  25634. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  25635. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  25636. | ^~~~~~~~~~~~~~ ~~~~~
  25637. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  25638. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  25639. | ^~~~~~~~~~~~~~
  25640. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  25641. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  25642. 237 | return (unsigned long)(vmf->virtual_address);
  25643. | ^~~~~~~~~~~~~~~
  25644. | real_address
  25645. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  25646. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25647. 246 | down_read(&mm->mmap_sem);
  25648. | ^~~~~~~~
  25649. | mmap_base
  25650. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  25651. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25652. 255 | up_read(&mm->mmap_sem);
  25653. | ^~~~~~~~
  25654. | mmap_base
  25655. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  25656. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25657. 264 | down_write(&mm->mmap_sem);
  25658. | ^~~~~~~~
  25659. | mmap_base
  25660. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  25661. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25662. 273 | up_write(&mm->mmap_sem);
  25663. | ^~~~~~~~
  25664. | mmap_base
  25665. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  25666. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25667. 282 | return rwsem_is_locked(&mm->mmap_sem);
  25668. | ^~~~~~~~
  25669. | mmap_base
  25670. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  25671. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  25672. 291 | return &mm->mmap_sem;
  25673. | ^~~~~~~~
  25674. | mmap_base
  25675. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  25676. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  25677. 300 | vma->vm_flags |= flags;
  25678. | ^~
  25679. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  25680. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  25681. 309 | vma->vm_flags &= ~flags;
  25682. | ^~
  25683. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  25684. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25685. 287 | ktime_get_raw_ts64(&tm);
  25686. | ^~~
  25687. | |
  25688. | struct timespec64 *
  25689. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25690. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25691. | ~~~~~~~~~~~~~~~~~~~^~
  25692. nvidia-uvm/uvm_linux.h: At top level:
  25693. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25694. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  25695. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25696. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25697. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  25698. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25699. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  25700. 449 | #error "Unknown number of arguments"
  25701. | ^~~~~
  25702. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25703. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  25704. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25705. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25706. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  25707. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25708. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  25709. 485 | #error "Unknown number of arguments"
  25710. | ^~~~~
  25711. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_ce.o] Error 1
  25712. CC [M] nvidia-uvm/uvm_turing_host.o
  25713. In file included from ././common/inc/conftest.h:28,
  25714. from ././common/inc/nv-time.h:27,
  25715. from nvidia-uvm/uvm_linux.h:37,
  25716. from nvidia-uvm/uvm_extern_decl.h:27,
  25717. from nvidia-uvm/uvm_global.h:28,
  25718. from nvidia-uvm/uvm_turing_mmu.c:26:
  25719. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  25720. 74 | #error dma_buf_export() conftest failed!
  25721. | ^~~~~
  25722. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  25723. 87 | #error wait_on_bit_lock() conftest failed!
  25724. | ^~~~~
  25725. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  25726. 90 | #error radix_tree_replace_slot() conftest failed!
  25727. | ^~~~~
  25728. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  25729. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  25730. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25731. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  25732. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25733. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  25734. | ^
  25735. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25736. 573 | NV_MEMDBG_ADD(ptr, size);
  25737. | ^
  25738. ././common/inc/nv-linux.h: In function 'nv_vmap':
  25739. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25740. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  25741. | ^
  25742. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  25743. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  25744. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  25745. | ^~~~~~~~~~~~~
  25746. | d_is_dir
  25747. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  25748. from nvidia-uvm/uvm_gpu.h:37,
  25749. from nvidia-uvm/uvm_global.h:32:
  25750. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25751. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25752. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25753. | ^~~~~~~~~~~~~~~~~~~~
  25754. In file included from ././common/inc/conftest.h:28,
  25755. from ././common/inc/nv-time.h:27,
  25756. from nvidia-uvm/uvm_linux.h:37,
  25757. from nvidia-uvm/uvm_common.h:43,
  25758. from nvidia-uvm/uvm_hal.h:28,
  25759. from nvidia-uvm/uvm_turing_host.c:24:
  25760. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  25761. 74 | #error dma_buf_export() conftest failed!
  25762. | ^~~~~
  25763. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  25764. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  25765. 736 | return phys_to_dma(dev, pa);
  25766. | ^~~~~~~~~~~
  25767. | nv_phys_to_dma
  25768. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  25769. 87 | #error wait_on_bit_lock() conftest failed!
  25770. | ^~~~~
  25771. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  25772. 90 | #error radix_tree_replace_slot() conftest failed!
  25773. | ^~~~~
  25774. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  25775. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25776. 502 | NV_MEMDBG_ADD(ptr, size);
  25777. | ^
  25778. cc1: some warnings being treated as errors
  25779. nvidia-uvm/uvm_pascal_fault_buffer.c: At top level:
  25780. 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]
  25781. 329 | void uvm_hal_pascal_fault_buffer_parse_non_replayable_entry_unsupported(uvm_parent_gpu_t *parent_gpu,
  25782. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25783. cc1: some warnings being treated as errors
  25784. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_fault_buffer.o] Error 1
  25785. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  25786. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25787. 287 | ktime_get_raw_ts64(&tm);
  25788. | ^~~
  25789. | |
  25790. | struct timespec64 *
  25791. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25792. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25793. | ~~~~~~~~~~~~~~~~~~~^~
  25794. nvidia-uvm/uvm_linux.h: At top level:
  25795. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25796. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  25797. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25798. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25799. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  25800. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25801. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  25802. 449 | #error "Unknown number of arguments"
  25803. | ^~~~~
  25804. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25805. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  25806. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25807. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25808. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  25809. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25810. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  25811. 485 | #error "Unknown number of arguments"
  25812. | ^~~~~
  25813. cc1: some warnings being treated as errors
  25814. CC [M] nvidia-uvm/uvm_ampere.o
  25815. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_host.o] Error 1
  25816. cc1: some warnings being treated as errors
  25817. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_ce.o] Error 1
  25818. CC [M] nvidia-uvm/uvm_ampere_ce.o
  25819. CC [M] nvidia-uvm/uvm_ampere_host.o
  25820. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_fault_buffer.o] Error 1
  25821. CC [M] nvidia-uvm/uvm_ampere_mmu.o
  25822. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  25823. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  25824. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  25825. | ^~~~~~~~~~~~~~~~~~~~~~~
  25826. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25827. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25828. 520 | NV_MEMDBG_ADD(ptr, size);
  25829. | ^
  25830. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  25831. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  25832. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  25833. | ^~~~~~~~~~~~~
  25834. | d_is_dir
  25835. In file included from ././common/inc/conftest.h:28,
  25836. from ././common/inc/nv-time.h:27,
  25837. from nvidia-uvm/uvm_linux.h:37,
  25838. from nvidia-uvm/uvm_extern_decl.h:27,
  25839. from nvidia-uvm/uvm_global.h:28,
  25840. from nvidia-uvm/uvm_ampere.c:24:
  25841. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  25842. 74 | #error dma_buf_export() conftest failed!
  25843. | ^~~~~
  25844. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  25845. 87 | #error wait_on_bit_lock() conftest failed!
  25846. | ^~~~~
  25847. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  25848. 90 | #error radix_tree_replace_slot() conftest failed!
  25849. | ^~~~~
  25850. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  25851. from nvidia-uvm/uvm_gpu.h:37,
  25852. from nvidia-uvm/uvm_global.h:32:
  25853. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  25854. In file included from ././common/inc/conftest.h:28,
  25855. from ././common/inc/nv-time.h:27,
  25856. from nvidia-uvm/uvm_linux.h:37,
  25857. from nvidia-uvm/uvm_common.h:43,
  25858. from nvidia-uvm/uvm_hal.h:28,
  25859. from nvidia-uvm/uvm_ampere_ce.c:24:
  25860. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  25861. 74 | #error dma_buf_export() conftest failed!
  25862. | ^~~~~
  25863. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  25864. 87 | #error wait_on_bit_lock() conftest failed!
  25865. | ^~~~~
  25866. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  25867. 90 | #error radix_tree_replace_slot() conftest failed!
  25868. | ^~~~~
  25869. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  25870. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  25871. | ^~~~~~~~~~~~~~~~~~~~
  25872. In file included from ././common/inc/conftest.h:28,
  25873. from ././common/inc/nv-time.h:27,
  25874. from nvidia-uvm/uvm_linux.h:37,
  25875. from nvidia-uvm/uvm_common.h:43,
  25876. from nvidia-uvm/uvm_hal.h:28,
  25877. from nvidia-uvm/uvm_ampere_host.c:24:
  25878. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  25879. 74 | #error dma_buf_export() conftest failed!
  25880. | ^~~~~
  25881. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  25882. 87 | #error wait_on_bit_lock() conftest failed!
  25883. | ^~~~~
  25884. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  25885. 90 | #error radix_tree_replace_slot() conftest failed!
  25886. | ^~~~~
  25887. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  25888. 40 | struct timespec64 {
  25889. | ^~~~~~~~~~
  25890. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  25891. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  25892. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  25893. from ././common/inc/nv-time.h:29:
  25894. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  25895. 13 | struct timespec64 {
  25896. | ^~~~~~~~~~
  25897. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  25898. 77 | static inline struct timespec64 timespec64_add
  25899. | ^~~~~~~~~~~~~~
  25900. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  25901. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  25902. | ^~~~~~~~~~~~~~
  25903. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  25904. 95 | static inline struct timespec64 timespec64_sub
  25905. | ^~~~~~~~~~~~~~
  25906. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  25907. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  25908. | ^~~~~~~~~~~~~~
  25909. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  25910. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  25911. | ^~~~~~~~~~~~~~~~
  25912. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  25913. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  25914. | ^~~~~~~~~~~~~~~~
  25915. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  25916. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25917. 122 | ktime_get_raw_ts64(&ts);
  25918. | ^~~
  25919. | |
  25920. | struct timespec64 *
  25921. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  25922. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  25923. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  25924. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  25925. from ././common/inc/nv-time.h:30:
  25926. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25927. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25928. | ~~~~~~~~~~~~~~~~~~~^~
  25929. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  25930. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25931. 185 | ktime_get_raw_ts64(&tm_aux);
  25932. | ^~~~~~~
  25933. | |
  25934. | struct timespec64 *
  25935. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25936. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25937. | ~~~~~~~~~~~~~~~~~~~^~
  25938. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25939. 221 | ktime_get_raw_ts64(&tm_aux);
  25940. | ^~~~~~~
  25941. | |
  25942. | struct timespec64 *
  25943. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25944. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25945. | ~~~~~~~~~~~~~~~~~~~^~
  25946. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  25947. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  25948. 287 | ktime_get_raw_ts64(&tm);
  25949. | ^~~
  25950. | |
  25951. | struct timespec64 *
  25952. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  25953. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  25954. | ~~~~~~~~~~~~~~~~~~~^~
  25955. nvidia-uvm/uvm_linux.h: At top level:
  25956. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25957. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  25958. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25959. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25960. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  25961. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25962. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  25963. 449 | #error "Unknown number of arguments"
  25964. | ^~~~~
  25965. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25966. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  25967. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25968. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  25969. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  25970. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25971. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  25972. 485 | #error "Unknown number of arguments"
  25973. | ^~~~~
  25974. In file included from ././common/inc/conftest.h:28,
  25975. from ././common/inc/nv-time.h:27,
  25976. from nvidia-uvm/uvm_linux.h:37,
  25977. from nvidia-uvm/uvm_extern_decl.h:27,
  25978. from nvidia-uvm/uvm_global.h:28,
  25979. from nvidia-uvm/uvm_ampere_mmu.c:34:
  25980. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  25981. 74 | #error dma_buf_export() conftest failed!
  25982. | ^~~~~
  25983. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  25984. 87 | #error wait_on_bit_lock() conftest failed!
  25985. | ^~~~~
  25986. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  25987. 90 | #error radix_tree_replace_slot() conftest failed!
  25988. | ^~~~~
  25989. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  25990. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  25991. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  25992. | ^~~~~~~~~~~~~~~~~~~~~~~
  25993. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  25994. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  25995. 520 | NV_MEMDBG_ADD(ptr, size);
  25996. | ^
  25997. cc1: some warnings being treated as errors
  25998. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_mmu.o] Error 1
  25999. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  26000. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  26001. 533 | ptr = ioremap_cache_shared(phys, size);
  26002. | ^~~~~~~~~~~~~~~~~~~~
  26003. | ioremap_cache
  26004. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  26005. 533 | ptr = ioremap_cache_shared(phys, size);
  26006. | ^
  26007. CC [M] nvidia-uvm/uvm_hopper.o
  26008. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26009. 556 | NV_MEMDBG_ADD(ptr, size);
  26010. | ^
  26011. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  26012. from nvidia-uvm/uvm_gpu.h:37,
  26013. from nvidia-uvm/uvm_global.h:32,
  26014. from nvidia-uvm/uvm_volta_host.c:25:
  26015. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  26016. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  26017. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  26018. | ^~~~~~~~~~~~~~~~~~~~
  26019. In file included from ././common/inc/conftest.h:28,
  26020. from ././common/inc/nv-time.h:27,
  26021. from nvidia-uvm/uvm_linux.h:37,
  26022. from nvidia-uvm/uvm_extern_decl.h:27,
  26023. from nvidia-uvm/uvm_global.h:28,
  26024. from nvidia-uvm/uvm_hopper.c:24:
  26025. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  26026. 74 | #error dma_buf_export() conftest failed!
  26027. | ^~~~~
  26028. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  26029. 87 | #error wait_on_bit_lock() conftest failed!
  26030. | ^~~~~
  26031. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  26032. 90 | #error radix_tree_replace_slot() conftest failed!
  26033. | ^~~~~
  26034. nvidia-uvm/uvm_pascal_mmu.c: At top level:
  26035. nvidia-uvm/uvm_pascal_mmu.c:364:21: warning: no previous prototype for 'uvm_hal_mmu_mode_pascal' [-Wmissing-prototypes]
  26036. 364 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_pascal(NvU32 big_page_size)
  26037. | ^~~~~~~~~~~~~~~~~~~~~~~
  26038. nvidia-uvm/uvm_pascal_mmu.c:376:6: warning: no previous prototype for 'uvm_hal_pascal_mmu_enable_prefetch_faults' [-Wmissing-prototypes]
  26039. 376 | void uvm_hal_pascal_mmu_enable_prefetch_faults(uvm_parent_gpu_t *parent_gpu)
  26040. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26041. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  26042. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  26043. 533 | ptr = ioremap_cache_shared(phys, size);
  26044. | ^~~~~~~~~~~~~~~~~~~~
  26045. | ioremap_cache
  26046. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  26047. 533 | ptr = ioremap_cache_shared(phys, size);
  26048. | ^
  26049. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26050. 556 | NV_MEMDBG_ADD(ptr, size);
  26051. | ^
  26052. nvidia-uvm/uvm_pascal_mmu.c:388:6: warning: no previous prototype for 'uvm_hal_pascal_mmu_disable_prefetch_faults' [-Wmissing-prototypes]
  26053. 388 | void uvm_hal_pascal_mmu_disable_prefetch_faults(uvm_parent_gpu_t *parent_gpu)
  26054. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26055. nvidia-uvm/uvm_pascal_mmu.c:400:7: warning: no previous prototype for 'uvm_hal_pascal_mmu_client_id_to_utlb_id' [-Wmissing-prototypes]
  26056. 400 | NvU16 uvm_hal_pascal_mmu_client_id_to_utlb_id(NvU16 client_id)
  26057. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26058. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  26059. from nvidia-uvm/uvm_channel.h:29,
  26060. from nvidia-uvm/uvm_push.h:29,
  26061. from nvidia-uvm/uvm_hal.h:31:
  26062. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  26063. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  26064. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  26065. | ^~~~~~~~~~~~~~~~~~~~
  26066. cc1: some warnings being treated as errors
  26067. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_mmu.o] Error 1
  26068. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  26069. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26070. 502 | NV_MEMDBG_ADD(ptr, size);
  26071. | ^
  26072. CC [M] nvidia-uvm/uvm_hopper_fault_buffer.o
  26073. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26074. 40 | struct timespec64 {
  26075. | ^~~~~~~~~~
  26076. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26077. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26078. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26079. from ././common/inc/nv-time.h:29:
  26080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26081. 13 | struct timespec64 {
  26082. | ^~~~~~~~~~
  26083. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26084. 77 | static inline struct timespec64 timespec64_add
  26085. | ^~~~~~~~~~~~~~
  26086. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  26087. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  26088. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  26089. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  26090. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  26091. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  26092. | ^
  26093. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26094. 573 | NV_MEMDBG_ADD(ptr, size);
  26095. | ^
  26096. ././common/inc/nv-linux.h: In function 'nv_vmap':
  26097. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26098. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  26099. | ^
  26100. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26101. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26102. | ^~~~~~~~~~~~~~
  26103. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26104. 95 | static inline struct timespec64 timespec64_sub
  26105. | ^~~~~~~~~~~~~~
  26106. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26107. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26108. | ^~~~~~~~~~~~~~
  26109. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  26110. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  26111. | ^~~~~~~~~~~~~~~~
  26112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  26113. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  26114. | ^~~~~~~~~~~~~~~~
  26115. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  26116. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26117. 122 | ktime_get_raw_ts64(&ts);
  26118. | ^~~
  26119. | |
  26120. | struct timespec64 *
  26121. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  26122. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  26123. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  26124. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  26125. from ././common/inc/nv-time.h:30:
  26126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26127. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26128. | ~~~~~~~~~~~~~~~~~~~^~
  26129. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  26130. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26131. 185 | ktime_get_raw_ts64(&tm_aux);
  26132. | ^~~~~~~
  26133. | |
  26134. | struct timespec64 *
  26135. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26136. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26137. | ~~~~~~~~~~~~~~~~~~~^~
  26138. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26139. 221 | ktime_get_raw_ts64(&tm_aux);
  26140. | ^~~~~~~
  26141. | |
  26142. | struct timespec64 *
  26143. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26144. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26145. | ~~~~~~~~~~~~~~~~~~~^~
  26146. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  26147. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  26148. 736 | return phys_to_dma(dev, pa);
  26149. | ^~~~~~~~~~~
  26150. | nv_phys_to_dma
  26151. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26152. 40 | struct timespec64 {
  26153. | ^~~~~~~~~~
  26154. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26155. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26156. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26157. from ././common/inc/nv-time.h:29:
  26158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26159. 13 | struct timespec64 {
  26160. | ^~~~~~~~~~
  26161. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26162. 77 | static inline struct timespec64 timespec64_add
  26163. | ^~~~~~~~~~~~~~
  26164. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26165. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26166. | ^~~~~~~~~~~~~~
  26167. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26168. 95 | static inline struct timespec64 timespec64_sub
  26169. | ^~~~~~~~~~~~~~
  26170. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26171. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26172. | ^~~~~~~~~~~~~~
  26173. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  26174. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  26175. | ^~~~~~~~~~~~~~~~
  26176. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  26177. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  26178. | ^~~~~~~~~~~~~~~~
  26179. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  26180. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26181. 122 | ktime_get_raw_ts64(&ts);
  26182. | ^~~
  26183. | |
  26184. | struct timespec64 *
  26185. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  26186. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  26187. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  26188. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  26189. from ././common/inc/nv-time.h:30:
  26190. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26191. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26192. | ~~~~~~~~~~~~~~~~~~~^~
  26193. In file included from ././common/inc/conftest.h:28,
  26194. from ././common/inc/nv-time.h:27,
  26195. from nvidia-uvm/uvm_linux.h:37,
  26196. from nvidia-uvm/uvm_common.h:43,
  26197. from nvidia-uvm/uvm_hal_types.h:27,
  26198. from nvidia-uvm/uvm_hopper_fault_buffer.c:24:
  26199. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  26200. 74 | #error dma_buf_export() conftest failed!
  26201. | ^~~~~
  26202. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  26203. 87 | #error wait_on_bit_lock() conftest failed!
  26204. | ^~~~~
  26205. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  26206. 90 | #error radix_tree_replace_slot() conftest failed!
  26207. | ^~~~~
  26208. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  26209. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26210. 185 | ktime_get_raw_ts64(&tm_aux);
  26211. | ^~~~~~~
  26212. | |
  26213. | struct timespec64 *
  26214. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26215. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26216. | ~~~~~~~~~~~~~~~~~~~^~
  26217. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26218. 221 | ktime_get_raw_ts64(&tm_aux);
  26219. | ^~~~~~~
  26220. | |
  26221. | struct timespec64 *
  26222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26223. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26224. | ~~~~~~~~~~~~~~~~~~~^~
  26225. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26226. 40 | struct timespec64 {
  26227. | ^~~~~~~~~~
  26228. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26229. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26230. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26231. from ././common/inc/nv-time.h:29:
  26232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26233. 13 | struct timespec64 {
  26234. | ^~~~~~~~~~
  26235. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26236. 77 | static inline struct timespec64 timespec64_add
  26237. | ^~~~~~~~~~~~~~
  26238. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26239. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26240. | ^~~~~~~~~~~~~~
  26241. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26242. 95 | static inline struct timespec64 timespec64_sub
  26243. | ^~~~~~~~~~~~~~
  26244. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26245. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26246. | ^~~~~~~~~~~~~~
  26247. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  26248. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  26249. | ^~~~~~~~~~~~~~~~
  26250. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  26251. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  26252. | ^~~~~~~~~~~~~~~~
  26253. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  26254. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26255. 122 | ktime_get_raw_ts64(&ts);
  26256. | ^~~
  26257. | |
  26258. | struct timespec64 *
  26259. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  26260. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  26261. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  26262. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  26263. from ././common/inc/nv-time.h:30:
  26264. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26265. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26266. | ~~~~~~~~~~~~~~~~~~~^~
  26267. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  26268. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26269. 185 | ktime_get_raw_ts64(&tm_aux);
  26270. | ^~~~~~~
  26271. | |
  26272. | struct timespec64 *
  26273. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26274. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26275. | ~~~~~~~~~~~~~~~~~~~^~
  26276. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26277. 221 | ktime_get_raw_ts64(&tm_aux);
  26278. | ^~~~~~~
  26279. | |
  26280. | struct timespec64 *
  26281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26282. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26283. | ~~~~~~~~~~~~~~~~~~~^~
  26284. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26285. 40 | struct timespec64 {
  26286. | ^~~~~~~~~~
  26287. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26288. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26289. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26290. from ././common/inc/nv-time.h:29:
  26291. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26292. 13 | struct timespec64 {
  26293. | ^~~~~~~~~~
  26294. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26295. 77 | static inline struct timespec64 timespec64_add
  26296. | ^~~~~~~~~~~~~~
  26297. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26298. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26299. | ^~~~~~~~~~~~~~
  26300. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26301. 95 | static inline struct timespec64 timespec64_sub
  26302. | ^~~~~~~~~~~~~~
  26303. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26304. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26305. | ^~~~~~~~~~~~~~
  26306. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  26307. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  26308. | ^~~~~~~~~~~~~~~~
  26309. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  26310. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  26311. | ^~~~~~~~~~~~~~~~
  26312. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  26313. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26314. 122 | ktime_get_raw_ts64(&ts);
  26315. | ^~~
  26316. | |
  26317. | struct timespec64 *
  26318. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  26319. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  26320. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  26321. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  26322. from ././common/inc/nv-time.h:30:
  26323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26324. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26325. | ~~~~~~~~~~~~~~~~~~~^~
  26326. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  26327. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26328. 185 | ktime_get_raw_ts64(&tm_aux);
  26329. | ^~~~~~~
  26330. | |
  26331. | struct timespec64 *
  26332. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26333. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26334. | ~~~~~~~~~~~~~~~~~~~^~
  26335. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  26336. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  26337. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  26338. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  26339. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  26340. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  26341. | ^
  26342. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26343. 573 | NV_MEMDBG_ADD(ptr, size);
  26344. | ^
  26345. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26346. 221 | ktime_get_raw_ts64(&tm_aux);
  26347. | ^~~~~~~
  26348. | |
  26349. | struct timespec64 *
  26350. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26351. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26352. | ~~~~~~~~~~~~~~~~~~~^~
  26353. ././common/inc/nv-linux.h: In function 'nv_vmap':
  26354. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26355. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  26356. | ^
  26357. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  26358. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  26359. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  26360. | ^~~~~~~~~~~~~
  26361. | d_is_dir
  26362. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  26363. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  26364. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  26365. | ^~~~~~~~~~~~~~~~~~~~~~~
  26366. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  26367. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26368. 520 | NV_MEMDBG_ADD(ptr, size);
  26369. | ^
  26370. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  26371. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  26372. 736 | return phys_to_dma(dev, pa);
  26373. | ^~~~~~~~~~~
  26374. | nv_phys_to_dma
  26375. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26376. 40 | struct timespec64 {
  26377. | ^~~~~~~~~~
  26378. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26379. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26380. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26381. from ././common/inc/nv-time.h:29:
  26382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26383. 13 | struct timespec64 {
  26384. | ^~~~~~~~~~
  26385. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26386. 77 | static inline struct timespec64 timespec64_add
  26387. | ^~~~~~~~~~~~~~
  26388. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26389. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26390. | ^~~~~~~~~~~~~~
  26391. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26392. 95 | static inline struct timespec64 timespec64_sub
  26393. | ^~~~~~~~~~~~~~
  26394. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26395. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26396. | ^~~~~~~~~~~~~~
  26397. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  26398. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  26399. | ^~~~~~~~~~~~~~~~
  26400. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  26401. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  26402. | ^~~~~~~~~~~~~~~~
  26403. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  26404. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26405. 122 | ktime_get_raw_ts64(&ts);
  26406. | ^~~
  26407. | |
  26408. | struct timespec64 *
  26409. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  26410. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  26411. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  26412. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  26413. from ././common/inc/nv-time.h:30:
  26414. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26415. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26416. | ~~~~~~~~~~~~~~~~~~~^~
  26417. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  26418. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26419. 185 | ktime_get_raw_ts64(&tm_aux);
  26420. | ^~~~~~~
  26421. | |
  26422. | struct timespec64 *
  26423. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26424. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26425. | ~~~~~~~~~~~~~~~~~~~^~
  26426. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26427. 221 | ktime_get_raw_ts64(&tm_aux);
  26428. | ^~~~~~~
  26429. | |
  26430. | struct timespec64 *
  26431. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26432. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26433. | ~~~~~~~~~~~~~~~~~~~^~
  26434. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  26435. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26436. 287 | ktime_get_raw_ts64(&tm);
  26437. | ^~~
  26438. | |
  26439. | struct timespec64 *
  26440. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26441. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26442. | ~~~~~~~~~~~~~~~~~~~^~
  26443. nvidia-uvm/uvm_linux.h: At top level:
  26444. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26445. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  26446. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26447. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26448. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  26449. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26450. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  26451. 449 | #error "Unknown number of arguments"
  26452. | ^~~~~
  26453. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26454. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  26455. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26456. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26457. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  26458. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26459. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  26460. 485 | #error "Unknown number of arguments"
  26461. | ^~~~~
  26462. cc1: some warnings being treated as errors
  26463. cc1: some warnings being treated as errors
  26464. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26465. 40 | struct timespec64 {
  26466. | ^~~~~~~~~~
  26467. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26468. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26469. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26470. from ././common/inc/nv-time.h:29:
  26471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26472. 13 | struct timespec64 {
  26473. | ^~~~~~~~~~
  26474. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26475. 77 | static inline struct timespec64 timespec64_add
  26476. | ^~~~~~~~~~~~~~
  26477. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26478. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26479. | ^~~~~~~~~~~~~~
  26480. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26481. 95 | static inline struct timespec64 timespec64_sub
  26482. | ^~~~~~~~~~~~~~
  26483. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26484. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26485. | ^~~~~~~~~~~~~~
  26486. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  26487. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  26488. | ^~~~~~~~~~~~~~~~
  26489. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  26490. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  26491. | ^~~~~~~~~~~~~~~~
  26492. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  26493. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26494. 122 | ktime_get_raw_ts64(&ts);
  26495. | ^~~
  26496. | |
  26497. | struct timespec64 *
  26498. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  26499. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  26500. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  26501. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  26502. from ././common/inc/nv-time.h:30:
  26503. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26504. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26505. | ~~~~~~~~~~~~~~~~~~~^~
  26506. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  26507. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26508. 185 | ktime_get_raw_ts64(&tm_aux);
  26509. | ^~~~~~~
  26510. | |
  26511. | struct timespec64 *
  26512. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26513. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26514. | ~~~~~~~~~~~~~~~~~~~^~
  26515. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_ce.o] Error 1
  26516. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26517. 221 | ktime_get_raw_ts64(&tm_aux);
  26518. | ^~~~~~~
  26519. | |
  26520. | struct timespec64 *
  26521. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26522. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26523. | ~~~~~~~~~~~~~~~~~~~^~
  26524. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_host.o] Error 1
  26525. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  26526. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  26527. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  26528. | ^~~~~~~~~~~~~
  26529. | d_is_dir
  26530. CC [M] nvidia-uvm/uvm_hopper_ce.o
  26531. CC [M] nvidia-uvm/uvm_hopper_host.o
  26532. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26533. 40 | struct timespec64 {
  26534. | ^~~~~~~~~~
  26535. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26536. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26537. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26538. from ././common/inc/nv-time.h:29:
  26539. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26540. 13 | struct timespec64 {
  26541. | ^~~~~~~~~~
  26542. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26543. 77 | static inline struct timespec64 timespec64_add
  26544. | ^~~~~~~~~~~~~~
  26545. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26546. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26547. | ^~~~~~~~~~~~~~
  26548. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26549. 95 | static inline struct timespec64 timespec64_sub
  26550. | ^~~~~~~~~~~~~~
  26551. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26552. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26553. | ^~~~~~~~~~~~~~
  26554. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  26555. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  26556. | ^~~~~~~~~~~~~~~~
  26557. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  26558. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  26559. | ^~~~~~~~~~~~~~~~
  26560. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  26561. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26562. 122 | ktime_get_raw_ts64(&ts);
  26563. | ^~~
  26564. | |
  26565. | struct timespec64 *
  26566. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  26567. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  26568. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  26569. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  26570. from ././common/inc/nv-time.h:30:
  26571. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26572. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26573. | ~~~~~~~~~~~~~~~~~~~^~
  26574. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  26575. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26576. 185 | ktime_get_raw_ts64(&tm_aux);
  26577. | ^~~~~~~
  26578. | |
  26579. | struct timespec64 *
  26580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26581. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26582. | ~~~~~~~~~~~~~~~~~~~^~
  26583. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26584. 221 | ktime_get_raw_ts64(&tm_aux);
  26585. | ^~~~~~~
  26586. | |
  26587. | struct timespec64 *
  26588. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26589. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26590. | ~~~~~~~~~~~~~~~~~~~^~
  26591. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26592. 40 | struct timespec64 {
  26593. | ^~~~~~~~~~
  26594. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26595. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26596. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26597. from ././common/inc/nv-time.h:29:
  26598. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26599. 13 | struct timespec64 {
  26600. | ^~~~~~~~~~
  26601. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26602. 77 | static inline struct timespec64 timespec64_add
  26603. | ^~~~~~~~~~~~~~
  26604. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26605. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26606. | ^~~~~~~~~~~~~~
  26607. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26608. 95 | static inline struct timespec64 timespec64_sub
  26609. | ^~~~~~~~~~~~~~
  26610. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26611. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26612. | ^~~~~~~~~~~~~~
  26613. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  26614. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  26615. | ^~~~~~~~~~~~~~~~
  26616. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  26617. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  26618. | ^~~~~~~~~~~~~~~~
  26619. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  26620. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26621. 122 | ktime_get_raw_ts64(&ts);
  26622. | ^~~
  26623. | |
  26624. | struct timespec64 *
  26625. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  26626. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  26627. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  26628. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  26629. from ././common/inc/nv-time.h:30:
  26630. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26631. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26632. | ~~~~~~~~~~~~~~~~~~~^~
  26633. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  26634. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26635. 185 | ktime_get_raw_ts64(&tm_aux);
  26636. | ^~~~~~~
  26637. | |
  26638. | struct timespec64 *
  26639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26640. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26641. | ~~~~~~~~~~~~~~~~~~~^~
  26642. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26643. 221 | ktime_get_raw_ts64(&tm_aux);
  26644. | ^~~~~~~
  26645. | |
  26646. | struct timespec64 *
  26647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26648. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26649. | ~~~~~~~~~~~~~~~~~~~^~
  26650. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  26651. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  26652. 533 | ptr = ioremap_cache_shared(phys, size);
  26653. | ^~~~~~~~~~~~~~~~~~~~
  26654. | ioremap_cache
  26655. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  26656. 533 | ptr = ioremap_cache_shared(phys, size);
  26657. | ^
  26658. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26659. 556 | NV_MEMDBG_ADD(ptr, size);
  26660. | ^
  26661. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  26662. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26663. 287 | ktime_get_raw_ts64(&tm);
  26664. | ^~~
  26665. | |
  26666. | struct timespec64 *
  26667. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26668. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26669. | ~~~~~~~~~~~~~~~~~~~^~
  26670. nvidia-uvm/uvm_linux.h: At top level:
  26671. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26672. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  26673. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26674. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26675. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  26676. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26677. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  26678. 449 | #error "Unknown number of arguments"
  26679. | ^~~~~
  26680. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26681. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  26682. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26683. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26684. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  26685. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26686. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  26687. 485 | #error "Unknown number of arguments"
  26688. | ^~~~~
  26689. In file included from ././common/inc/nv-linux.h:34,
  26690. from nvidia-uvm/uvm_linux.h:40:
  26691. ././common/inc/nv-mm.h: At top level:
  26692. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  26693. 29 | typedef int vm_fault_t;
  26694. | ^~~~~~~~~~
  26695. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  26696. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  26697. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  26698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  26699. from ././common/inc/nv-lock.h:35,
  26700. from ././common/inc/nv-linux.h:32:
  26701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  26702. 1311 | typedef __bitwise unsigned int vm_fault_t;
  26703. | ^~~~~~~~~~
  26704. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  26705. from ././common/inc/nv-time.h:28:
  26706. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  26707. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  26708. 52 | #define current get_current()
  26709. | ^~~~~~~~~~~~~
  26710. | |
  26711. | struct task_struct *
  26712. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  26713. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  26714. | ^~~~~~~
  26715. In file included from ././common/inc/nv-pgprot.h:30,
  26716. from ././common/inc/nv-linux.h:33:
  26717. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  26718. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  26719. | ~~~~~~~~~~~~~~^~~~~
  26720. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  26721. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  26722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  26723. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  26724. | ~~~~~~~~~~~~~~^~~~~~~~
  26725. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  26726. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  26727. | ^~~~~~~~
  26728. | |
  26729. | long unsigned int
  26730. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  26731. 2535 | unsigned int gup_flags, struct page **pages);
  26732. | ~~~~~~~~~~~~~~^~~~~
  26733. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  26734. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  26735. | ^~~~~~~~~~~~~~ ~~~~~
  26736. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  26737. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  26738. | ^~~~~~~~~~~~~~
  26739. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  26740. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  26741. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  26742. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  26743. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  26744. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  26745. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  26746. 8 | #define NULL ((void *)0)
  26747. | ^~~~~~~~~~~
  26748. | |
  26749. | void *
  26750. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  26751. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  26752. | ^~~~
  26753. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  26754. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  26755. | ~~~~~~~~~~~~~~^~~~~
  26756. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  26757. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  26758. | ^~
  26759. | |
  26760. | struct mm_struct *
  26761. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  26762. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  26763. | ~~~~~~~~~~~~~~^~~~~~~~
  26764. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  26765. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  26766. | ^~~~~~~~
  26767. | |
  26768. | long unsigned int
  26769. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  26770. 2535 | unsigned int gup_flags, struct page **pages);
  26771. | ~~~~~~~~~~~~~~^~~~~
  26772. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  26773. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  26774. | ^~~~~~~~~~~~~~ ~~~~~
  26775. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  26776. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  26777. | ^~~~~~~~~~~~~~
  26778. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  26779. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  26780. 237 | return (unsigned long)(vmf->virtual_address);
  26781. | ^~~~~~~~~~~~~~~
  26782. | real_address
  26783. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  26784. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  26785. 246 | down_read(&mm->mmap_sem);
  26786. | ^~~~~~~~
  26787. | mmap_base
  26788. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  26789. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  26790. 255 | up_read(&mm->mmap_sem);
  26791. | ^~~~~~~~
  26792. | mmap_base
  26793. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  26794. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  26795. 264 | down_write(&mm->mmap_sem);
  26796. | ^~~~~~~~
  26797. | mmap_base
  26798. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  26799. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  26800. 273 | up_write(&mm->mmap_sem);
  26801. | ^~~~~~~~
  26802. | mmap_base
  26803. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  26804. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  26805. 282 | return rwsem_is_locked(&mm->mmap_sem);
  26806. | ^~~~~~~~
  26807. | mmap_base
  26808. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  26809. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  26810. 291 | return &mm->mmap_sem;
  26811. | ^~~~~~~~
  26812. | mmap_base
  26813. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  26814. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  26815. 300 | vma->vm_flags |= flags;
  26816. | ^~
  26817. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  26818. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  26819. 309 | vma->vm_flags &= ~flags;
  26820. | ^~
  26821. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26822. 40 | struct timespec64 {
  26823. | ^~~~~~~~~~
  26824. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26825. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26826. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26827. from ././common/inc/nv-time.h:29:
  26828. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26829. 13 | struct timespec64 {
  26830. | ^~~~~~~~~~
  26831. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26832. 77 | static inline struct timespec64 timespec64_add
  26833. | ^~~~~~~~~~~~~~
  26834. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26835. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26836. | ^~~~~~~~~~~~~~
  26837. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26838. 95 | static inline struct timespec64 timespec64_sub
  26839. | ^~~~~~~~~~~~~~
  26840. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26841. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26842. | ^~~~~~~~~~~~~~
  26843. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  26844. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  26845. | ^~~~~~~~~~~~~~~~
  26846. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  26847. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  26848. | ^~~~~~~~~~~~~~~~
  26849. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  26850. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26851. 122 | ktime_get_raw_ts64(&ts);
  26852. | ^~~
  26853. | |
  26854. | struct timespec64 *
  26855. In file included from ././common/inc/conftest.h:28,
  26856. from ././common/inc/nv-time.h:27,
  26857. from nvidia-uvm/uvm_linux.h:37,
  26858. from nvidia-uvm/uvm_common.h:43,
  26859. from nvidia-uvm/uvm_hal.h:28,
  26860. from nvidia-uvm/uvm_hopper_host.c:24:
  26861. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  26862. 74 | #error dma_buf_export() conftest failed!
  26863. | ^~~~~
  26864. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  26865. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  26866. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  26867. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  26868. from ././common/inc/nv-time.h:30:
  26869. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26870. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26871. | ~~~~~~~~~~~~~~~~~~~^~
  26872. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  26873. 87 | #error wait_on_bit_lock() conftest failed!
  26874. | ^~~~~
  26875. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  26876. 90 | #error radix_tree_replace_slot() conftest failed!
  26877. | ^~~~~
  26878. In file included from ././common/inc/conftest.h:28,
  26879. from ././common/inc/nv-time.h:27,
  26880. from nvidia-uvm/uvm_linux.h:37,
  26881. from nvidia-uvm/uvm_common.h:43,
  26882. from nvidia-uvm/uvm_hal.h:28,
  26883. from nvidia-uvm/uvm_hopper_ce.c:24:
  26884. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  26885. 74 | #error dma_buf_export() conftest failed!
  26886. | ^~~~~
  26887. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  26888. 87 | #error wait_on_bit_lock() conftest failed!
  26889. | ^~~~~
  26890. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  26891. 90 | #error radix_tree_replace_slot() conftest failed!
  26892. | ^~~~~
  26893. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  26894. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26895. 185 | ktime_get_raw_ts64(&tm_aux);
  26896. | ^~~~~~~
  26897. | |
  26898. | struct timespec64 *
  26899. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26900. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26901. | ~~~~~~~~~~~~~~~~~~~^~
  26902. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26903. 221 | ktime_get_raw_ts64(&tm_aux);
  26904. | ^~~~~~~
  26905. | |
  26906. | struct timespec64 *
  26907. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26908. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26909. | ~~~~~~~~~~~~~~~~~~~^~
  26910. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  26911. from nvidia-uvm/uvm_channel.h:29,
  26912. from nvidia-uvm/uvm_push.h:29,
  26913. from nvidia-uvm/uvm_hal.h:31:
  26914. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  26915. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  26916. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  26917. | ^~~~~~~~~~~~~~~~~~~~
  26918. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  26919. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  26920. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  26921. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  26922. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  26923. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  26924. | ^
  26925. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26926. 573 | NV_MEMDBG_ADD(ptr, size);
  26927. | ^
  26928. ././common/inc/nv-linux.h: In function 'nv_vmap':
  26929. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  26930. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  26931. | ^
  26932. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  26933. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  26934. 736 | return phys_to_dma(dev, pa);
  26935. | ^~~~~~~~~~~
  26936. | nv_phys_to_dma
  26937. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  26938. from nvidia-uvm/uvm_gpu.h:37,
  26939. from nvidia-uvm/uvm_global.h:32,
  26940. from nvidia-uvm/uvm_volta_fault_buffer.c:25:
  26941. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  26942. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  26943. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  26944. | ^~~~~~~~~~~~~~~~~~~~
  26945. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  26946. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  26947. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  26948. | ^~~~~~~~~~~~~
  26949. | d_is_dir
  26950. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  26951. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  26952. 287 | ktime_get_raw_ts64(&tm);
  26953. | ^~~
  26954. | |
  26955. | struct timespec64 *
  26956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  26957. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  26958. | ~~~~~~~~~~~~~~~~~~~^~
  26959. nvidia-uvm/uvm_linux.h: At top level:
  26960. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26961. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  26962. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26963. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26964. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  26965. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26966. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  26967. 449 | #error "Unknown number of arguments"
  26968. | ^~~~~
  26969. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26970. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  26971. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26972. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  26973. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  26974. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26975. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  26976. 485 | #error "Unknown number of arguments"
  26977. | ^~~~~
  26978. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  26979. 40 | struct timespec64 {
  26980. | ^~~~~~~~~~
  26981. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  26982. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  26983. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  26984. from ././common/inc/nv-time.h:29:
  26985. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  26986. 13 | struct timespec64 {
  26987. | ^~~~~~~~~~
  26988. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26989. 77 | static inline struct timespec64 timespec64_add
  26990. | ^~~~~~~~~~~~~~
  26991. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26992. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  26993. | ^~~~~~~~~~~~~~
  26994. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  26995. 95 | static inline struct timespec64 timespec64_sub
  26996. | ^~~~~~~~~~~~~~
  26997. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  26998. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  26999. | ^~~~~~~~~~~~~~
  27000. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  27001. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  27002. | ^~~~~~~~~~~~~~~~
  27003. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  27004. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  27005. | ^~~~~~~~~~~~~~~~
  27006. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  27007. cc1: some warnings being treated as errors
  27008. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  27009. 122 | ktime_get_raw_ts64(&ts);
  27010. | ^~~
  27011. | |
  27012. | struct timespec64 *
  27013. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  27014. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  27015. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  27016. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  27017. from ././common/inc/nv-time.h:30:
  27018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  27019. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  27020. | ~~~~~~~~~~~~~~~~~~~^~
  27021. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  27022. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  27023. 185 | ktime_get_raw_ts64(&tm_aux);
  27024. | ^~~~~~~
  27025. | |
  27026. | struct timespec64 *
  27027. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  27028. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  27029. | ~~~~~~~~~~~~~~~~~~~^~
  27030. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  27031. 221 | ktime_get_raw_ts64(&tm_aux);
  27032. | ^~~~~~~
  27033. | |
  27034. | struct timespec64 *
  27035. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  27036. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  27037. | ~~~~~~~~~~~~~~~~~~~^~
  27038. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta.o] Error 1
  27039. CC [M] nvidia-uvm/uvm_hopper_mmu.o
  27040. In file included from ././common/inc/conftest.h:28,
  27041. from ././common/inc/nv-time.h:27,
  27042. from nvidia-uvm/uvm_linux.h:37,
  27043. from nvidia-uvm/uvm_extern_decl.h:27,
  27044. from nvidia-uvm/uvm_global.h:28,
  27045. from nvidia-uvm/uvm_hopper_mmu.c:35:
  27046. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  27047. 74 | #error dma_buf_export() conftest failed!
  27048. | ^~~~~
  27049. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  27050. 87 | #error wait_on_bit_lock() conftest failed!
  27051. | ^~~~~
  27052. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  27053. 90 | #error radix_tree_replace_slot() conftest failed!
  27054. | ^~~~~
  27055. cc1: some warnings being treated as errors
  27056. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_fault_buffer.o] Error 1
  27057. CC [M] nvidia-uvm/uvm_ada.o
  27058. In file included from ././common/inc/nv-linux.h:34,
  27059. from nvidia-uvm/uvm_linux.h:40:
  27060. ././common/inc/nv-mm.h: At top level:
  27061. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  27062. 29 | typedef int vm_fault_t;
  27063. | ^~~~~~~~~~
  27064. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  27065. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  27066. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  27067. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  27068. from ././common/inc/nv-lock.h:35,
  27069. from ././common/inc/nv-linux.h:32:
  27070. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  27071. 1311 | typedef __bitwise unsigned int vm_fault_t;
  27072. | ^~~~~~~~~~
  27073. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  27074. from ././common/inc/nv-time.h:28:
  27075. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  27076. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27077. 52 | #define current get_current()
  27078. | ^~~~~~~~~~~~~
  27079. | |
  27080. | struct task_struct *
  27081. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  27082. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27083. | ^~~~~~~
  27084. In file included from ././common/inc/nv-pgprot.h:30,
  27085. from ././common/inc/nv-linux.h:33:
  27086. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  27087. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27088. | ~~~~~~~~~~~~~~^~~~~
  27089. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27090. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27091. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27092. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27093. | ~~~~~~~~~~~~~~^~~~~~~~
  27094. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27095. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27096. | ^~~~~~~~
  27097. | |
  27098. | long unsigned int
  27099. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27100. 2535 | unsigned int gup_flags, struct page **pages);
  27101. | ~~~~~~~~~~~~~~^~~~~
  27102. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27103. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27104. | ^~~~~~~~~~~~~~ ~~~~~
  27105. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27106. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27107. | ^~~~~~~~~~~~~~
  27108. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  27109. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  27110. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  27111. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  27112. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  27113. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  27114. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27115. 8 | #define NULL ((void *)0)
  27116. | ^~~~~~~~~~~
  27117. | |
  27118. | void *
  27119. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  27120. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27121. | ^~~~
  27122. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  27123. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27124. | ~~~~~~~~~~~~~~^~~~~
  27125. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27126. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27127. | ^~
  27128. | |
  27129. | struct mm_struct *
  27130. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27131. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27132. | ~~~~~~~~~~~~~~^~~~~~~~
  27133. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27134. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27135. | ^~~~~~~~
  27136. | |
  27137. | long unsigned int
  27138. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27139. 2535 | unsigned int gup_flags, struct page **pages);
  27140. | ~~~~~~~~~~~~~~^~~~~
  27141. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27142. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27143. | ^~~~~~~~~~~~~~ ~~~~~
  27144. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27145. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27146. | ^~~~~~~~~~~~~~
  27147. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  27148. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  27149. 237 | return (unsigned long)(vmf->virtual_address);
  27150. | ^~~~~~~~~~~~~~~
  27151. | real_address
  27152. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  27153. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27154. 246 | down_read(&mm->mmap_sem);
  27155. | ^~~~~~~~
  27156. | mmap_base
  27157. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  27158. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27159. 255 | up_read(&mm->mmap_sem);
  27160. | ^~~~~~~~
  27161. | mmap_base
  27162. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  27163. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27164. 264 | down_write(&mm->mmap_sem);
  27165. | ^~~~~~~~
  27166. | mmap_base
  27167. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  27168. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27169. 273 | up_write(&mm->mmap_sem);
  27170. | ^~~~~~~~
  27171. | mmap_base
  27172. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  27173. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27174. 282 | return rwsem_is_locked(&mm->mmap_sem);
  27175. | ^~~~~~~~
  27176. | mmap_base
  27177. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  27178. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27179. 291 | return &mm->mmap_sem;
  27180. | ^~~~~~~~
  27181. | mmap_base
  27182. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  27183. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  27184. 300 | vma->vm_flags |= flags;
  27185. | ^~
  27186. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  27187. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  27188. 309 | vma->vm_flags &= ~flags;
  27189. | ^~
  27190. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  27191. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  27192. 502 | NV_MEMDBG_ADD(ptr, size);
  27193. | ^
  27194. In file included from ././common/inc/nv-linux.h:34,
  27195. from nvidia-uvm/uvm_linux.h:40:
  27196. ././common/inc/nv-mm.h: At top level:
  27197. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  27198. 29 | typedef int vm_fault_t;
  27199. | ^~~~~~~~~~
  27200. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  27201. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  27202. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  27203. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  27204. from ././common/inc/nv-lock.h:35,
  27205. from ././common/inc/nv-linux.h:32:
  27206. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  27207. 1311 | typedef __bitwise unsigned int vm_fault_t;
  27208. | ^~~~~~~~~~
  27209. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  27210. from ././common/inc/nv-time.h:28:
  27211. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  27212. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27213. 52 | #define current get_current()
  27214. | ^~~~~~~~~~~~~
  27215. | |
  27216. | struct task_struct *
  27217. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  27218. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27219. | ^~~~~~~
  27220. In file included from ././common/inc/nv-pgprot.h:30,
  27221. from ././common/inc/nv-linux.h:33:
  27222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  27223. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27224. | ~~~~~~~~~~~~~~^~~~~
  27225. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27226. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27228. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27229. | ~~~~~~~~~~~~~~^~~~~~~~
  27230. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27231. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27232. | ^~~~~~~~
  27233. | |
  27234. | long unsigned int
  27235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27236. 2535 | unsigned int gup_flags, struct page **pages);
  27237. | ~~~~~~~~~~~~~~^~~~~
  27238. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27239. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27240. | ^~~~~~~~~~~~~~ ~~~~~
  27241. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27242. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27243. | ^~~~~~~~~~~~~~
  27244. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  27245. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  27246. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  27247. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  27248. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  27249. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  27250. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27251. 8 | #define NULL ((void *)0)
  27252. | ^~~~~~~~~~~
  27253. | |
  27254. | void *
  27255. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  27256. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27257. | ^~~~
  27258. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  27259. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27260. | ~~~~~~~~~~~~~~^~~~~
  27261. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27262. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27263. | ^~
  27264. | |
  27265. | struct mm_struct *
  27266. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27267. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27268. | ~~~~~~~~~~~~~~^~~~~~~~
  27269. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27270. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27271. | ^~~~~~~~
  27272. | |
  27273. | long unsigned int
  27274. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27275. 2535 | unsigned int gup_flags, struct page **pages);
  27276. | ~~~~~~~~~~~~~~^~~~~
  27277. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27278. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27279. | ^~~~~~~~~~~~~~ ~~~~~
  27280. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27281. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27282. | ^~~~~~~~~~~~~~
  27283. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  27284. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  27285. 237 | return (unsigned long)(vmf->virtual_address);
  27286. | ^~~~~~~~~~~~~~~
  27287. | real_address
  27288. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  27289. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27290. 246 | down_read(&mm->mmap_sem);
  27291. | ^~~~~~~~
  27292. | mmap_base
  27293. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  27294. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27295. 255 | up_read(&mm->mmap_sem);
  27296. | ^~~~~~~~
  27297. | mmap_base
  27298. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  27299. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27300. 264 | down_write(&mm->mmap_sem);
  27301. | ^~~~~~~~
  27302. | mmap_base
  27303. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  27304. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27305. 273 | up_write(&mm->mmap_sem);
  27306. | ^~~~~~~~
  27307. | mmap_base
  27308. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  27309. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27310. 282 | return rwsem_is_locked(&mm->mmap_sem);
  27311. | ^~~~~~~~
  27312. | mmap_base
  27313. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  27314. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27315. 291 | return &mm->mmap_sem;
  27316. | ^~~~~~~~
  27317. | mmap_base
  27318. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  27319. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  27320. 300 | vma->vm_flags |= flags;
  27321. | ^~
  27322. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  27323. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  27324. 309 | vma->vm_flags &= ~flags;
  27325. | ^~
  27326. In file included from ././common/inc/nv-linux.h:34,
  27327. from nvidia-uvm/uvm_linux.h:40:
  27328. ././common/inc/nv-mm.h: At top level:
  27329. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  27330. 29 | typedef int vm_fault_t;
  27331. | ^~~~~~~~~~
  27332. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  27333. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  27334. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  27335. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  27336. from ././common/inc/nv-lock.h:35,
  27337. from ././common/inc/nv-linux.h:32:
  27338. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  27339. 1311 | typedef __bitwise unsigned int vm_fault_t;
  27340. | ^~~~~~~~~~
  27341. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  27342. from ././common/inc/nv-time.h:28:
  27343. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  27344. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27345. 52 | #define current get_current()
  27346. | ^~~~~~~~~~~~~
  27347. | |
  27348. | struct task_struct *
  27349. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  27350. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27351. | ^~~~~~~
  27352. In file included from ././common/inc/nv-pgprot.h:30,
  27353. from ././common/inc/nv-linux.h:33:
  27354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  27355. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27356. | ~~~~~~~~~~~~~~^~~~~
  27357. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27358. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27359. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27360. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27361. | ~~~~~~~~~~~~~~^~~~~~~~
  27362. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27363. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27364. | ^~~~~~~~
  27365. | |
  27366. | long unsigned int
  27367. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27368. 2535 | unsigned int gup_flags, struct page **pages);
  27369. | ~~~~~~~~~~~~~~^~~~~
  27370. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27371. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27372. | ^~~~~~~~~~~~~~ ~~~~~
  27373. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27374. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27375. | ^~~~~~~~~~~~~~
  27376. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  27377. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  27378. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  27379. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  27380. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  27381. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  27382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27383. 8 | #define NULL ((void *)0)
  27384. | ^~~~~~~~~~~
  27385. | |
  27386. | void *
  27387. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  27388. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27389. | ^~~~
  27390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  27391. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27392. | ~~~~~~~~~~~~~~^~~~~
  27393. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27394. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27395. | ^~
  27396. | |
  27397. | struct mm_struct *
  27398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27399. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27400. | ~~~~~~~~~~~~~~^~~~~~~~
  27401. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27402. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27403. | ^~~~~~~~
  27404. | |
  27405. | long unsigned int
  27406. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27407. 2535 | unsigned int gup_flags, struct page **pages);
  27408. | ~~~~~~~~~~~~~~^~~~~
  27409. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27410. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27411. | ^~~~~~~~~~~~~~ ~~~~~
  27412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27413. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27414. | ^~~~~~~~~~~~~~
  27415. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  27416. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  27417. 237 | return (unsigned long)(vmf->virtual_address);
  27418. | ^~~~~~~~~~~~~~~
  27419. | real_address
  27420. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  27421. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27422. 246 | down_read(&mm->mmap_sem);
  27423. | ^~~~~~~~
  27424. | mmap_base
  27425. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  27426. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27427. 255 | up_read(&mm->mmap_sem);
  27428. | ^~~~~~~~
  27429. | mmap_base
  27430. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  27431. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27432. 264 | down_write(&mm->mmap_sem);
  27433. | ^~~~~~~~
  27434. | mmap_base
  27435. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  27436. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27437. 273 | up_write(&mm->mmap_sem);
  27438. | ^~~~~~~~
  27439. | mmap_base
  27440. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  27441. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27442. 282 | return rwsem_is_locked(&mm->mmap_sem);
  27443. | ^~~~~~~~
  27444. | mmap_base
  27445. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  27446. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27447. 291 | return &mm->mmap_sem;
  27448. | ^~~~~~~~
  27449. | mmap_base
  27450. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  27451. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  27452. 300 | vma->vm_flags |= flags;
  27453. | ^~
  27454. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  27455. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  27456. 309 | vma->vm_flags &= ~flags;
  27457. | ^~
  27458. In file included from ././common/inc/conftest.h:28,
  27459. from ././common/inc/nv-time.h:27,
  27460. from nvidia-uvm/uvm_linux.h:37,
  27461. from nvidia-uvm/uvm_extern_decl.h:27,
  27462. from nvidia-uvm/uvm_global.h:28,
  27463. from nvidia-uvm/uvm_ada.c:24:
  27464. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  27465. 74 | #error dma_buf_export() conftest failed!
  27466. | ^~~~~
  27467. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  27468. 87 | #error wait_on_bit_lock() conftest failed!
  27469. | ^~~~~
  27470. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  27471. 90 | #error radix_tree_replace_slot() conftest failed!
  27472. | ^~~~~
  27473. In file included from ././common/inc/nv-linux.h:34,
  27474. from nvidia-uvm/uvm_linux.h:40:
  27475. ././common/inc/nv-mm.h: At top level:
  27476. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  27477. 29 | typedef int vm_fault_t;
  27478. | ^~~~~~~~~~
  27479. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  27480. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  27481. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  27482. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  27483. from ././common/inc/nv-lock.h:35,
  27484. from ././common/inc/nv-linux.h:32:
  27485. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  27486. 1311 | typedef __bitwise unsigned int vm_fault_t;
  27487. | ^~~~~~~~~~
  27488. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  27489. from ././common/inc/nv-time.h:28:
  27490. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  27491. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27492. 52 | #define current get_current()
  27493. | ^~~~~~~~~~~~~
  27494. | |
  27495. | struct task_struct *
  27496. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  27497. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27498. | ^~~~~~~
  27499. In file included from ././common/inc/nv-pgprot.h:30,
  27500. from ././common/inc/nv-linux.h:33:
  27501. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  27502. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27503. | ~~~~~~~~~~~~~~^~~~~
  27504. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27505. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27506. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27507. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27508. | ~~~~~~~~~~~~~~^~~~~~~~
  27509. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27510. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27511. | ^~~~~~~~
  27512. | |
  27513. | long unsigned int
  27514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27515. 2535 | unsigned int gup_flags, struct page **pages);
  27516. | ~~~~~~~~~~~~~~^~~~~
  27517. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27518. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27519. | ^~~~~~~~~~~~~~ ~~~~~
  27520. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27521. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27522. | ^~~~~~~~~~~~~~
  27523. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  27524. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  27525. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  27526. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  27527. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  27528. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  27529. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27530. 8 | #define NULL ((void *)0)
  27531. | ^~~~~~~~~~~
  27532. | |
  27533. | void *
  27534. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  27535. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27536. | ^~~~
  27537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  27538. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27539. | ~~~~~~~~~~~~~~^~~~~
  27540. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27541. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27542. | ^~
  27543. | |
  27544. | struct mm_struct *
  27545. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27546. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27547. | ~~~~~~~~~~~~~~^~~~~~~~
  27548. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27549. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27550. | ^~~~~~~~
  27551. | |
  27552. | long unsigned int
  27553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27554. 2535 | unsigned int gup_flags, struct page **pages);
  27555. | ~~~~~~~~~~~~~~^~~~~
  27556. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27557. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27558. | ^~~~~~~~~~~~~~ ~~~~~
  27559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27560. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27561. | ^~~~~~~~~~~~~~
  27562. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  27563. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  27564. 237 | return (unsigned long)(vmf->virtual_address);
  27565. | ^~~~~~~~~~~~~~~
  27566. | real_address
  27567. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  27568. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27569. 246 | down_read(&mm->mmap_sem);
  27570. | ^~~~~~~~
  27571. | mmap_base
  27572. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  27573. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27574. 255 | up_read(&mm->mmap_sem);
  27575. | ^~~~~~~~
  27576. | mmap_base
  27577. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  27578. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27579. 264 | down_write(&mm->mmap_sem);
  27580. | ^~~~~~~~
  27581. | mmap_base
  27582. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  27583. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27584. 273 | up_write(&mm->mmap_sem);
  27585. | ^~~~~~~~
  27586. | mmap_base
  27587. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  27588. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27589. 282 | return rwsem_is_locked(&mm->mmap_sem);
  27590. | ^~~~~~~~
  27591. | mmap_base
  27592. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  27593. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27594. 291 | return &mm->mmap_sem;
  27595. | ^~~~~~~~
  27596. | mmap_base
  27597. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  27598. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  27599. 300 | vma->vm_flags |= flags;
  27600. | ^~
  27601. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  27602. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  27603. 309 | vma->vm_flags &= ~flags;
  27604. | ^~
  27605. In file included from ././common/inc/nv-linux.h:34,
  27606. from nvidia-uvm/uvm_linux.h:40:
  27607. ././common/inc/nv-mm.h: At top level:
  27608. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  27609. 29 | typedef int vm_fault_t;
  27610. | ^~~~~~~~~~
  27611. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  27612. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  27613. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  27614. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  27615. from ././common/inc/nv-lock.h:35,
  27616. from ././common/inc/nv-linux.h:32:
  27617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  27618. 1311 | typedef __bitwise unsigned int vm_fault_t;
  27619. | ^~~~~~~~~~
  27620. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  27621. from ././common/inc/nv-time.h:28:
  27622. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  27623. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27624. 52 | #define current get_current()
  27625. | ^~~~~~~~~~~~~
  27626. | |
  27627. | struct task_struct *
  27628. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  27629. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27630. | ^~~~~~~
  27631. In file included from ././common/inc/nv-pgprot.h:30,
  27632. from ././common/inc/nv-linux.h:33:
  27633. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  27634. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27635. | ~~~~~~~~~~~~~~^~~~~
  27636. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27637. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27639. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27640. | ~~~~~~~~~~~~~~^~~~~~~~
  27641. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27642. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27643. | ^~~~~~~~
  27644. | |
  27645. | long unsigned int
  27646. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27647. 2535 | unsigned int gup_flags, struct page **pages);
  27648. | ~~~~~~~~~~~~~~^~~~~
  27649. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27650. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27651. | ^~~~~~~~~~~~~~ ~~~~~
  27652. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27653. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27654. | ^~~~~~~~~~~~~~
  27655. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  27656. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  27657. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  27658. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  27659. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  27660. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  27661. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27662. 8 | #define NULL ((void *)0)
  27663. | ^~~~~~~~~~~
  27664. | |
  27665. | void *
  27666. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  27667. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27668. | ^~~~
  27669. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  27670. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27671. | ~~~~~~~~~~~~~~^~~~~
  27672. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27673. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27674. | ^~
  27675. | |
  27676. | struct mm_struct *
  27677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27678. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27679. | ~~~~~~~~~~~~~~^~~~~~~~
  27680. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27681. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27682. | ^~~~~~~~
  27683. | |
  27684. | long unsigned int
  27685. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27686. 2535 | unsigned int gup_flags, struct page **pages);
  27687. | ~~~~~~~~~~~~~~^~~~~
  27688. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27689. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27690. | ^~~~~~~~~~~~~~ ~~~~~
  27691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27692. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27693. | ^~~~~~~~~~~~~~
  27694. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  27695. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  27696. 237 | return (unsigned long)(vmf->virtual_address);
  27697. | ^~~~~~~~~~~~~~~
  27698. | real_address
  27699. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  27700. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27701. 246 | down_read(&mm->mmap_sem);
  27702. | ^~~~~~~~
  27703. | mmap_base
  27704. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  27705. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27706. 255 | up_read(&mm->mmap_sem);
  27707. | ^~~~~~~~
  27708. | mmap_base
  27709. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  27710. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27711. 264 | down_write(&mm->mmap_sem);
  27712. | ^~~~~~~~
  27713. | mmap_base
  27714. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  27715. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27716. 273 | up_write(&mm->mmap_sem);
  27717. | ^~~~~~~~
  27718. | mmap_base
  27719. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  27720. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27721. 282 | return rwsem_is_locked(&mm->mmap_sem);
  27722. | ^~~~~~~~
  27723. | mmap_base
  27724. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  27725. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27726. 291 | return &mm->mmap_sem;
  27727. | ^~~~~~~~
  27728. | mmap_base
  27729. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  27730. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  27731. 300 | vma->vm_flags |= flags;
  27732. | ^~
  27733. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  27734. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  27735. 309 | vma->vm_flags &= ~flags;
  27736. | ^~
  27737. In file included from ././common/inc/nv-linux.h:34,
  27738. from nvidia-uvm/uvm_linux.h:40:
  27739. ././common/inc/nv-mm.h: At top level:
  27740. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  27741. 29 | typedef int vm_fault_t;
  27742. | ^~~~~~~~~~
  27743. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  27744. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  27745. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  27746. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  27747. from ././common/inc/nv-lock.h:35,
  27748. from ././common/inc/nv-linux.h:32:
  27749. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  27750. 1311 | typedef __bitwise unsigned int vm_fault_t;
  27751. | ^~~~~~~~~~
  27752. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  27753. from ././common/inc/nv-time.h:28:
  27754. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  27755. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27756. 52 | #define current get_current()
  27757. | ^~~~~~~~~~~~~
  27758. | |
  27759. | struct task_struct *
  27760. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  27761. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27762. | ^~~~~~~
  27763. In file included from ././common/inc/nv-pgprot.h:30,
  27764. from ././common/inc/nv-linux.h:33:
  27765. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  27766. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27767. | ~~~~~~~~~~~~~~^~~~~
  27768. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27769. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27770. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27771. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27772. | ~~~~~~~~~~~~~~^~~~~~~~
  27773. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27774. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27775. | ^~~~~~~~
  27776. | |
  27777. | long unsigned int
  27778. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27779. 2535 | unsigned int gup_flags, struct page **pages);
  27780. | ~~~~~~~~~~~~~~^~~~~
  27781. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27782. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27783. | ^~~~~~~~~~~~~~ ~~~~~
  27784. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27785. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27786. | ^~~~~~~~~~~~~~
  27787. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  27788. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  27789. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  27790. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  27791. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  27792. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  27793. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27794. 8 | #define NULL ((void *)0)
  27795. | ^~~~~~~~~~~
  27796. | |
  27797. | void *
  27798. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  27799. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27800. | ^~~~
  27801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  27802. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27803. | ~~~~~~~~~~~~~~^~~~~
  27804. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27805. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27806. | ^~
  27807. | |
  27808. | struct mm_struct *
  27809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27810. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27811. | ~~~~~~~~~~~~~~^~~~~~~~
  27812. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27813. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27814. | ^~~~~~~~
  27815. | |
  27816. | long unsigned int
  27817. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27818. 2535 | unsigned int gup_flags, struct page **pages);
  27819. | ~~~~~~~~~~~~~~^~~~~
  27820. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27821. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27822. | ^~~~~~~~~~~~~~ ~~~~~
  27823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27824. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27825. | ^~~~~~~~~~~~~~
  27826. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  27827. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  27828. 237 | return (unsigned long)(vmf->virtual_address);
  27829. | ^~~~~~~~~~~~~~~
  27830. | real_address
  27831. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  27832. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27833. 246 | down_read(&mm->mmap_sem);
  27834. | ^~~~~~~~
  27835. | mmap_base
  27836. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  27837. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27838. 255 | up_read(&mm->mmap_sem);
  27839. | ^~~~~~~~
  27840. | mmap_base
  27841. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  27842. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27843. 264 | down_write(&mm->mmap_sem);
  27844. | ^~~~~~~~
  27845. | mmap_base
  27846. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  27847. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27848. 273 | up_write(&mm->mmap_sem);
  27849. | ^~~~~~~~
  27850. | mmap_base
  27851. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  27852. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27853. 282 | return rwsem_is_locked(&mm->mmap_sem);
  27854. | ^~~~~~~~
  27855. | mmap_base
  27856. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  27857. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  27858. 291 | return &mm->mmap_sem;
  27859. | ^~~~~~~~
  27860. | mmap_base
  27861. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  27862. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  27863. 300 | vma->vm_flags |= flags;
  27864. | ^~
  27865. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  27866. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  27867. 309 | vma->vm_flags &= ~flags;
  27868. | ^~
  27869. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  27870. from nvidia-uvm/uvm_gpu.h:37,
  27871. from nvidia-uvm/uvm_global.h:32,
  27872. from nvidia-uvm/uvm_volta_access_counter_buffer.c:25:
  27873. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  27874. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  27875. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  27876. | ^~~~~~~~~~~~~~~~~~~~
  27877. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  27878. 40 | struct timespec64 {
  27879. | ^~~~~~~~~~
  27880. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  27881. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  27882. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  27883. from ././common/inc/nv-time.h:29:
  27884. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  27885. 13 | struct timespec64 {
  27886. | ^~~~~~~~~~
  27887. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  27888. 77 | static inline struct timespec64 timespec64_add
  27889. | ^~~~~~~~~~~~~~
  27890. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  27891. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  27892. | ^~~~~~~~~~~~~~
  27893. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  27894. 95 | static inline struct timespec64 timespec64_sub
  27895. | ^~~~~~~~~~~~~~
  27896. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  27897. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  27898. | ^~~~~~~~~~~~~~
  27899. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  27900. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  27901. | ^~~~~~~~~~~~~~~~
  27902. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  27903. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  27904. | ^~~~~~~~~~~~~~~~
  27905. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  27906. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  27907. 122 | ktime_get_raw_ts64(&ts);
  27908. | ^~~
  27909. | |
  27910. | struct timespec64 *
  27911. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  27912. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  27913. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  27914. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  27915. from ././common/inc/nv-time.h:30:
  27916. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  27917. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  27918. | ~~~~~~~~~~~~~~~~~~~^~
  27919. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  27920. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  27921. 185 | ktime_get_raw_ts64(&tm_aux);
  27922. | ^~~~~~~
  27923. | |
  27924. | struct timespec64 *
  27925. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  27926. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  27927. | ~~~~~~~~~~~~~~~~~~~^~
  27928. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  27929. 221 | ktime_get_raw_ts64(&tm_aux);
  27930. | ^~~~~~~
  27931. | |
  27932. | struct timespec64 *
  27933. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  27934. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  27935. | ~~~~~~~~~~~~~~~~~~~^~
  27936. In file included from ././common/inc/nv-linux.h:34,
  27937. from nvidia-uvm/uvm_linux.h:40:
  27938. ././common/inc/nv-mm.h: At top level:
  27939. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  27940. 29 | typedef int vm_fault_t;
  27941. | ^~~~~~~~~~
  27942. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  27943. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  27944. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  27945. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  27946. from ././common/inc/nv-lock.h:35,
  27947. from ././common/inc/nv-linux.h:32:
  27948. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  27949. 1311 | typedef __bitwise unsigned int vm_fault_t;
  27950. | ^~~~~~~~~~
  27951. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  27952. from ././common/inc/nv-time.h:28:
  27953. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  27954. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27955. 52 | #define current get_current()
  27956. | ^~~~~~~~~~~~~
  27957. | |
  27958. | struct task_struct *
  27959. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  27960. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27961. | ^~~~~~~
  27962. In file included from ././common/inc/nv-pgprot.h:30,
  27963. from ././common/inc/nv-linux.h:33:
  27964. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  27965. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27966. | ~~~~~~~~~~~~~~^~~~~
  27967. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27968. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27969. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  27970. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27971. | ~~~~~~~~~~~~~~^~~~~~~~
  27972. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  27973. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27974. | ^~~~~~~~
  27975. | |
  27976. | long unsigned int
  27977. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  27978. 2535 | unsigned int gup_flags, struct page **pages);
  27979. | ~~~~~~~~~~~~~~^~~~~
  27980. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  27981. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  27982. | ^~~~~~~~~~~~~~ ~~~~~
  27983. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  27984. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  27985. | ^~~~~~~~~~~~~~
  27986. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  27987. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  27988. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  27989. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  27990. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  27991. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  27992. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  27993. 8 | #define NULL ((void *)0)
  27994. | ^~~~~~~~~~~
  27995. | |
  27996. | void *
  27997. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  27998. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  27999. | ^~~~
  28000. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  28001. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28002. | ~~~~~~~~~~~~~~^~~~~
  28003. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28004. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28005. | ^~
  28006. | |
  28007. | struct mm_struct *
  28008. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  28009. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28010. | ~~~~~~~~~~~~~~^~~~~~~~
  28011. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  28012. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28013. | ^~~~~~~~
  28014. | |
  28015. | long unsigned int
  28016. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  28017. 2535 | unsigned int gup_flags, struct page **pages);
  28018. | ~~~~~~~~~~~~~~^~~~~
  28019. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  28020. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28021. | ^~~~~~~~~~~~~~ ~~~~~
  28022. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  28023. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28024. | ^~~~~~~~~~~~~~
  28025. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  28026. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  28027. 237 | return (unsigned long)(vmf->virtual_address);
  28028. | ^~~~~~~~~~~~~~~
  28029. | real_address
  28030. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  28031. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28032. 246 | down_read(&mm->mmap_sem);
  28033. | ^~~~~~~~
  28034. | mmap_base
  28035. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  28036. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28037. 255 | up_read(&mm->mmap_sem);
  28038. | ^~~~~~~~
  28039. | mmap_base
  28040. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  28041. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28042. 264 | down_write(&mm->mmap_sem);
  28043. | ^~~~~~~~
  28044. | mmap_base
  28045. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  28046. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28047. 273 | up_write(&mm->mmap_sem);
  28048. | ^~~~~~~~
  28049. | mmap_base
  28050. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  28051. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28052. 282 | return rwsem_is_locked(&mm->mmap_sem);
  28053. | ^~~~~~~~
  28054. | mmap_base
  28055. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  28056. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28057. 291 | return &mm->mmap_sem;
  28058. | ^~~~~~~~
  28059. | mmap_base
  28060. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  28061. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  28062. 300 | vma->vm_flags |= flags;
  28063. | ^~
  28064. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  28065. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  28066. 309 | vma->vm_flags &= ~flags;
  28067. | ^~
  28068. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  28069. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  28070. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  28071. | ^~~~~~~~~~~~~~~~~~~~~~~
  28072. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28073. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28074. 520 | NV_MEMDBG_ADD(ptr, size);
  28075. | ^
  28076. In file included from ././common/inc/nv-linux.h:34,
  28077. from nvidia-uvm/uvm_linux.h:40:
  28078. ././common/inc/nv-mm.h: At top level:
  28079. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  28080. 29 | typedef int vm_fault_t;
  28081. | ^~~~~~~~~~
  28082. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  28083. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  28084. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  28085. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  28086. from ././common/inc/nv-lock.h:35,
  28087. from ././common/inc/nv-linux.h:32:
  28088. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  28089. 1311 | typedef __bitwise unsigned int vm_fault_t;
  28090. | ^~~~~~~~~~
  28091. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  28092. from ././common/inc/nv-time.h:28:
  28093. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  28094. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28095. 52 | #define current get_current()
  28096. | ^~~~~~~~~~~~~
  28097. | |
  28098. | struct task_struct *
  28099. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  28100. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28101. | ^~~~~~~
  28102. In file included from ././common/inc/nv-pgprot.h:30,
  28103. from ././common/inc/nv-linux.h:33:
  28104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  28105. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28106. | ~~~~~~~~~~~~~~^~~~~
  28107. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28108. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28109. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  28110. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28111. | ~~~~~~~~~~~~~~^~~~~~~~
  28112. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  28113. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28114. | ^~~~~~~~
  28115. | |
  28116. | long unsigned int
  28117. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  28118. 2535 | unsigned int gup_flags, struct page **pages);
  28119. | ~~~~~~~~~~~~~~^~~~~
  28120. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  28121. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28122. | ^~~~~~~~~~~~~~ ~~~~~
  28123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  28124. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28125. | ^~~~~~~~~~~~~~
  28126. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  28127. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  28128. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  28129. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  28130. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  28131. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  28132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28133. 8 | #define NULL ((void *)0)
  28134. | ^~~~~~~~~~~
  28135. | |
  28136. | void *
  28137. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  28138. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28139. | ^~~~
  28140. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  28141. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28142. | ~~~~~~~~~~~~~~^~~~~
  28143. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28144. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28145. | ^~
  28146. | |
  28147. | struct mm_struct *
  28148. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  28149. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28150. | ~~~~~~~~~~~~~~^~~~~~~~
  28151. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  28152. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28153. | ^~~~~~~~
  28154. | |
  28155. | long unsigned int
  28156. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  28157. 2535 | unsigned int gup_flags, struct page **pages);
  28158. | ~~~~~~~~~~~~~~^~~~~
  28159. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  28160. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28161. | ^~~~~~~~~~~~~~ ~~~~~
  28162. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  28163. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28164. | ^~~~~~~~~~~~~~
  28165. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  28166. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  28167. 237 | return (unsigned long)(vmf->virtual_address);
  28168. | ^~~~~~~~~~~~~~~
  28169. | real_address
  28170. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  28171. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28172. 246 | down_read(&mm->mmap_sem);
  28173. | ^~~~~~~~
  28174. | mmap_base
  28175. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  28176. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28177. 255 | up_read(&mm->mmap_sem);
  28178. | ^~~~~~~~
  28179. | mmap_base
  28180. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  28181. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28182. 264 | down_write(&mm->mmap_sem);
  28183. | ^~~~~~~~
  28184. | mmap_base
  28185. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  28186. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28187. 273 | up_write(&mm->mmap_sem);
  28188. | ^~~~~~~~
  28189. | mmap_base
  28190. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  28191. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28192. 282 | return rwsem_is_locked(&mm->mmap_sem);
  28193. | ^~~~~~~~
  28194. | mmap_base
  28195. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  28196. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28197. 291 | return &mm->mmap_sem;
  28198. | ^~~~~~~~
  28199. | mmap_base
  28200. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  28201. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  28202. 300 | vma->vm_flags |= flags;
  28203. | ^~
  28204. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  28205. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  28206. 309 | vma->vm_flags &= ~flags;
  28207. | ^~
  28208. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  28209. 40 | struct timespec64 {
  28210. | ^~~~~~~~~~
  28211. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  28212. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  28213. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  28214. from ././common/inc/nv-time.h:29:
  28215. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  28216. 13 | struct timespec64 {
  28217. | ^~~~~~~~~~
  28218. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  28219. 77 | static inline struct timespec64 timespec64_add
  28220. | ^~~~~~~~~~~~~~
  28221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  28222. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  28223. | ^~~~~~~~~~~~~~
  28224. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  28225. 95 | static inline struct timespec64 timespec64_sub
  28226. | ^~~~~~~~~~~~~~
  28227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  28228. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  28229. | ^~~~~~~~~~~~~~
  28230. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  28231. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  28232. | ^~~~~~~~~~~~~~~~
  28233. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  28234. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  28235. | ^~~~~~~~~~~~~~~~
  28236. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  28237. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28238. 122 | ktime_get_raw_ts64(&ts);
  28239. | ^~~
  28240. | |
  28241. | struct timespec64 *
  28242. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  28243. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  28244. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  28245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  28246. from ././common/inc/nv-time.h:30:
  28247. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28248. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28249. | ~~~~~~~~~~~~~~~~~~~^~
  28250. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  28251. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28252. 185 | ktime_get_raw_ts64(&tm_aux);
  28253. | ^~~~~~~
  28254. | |
  28255. | struct timespec64 *
  28256. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28257. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28258. | ~~~~~~~~~~~~~~~~~~~^~
  28259. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28260. 221 | ktime_get_raw_ts64(&tm_aux);
  28261. | ^~~~~~~
  28262. | |
  28263. | struct timespec64 *
  28264. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28265. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28266. | ~~~~~~~~~~~~~~~~~~~^~
  28267. In file included from ././common/inc/nv-linux.h:34,
  28268. from nvidia-uvm/uvm_linux.h:40:
  28269. ././common/inc/nv-mm.h: At top level:
  28270. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  28271. 29 | typedef int vm_fault_t;
  28272. | ^~~~~~~~~~
  28273. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  28274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  28275. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  28276. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  28277. from ././common/inc/nv-lock.h:35,
  28278. from ././common/inc/nv-linux.h:32:
  28279. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  28280. 1311 | typedef __bitwise unsigned int vm_fault_t;
  28281. | ^~~~~~~~~~
  28282. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  28283. from ././common/inc/nv-time.h:28:
  28284. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  28285. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28286. 52 | #define current get_current()
  28287. | ^~~~~~~~~~~~~
  28288. | |
  28289. | struct task_struct *
  28290. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  28291. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28292. | ^~~~~~~
  28293. In file included from ././common/inc/nv-pgprot.h:30,
  28294. from ././common/inc/nv-linux.h:33:
  28295. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  28296. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28297. | ~~~~~~~~~~~~~~^~~~~
  28298. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28299. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  28301. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28302. | ~~~~~~~~~~~~~~^~~~~~~~
  28303. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  28304. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28305. | ^~~~~~~~
  28306. | |
  28307. | long unsigned int
  28308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  28309. 2535 | unsigned int gup_flags, struct page **pages);
  28310. | ~~~~~~~~~~~~~~^~~~~
  28311. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  28312. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28313. | ^~~~~~~~~~~~~~ ~~~~~
  28314. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  28315. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28316. | ^~~~~~~~~~~~~~
  28317. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  28318. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  28319. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  28320. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  28321. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  28322. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  28323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28324. 8 | #define NULL ((void *)0)
  28325. | ^~~~~~~~~~~
  28326. | |
  28327. | void *
  28328. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  28329. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28330. | ^~~~
  28331. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  28332. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28333. | ~~~~~~~~~~~~~~^~~~~
  28334. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28335. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28336. | ^~
  28337. | |
  28338. | struct mm_struct *
  28339. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  28340. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28341. | ~~~~~~~~~~~~~~^~~~~~~~
  28342. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  28343. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28344. | ^~~~~~~~
  28345. | |
  28346. | long unsigned int
  28347. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  28348. 2535 | unsigned int gup_flags, struct page **pages);
  28349. | ~~~~~~~~~~~~~~^~~~~
  28350. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  28351. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28352. | ^~~~~~~~~~~~~~ ~~~~~
  28353. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  28354. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28355. | ^~~~~~~~~~~~~~
  28356. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  28357. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  28358. 237 | return (unsigned long)(vmf->virtual_address);
  28359. | ^~~~~~~~~~~~~~~
  28360. | real_address
  28361. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  28362. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28363. 246 | down_read(&mm->mmap_sem);
  28364. | ^~~~~~~~
  28365. | mmap_base
  28366. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  28367. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28368. 255 | up_read(&mm->mmap_sem);
  28369. | ^~~~~~~~
  28370. | mmap_base
  28371. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  28372. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28373. 264 | down_write(&mm->mmap_sem);
  28374. | ^~~~~~~~
  28375. | mmap_base
  28376. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  28377. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28378. 273 | up_write(&mm->mmap_sem);
  28379. | ^~~~~~~~
  28380. | mmap_base
  28381. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  28382. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28383. 282 | return rwsem_is_locked(&mm->mmap_sem);
  28384. | ^~~~~~~~
  28385. | mmap_base
  28386. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  28387. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28388. 291 | return &mm->mmap_sem;
  28389. | ^~~~~~~~
  28390. | mmap_base
  28391. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  28392. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  28393. 300 | vma->vm_flags |= flags;
  28394. | ^~
  28395. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  28396. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  28397. 309 | vma->vm_flags &= ~flags;
  28398. | ^~
  28399. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  28400. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  28401. 533 | ptr = ioremap_cache_shared(phys, size);
  28402. | ^~~~~~~~~~~~~~~~~~~~
  28403. | ioremap_cache
  28404. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28405. 533 | ptr = ioremap_cache_shared(phys, size);
  28406. | ^
  28407. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28408. 556 | NV_MEMDBG_ADD(ptr, size);
  28409. | ^
  28410. cc1: some warnings being treated as errors
  28411. 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
  28412. CC [M] nvidia-uvm/uvm_policy.o
  28413. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  28414. 40 | struct timespec64 {
  28415. | ^~~~~~~~~~
  28416. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  28417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  28418. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  28419. from ././common/inc/nv-time.h:29:
  28420. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  28421. 13 | struct timespec64 {
  28422. | ^~~~~~~~~~
  28423. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  28424. 77 | static inline struct timespec64 timespec64_add
  28425. | ^~~~~~~~~~~~~~
  28426. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  28427. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  28428. | ^~~~~~~~~~~~~~
  28429. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  28430. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  28431. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  28432. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  28433. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28434. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  28435. | ^
  28436. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  28437. 95 | static inline struct timespec64 timespec64_sub
  28438. | ^~~~~~~~~~~~~~
  28439. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  28440. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  28441. | ^~~~~~~~~~~~~~
  28442. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28443. 573 | NV_MEMDBG_ADD(ptr, size);
  28444. | ^
  28445. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  28446. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  28447. | ^~~~~~~~~~~~~~~~
  28448. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  28449. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  28450. | ^~~~~~~~~~~~~~~~
  28451. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  28452. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28453. 122 | ktime_get_raw_ts64(&ts);
  28454. | ^~~
  28455. | |
  28456. | struct timespec64 *
  28457. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  28458. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  28459. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  28460. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  28461. from ././common/inc/nv-time.h:30:
  28462. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28463. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28464. | ~~~~~~~~~~~~~~~~~~~^~
  28465. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  28466. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28467. 185 | ktime_get_raw_ts64(&tm_aux);
  28468. | ^~~~~~~
  28469. | |
  28470. | struct timespec64 *
  28471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28472. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28473. | ~~~~~~~~~~~~~~~~~~~^~
  28474. ././common/inc/nv-linux.h: In function 'nv_vmap':
  28475. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28476. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  28477. | ^
  28478. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28479. 221 | ktime_get_raw_ts64(&tm_aux);
  28480. | ^~~~~~~
  28481. | |
  28482. | struct timespec64 *
  28483. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28484. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28485. | ~~~~~~~~~~~~~~~~~~~^~
  28486. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  28487. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  28488. 736 | return phys_to_dma(dev, pa);
  28489. | ^~~~~~~~~~~
  28490. | nv_phys_to_dma
  28491. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  28492. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28493. 502 | NV_MEMDBG_ADD(ptr, size);
  28494. | ^
  28495. In file included from ././common/inc/conftest.h:28,
  28496. from ././common/inc/nv-time.h:27,
  28497. from nvidia-uvm/uvm_linux.h:37,
  28498. from nvidia-uvm/uvm_processors.h:27,
  28499. from nvidia-uvm/uvm_va_space.h:27,
  28500. from nvidia-uvm/uvm_policy.c:25:
  28501. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  28502. 74 | #error dma_buf_export() conftest failed!
  28503. | ^~~~~
  28504. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  28505. 87 | #error wait_on_bit_lock() conftest failed!
  28506. | ^~~~~
  28507. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  28508. 90 | #error radix_tree_replace_slot() conftest failed!
  28509. | ^~~~~
  28510. In file included from ././common/inc/nv-linux.h:34,
  28511. from nvidia-uvm/uvm_linux.h:40:
  28512. ././common/inc/nv-mm.h: At top level:
  28513. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  28514. 29 | typedef int vm_fault_t;
  28515. | ^~~~~~~~~~
  28516. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  28517. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  28518. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  28519. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  28520. from ././common/inc/nv-lock.h:35,
  28521. from ././common/inc/nv-linux.h:32:
  28522. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  28523. 1311 | typedef __bitwise unsigned int vm_fault_t;
  28524. | ^~~~~~~~~~
  28525. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  28526. from ././common/inc/nv-time.h:28:
  28527. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  28528. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28529. 52 | #define current get_current()
  28530. | ^~~~~~~~~~~~~
  28531. | |
  28532. | struct task_struct *
  28533. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  28534. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28535. | ^~~~~~~
  28536. In file included from ././common/inc/nv-pgprot.h:30,
  28537. from ././common/inc/nv-linux.h:33:
  28538. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  28539. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28540. | ~~~~~~~~~~~~~~^~~~~
  28541. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28542. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28543. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  28544. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28545. | ~~~~~~~~~~~~~~^~~~~~~~
  28546. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  28547. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28548. | ^~~~~~~~
  28549. | |
  28550. | long unsigned int
  28551. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  28552. 2535 | unsigned int gup_flags, struct page **pages);
  28553. | ~~~~~~~~~~~~~~^~~~~
  28554. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  28555. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28556. | ^~~~~~~~~~~~~~ ~~~~~
  28557. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  28558. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28559. | ^~~~~~~~~~~~~~
  28560. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  28561. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  28562. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  28563. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  28564. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  28565. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  28566. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28567. 8 | #define NULL ((void *)0)
  28568. | ^~~~~~~~~~~
  28569. | |
  28570. | void *
  28571. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  28572. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28573. | ^~~~
  28574. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  28575. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28576. | ~~~~~~~~~~~~~~^~~~~
  28577. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28578. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28579. | ^~
  28580. | |
  28581. | struct mm_struct *
  28582. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  28583. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28584. | ~~~~~~~~~~~~~~^~~~~~~~
  28585. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  28586. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28587. | ^~~~~~~~
  28588. | |
  28589. | long unsigned int
  28590. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  28591. 2535 | unsigned int gup_flags, struct page **pages);
  28592. | ~~~~~~~~~~~~~~^~~~~
  28593. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  28594. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28595. | ^~~~~~~~~~~~~~ ~~~~~
  28596. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  28597. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28598. | ^~~~~~~~~~~~~~
  28599. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  28600. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  28601. 237 | return (unsigned long)(vmf->virtual_address);
  28602. | ^~~~~~~~~~~~~~~
  28603. | real_address
  28604. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  28605. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28606. 246 | down_read(&mm->mmap_sem);
  28607. | ^~~~~~~~
  28608. | mmap_base
  28609. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  28610. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28611. 255 | up_read(&mm->mmap_sem);
  28612. | ^~~~~~~~
  28613. | mmap_base
  28614. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  28615. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28616. 264 | down_write(&mm->mmap_sem);
  28617. | ^~~~~~~~
  28618. | mmap_base
  28619. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  28620. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28621. 273 | up_write(&mm->mmap_sem);
  28622. | ^~~~~~~~
  28623. | mmap_base
  28624. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  28625. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28626. 282 | return rwsem_is_locked(&mm->mmap_sem);
  28627. | ^~~~~~~~
  28628. | mmap_base
  28629. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  28630. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28631. 291 | return &mm->mmap_sem;
  28632. | ^~~~~~~~
  28633. | mmap_base
  28634. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  28635. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  28636. 300 | vma->vm_flags |= flags;
  28637. | ^~
  28638. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  28639. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  28640. 309 | vma->vm_flags &= ~flags;
  28641. | ^~
  28642. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  28643. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28644. 502 | NV_MEMDBG_ADD(ptr, size);
  28645. | ^
  28646. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  28647. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28648. 502 | NV_MEMDBG_ADD(ptr, size);
  28649. | ^
  28650. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  28651. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  28652. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  28653. | ^~~~~~~~~~~~~
  28654. | d_is_dir
  28655. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  28656. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28657. 502 | NV_MEMDBG_ADD(ptr, size);
  28658. | ^
  28659. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  28660. 40 | struct timespec64 {
  28661. | ^~~~~~~~~~
  28662. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  28663. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  28664. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  28665. from ././common/inc/nv-time.h:29:
  28666. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  28667. 13 | struct timespec64 {
  28668. | ^~~~~~~~~~
  28669. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  28670. 77 | static inline struct timespec64 timespec64_add
  28671. | ^~~~~~~~~~~~~~
  28672. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  28673. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  28674. | ^~~~~~~~~~~~~~
  28675. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  28676. 95 | static inline struct timespec64 timespec64_sub
  28677. | ^~~~~~~~~~~~~~
  28678. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  28679. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  28680. | ^~~~~~~~~~~~~~
  28681. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  28682. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  28683. | ^~~~~~~~~~~~~~~~
  28684. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  28685. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  28686. | ^~~~~~~~~~~~~~~~
  28687. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  28688. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28689. 122 | ktime_get_raw_ts64(&ts);
  28690. | ^~~
  28691. | |
  28692. | struct timespec64 *
  28693. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  28694. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  28695. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  28696. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  28697. from ././common/inc/nv-time.h:30:
  28698. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28699. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28700. | ~~~~~~~~~~~~~~~~~~~^~
  28701. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  28702. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28703. 185 | ktime_get_raw_ts64(&tm_aux);
  28704. | ^~~~~~~
  28705. | |
  28706. | struct timespec64 *
  28707. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28708. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28709. | ~~~~~~~~~~~~~~~~~~~^~
  28710. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28711. 221 | ktime_get_raw_ts64(&tm_aux);
  28712. | ^~~~~~~
  28713. | |
  28714. | struct timespec64 *
  28715. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28716. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28717. | ~~~~~~~~~~~~~~~~~~~^~
  28718. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  28719. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28720. 502 | NV_MEMDBG_ADD(ptr, size);
  28721. | ^
  28722. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  28723. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28724. 502 | NV_MEMDBG_ADD(ptr, size);
  28725. | ^
  28726. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  28727. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  28728. 287 | ktime_get_raw_ts64(&tm);
  28729. | ^~~
  28730. | |
  28731. | struct timespec64 *
  28732. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  28733. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  28734. | ~~~~~~~~~~~~~~~~~~~^~
  28735. nvidia-uvm/uvm_linux.h: At top level:
  28736. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  28737. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  28738. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  28739. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  28740. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  28741. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  28742. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  28743. 449 | #error "Unknown number of arguments"
  28744. | ^~~~~
  28745. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  28746. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  28747. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  28748. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  28749. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  28750. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  28751. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  28752. 485 | #error "Unknown number of arguments"
  28753. | ^~~~~
  28754. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  28755. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28756. 502 | NV_MEMDBG_ADD(ptr, size);
  28757. | ^
  28758. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  28759. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  28760. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  28761. | ^~~~~~~~~~~~~~~~~~~~~~~
  28762. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28763. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28764. 520 | NV_MEMDBG_ADD(ptr, size);
  28765. | ^
  28766. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  28767. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28768. 502 | NV_MEMDBG_ADD(ptr, size);
  28769. | ^
  28770. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  28771. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  28772. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  28773. | ^~~~~~~~~~~~~~~~~~~~~~~
  28774. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28775. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28776. 520 | NV_MEMDBG_ADD(ptr, size);
  28777. | ^
  28778. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  28779. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  28780. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  28781. | ^~~~~~~~~~~~~~~~~~~~~~~
  28782. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28783. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28784. 520 | NV_MEMDBG_ADD(ptr, size);
  28785. | ^
  28786. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  28787. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28788. 502 | NV_MEMDBG_ADD(ptr, size);
  28789. | ^
  28790. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  28791. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  28792. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  28793. | ^~~~~~~~~~~~~~~~~~~~~~~
  28794. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28795. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28796. 520 | NV_MEMDBG_ADD(ptr, size);
  28797. | ^
  28798. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  28799. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  28800. 533 | ptr = ioremap_cache_shared(phys, size);
  28801. | ^~~~~~~~~~~~~~~~~~~~
  28802. | ioremap_cache
  28803. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28804. 533 | ptr = ioremap_cache_shared(phys, size);
  28805. | ^
  28806. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28807. 556 | NV_MEMDBG_ADD(ptr, size);
  28808. | ^
  28809. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  28810. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  28811. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  28812. | ^~~~~~~~~~~~~~~~~~~~~~~
  28813. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28814. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28815. 520 | NV_MEMDBG_ADD(ptr, size);
  28816. | ^
  28817. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  28818. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  28819. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  28820. | ^~~~~~~~~~~~~~~~~~~~~~~
  28821. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28822. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28823. 520 | NV_MEMDBG_ADD(ptr, size);
  28824. | ^
  28825. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  28826. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  28827. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  28828. | ^~~~~~~~~~~~~~~~~~~~~~~
  28829. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28830. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28831. 520 | NV_MEMDBG_ADD(ptr, size);
  28832. | ^
  28833. In file included from ././common/inc/nv-linux.h:34,
  28834. from nvidia-uvm/uvm_linux.h:40:
  28835. ././common/inc/nv-mm.h: At top level:
  28836. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  28837. 29 | typedef int vm_fault_t;
  28838. | ^~~~~~~~~~
  28839. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  28840. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  28841. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  28842. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  28843. from ././common/inc/nv-lock.h:35,
  28844. from ././common/inc/nv-linux.h:32:
  28845. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  28846. 1311 | typedef __bitwise unsigned int vm_fault_t;
  28847. | ^~~~~~~~~~
  28848. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  28849. from ././common/inc/nv-time.h:28:
  28850. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  28851. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28852. 52 | #define current get_current()
  28853. | ^~~~~~~~~~~~~
  28854. | |
  28855. | struct task_struct *
  28856. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  28857. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28858. | ^~~~~~~
  28859. In file included from ././common/inc/nv-pgprot.h:30,
  28860. from ././common/inc/nv-linux.h:33:
  28861. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  28862. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28863. | ~~~~~~~~~~~~~~^~~~~
  28864. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28865. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28866. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  28867. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28868. | ~~~~~~~~~~~~~~^~~~~~~~
  28869. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  28870. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28871. | ^~~~~~~~
  28872. | |
  28873. | long unsigned int
  28874. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  28875. 2535 | unsigned int gup_flags, struct page **pages);
  28876. | ~~~~~~~~~~~~~~^~~~~
  28877. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  28878. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  28879. | ^~~~~~~~~~~~~~ ~~~~~
  28880. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  28881. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28882. | ^~~~~~~~~~~~~~
  28883. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  28884. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  28885. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  28886. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  28887. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  28888. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  28889. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28890. 8 | #define NULL ((void *)0)
  28891. | ^~~~~~~~~~~
  28892. | |
  28893. | void *
  28894. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  28895. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28896. | ^~~~
  28897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  28898. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28899. | ~~~~~~~~~~~~~~^~~~~
  28900. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  28901. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28902. | ^~
  28903. | |
  28904. | struct mm_struct *
  28905. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  28906. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28907. | ~~~~~~~~~~~~~~^~~~~~~~
  28908. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  28909. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28910. | ^~~~~~~~
  28911. | |
  28912. | long unsigned int
  28913. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  28914. 2535 | unsigned int gup_flags, struct page **pages);
  28915. | ~~~~~~~~~~~~~~^~~~~
  28916. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  28917. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  28918. | ^~~~~~~~~~~~~~ ~~~~~
  28919. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  28920. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  28921. | ^~~~~~~~~~~~~~
  28922. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  28923. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  28924. 237 | return (unsigned long)(vmf->virtual_address);
  28925. | ^~~~~~~~~~~~~~~
  28926. | real_address
  28927. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  28928. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28929. 246 | down_read(&mm->mmap_sem);
  28930. | ^~~~~~~~
  28931. | mmap_base
  28932. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  28933. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28934. 255 | up_read(&mm->mmap_sem);
  28935. | ^~~~~~~~
  28936. | mmap_base
  28937. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  28938. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28939. 264 | down_write(&mm->mmap_sem);
  28940. | ^~~~~~~~
  28941. | mmap_base
  28942. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  28943. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28944. 273 | up_write(&mm->mmap_sem);
  28945. | ^~~~~~~~
  28946. | mmap_base
  28947. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  28948. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28949. 282 | return rwsem_is_locked(&mm->mmap_sem);
  28950. | ^~~~~~~~
  28951. | mmap_base
  28952. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  28953. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  28954. 291 | return &mm->mmap_sem;
  28955. | ^~~~~~~~
  28956. | mmap_base
  28957. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  28958. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  28959. 300 | vma->vm_flags |= flags;
  28960. | ^~
  28961. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  28962. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  28963. 309 | vma->vm_flags &= ~flags;
  28964. | ^~
  28965. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  28966. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  28967. 533 | ptr = ioremap_cache_shared(phys, size);
  28968. | ^~~~~~~~~~~~~~~~~~~~
  28969. | ioremap_cache
  28970. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28971. 533 | ptr = ioremap_cache_shared(phys, size);
  28972. | ^
  28973. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28974. 556 | NV_MEMDBG_ADD(ptr, size);
  28975. | ^
  28976. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  28977. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  28978. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  28979. | ^~~~~~~~~~~~~~~~~~~~~~~
  28980. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28981. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28982. 520 | NV_MEMDBG_ADD(ptr, size);
  28983. | ^
  28984. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  28985. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  28986. 533 | ptr = ioremap_cache_shared(phys, size);
  28987. | ^~~~~~~~~~~~~~~~~~~~
  28988. | ioremap_cache
  28989. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  28990. 533 | ptr = ioremap_cache_shared(phys, size);
  28991. | ^
  28992. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  28993. 556 | NV_MEMDBG_ADD(ptr, size);
  28994. | ^
  28995. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  28996. from nvidia-uvm/uvm_channel.h:29,
  28997. from nvidia-uvm/uvm_push.h:29,
  28998. from nvidia-uvm/uvm_hal.h:31:
  28999. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  29000. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  29001. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  29002. | ^~~~~~~~~~~~~~~~~~~~
  29003. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  29004. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  29005. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  29006. | ^~~~~~~~~~~~~~~~~~~~~~~
  29007. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29008. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29009. 520 | NV_MEMDBG_ADD(ptr, size);
  29010. | ^
  29011. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  29012. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  29013. 533 | ptr = ioremap_cache_shared(phys, size);
  29014. | ^~~~~~~~~~~~~~~~~~~~
  29015. | ioremap_cache
  29016. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29017. 533 | ptr = ioremap_cache_shared(phys, size);
  29018. | ^
  29019. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29020. 556 | NV_MEMDBG_ADD(ptr, size);
  29021. | ^
  29022. In file included from ././common/inc/nv-linux.h:34,
  29023. from nvidia-uvm/uvm_linux.h:40:
  29024. ././common/inc/nv-mm.h: At top level:
  29025. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  29026. 29 | typedef int vm_fault_t;
  29027. | ^~~~~~~~~~
  29028. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  29029. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  29030. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  29031. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  29032. from ././common/inc/nv-lock.h:35,
  29033. from ././common/inc/nv-linux.h:32:
  29034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  29035. 1311 | typedef __bitwise unsigned int vm_fault_t;
  29036. | ^~~~~~~~~~
  29037. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  29038. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  29039. 533 | ptr = ioremap_cache_shared(phys, size);
  29040. | ^~~~~~~~~~~~~~~~~~~~
  29041. | ioremap_cache
  29042. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  29043. from ././common/inc/nv-time.h:28:
  29044. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  29045. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29046. 533 | ptr = ioremap_cache_shared(phys, size);
  29047. | ^
  29048. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29049. 52 | #define current get_current()
  29050. | ^~~~~~~~~~~~~
  29051. | |
  29052. | struct task_struct *
  29053. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  29054. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29055. | ^~~~~~~
  29056. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29057. 556 | NV_MEMDBG_ADD(ptr, size);
  29058. | ^
  29059. In file included from ././common/inc/nv-pgprot.h:30,
  29060. from ././common/inc/nv-linux.h:33:
  29061. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  29062. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29063. | ~~~~~~~~~~~~~~^~~~~
  29064. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29065. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29066. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  29067. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29068. | ~~~~~~~~~~~~~~^~~~~~~~
  29069. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  29070. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29071. | ^~~~~~~~
  29072. | |
  29073. | long unsigned int
  29074. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  29075. 2535 | unsigned int gup_flags, struct page **pages);
  29076. | ~~~~~~~~~~~~~~^~~~~
  29077. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  29078. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29079. | ^~~~~~~~~~~~~~ ~~~~~
  29080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  29081. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29082. | ^~~~~~~~~~~~~~
  29083. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  29084. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  29085. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  29086. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  29087. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  29088. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  29089. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29090. 8 | #define NULL ((void *)0)
  29091. | ^~~~~~~~~~~
  29092. | |
  29093. | void *
  29094. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  29095. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29096. | ^~~~
  29097. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  29098. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29099. | ~~~~~~~~~~~~~~^~~~~
  29100. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29101. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29102. | ^~
  29103. | |
  29104. | struct mm_struct *
  29105. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  29106. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29107. | ~~~~~~~~~~~~~~^~~~~~~~
  29108. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  29109. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29110. | ^~~~~~~~
  29111. | |
  29112. | long unsigned int
  29113. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  29114. 2535 | unsigned int gup_flags, struct page **pages);
  29115. | ~~~~~~~~~~~~~~^~~~~
  29116. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  29117. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29118. | ^~~~~~~~~~~~~~ ~~~~~
  29119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  29120. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29121. | ^~~~~~~~~~~~~~
  29122. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  29123. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  29124. 237 | return (unsigned long)(vmf->virtual_address);
  29125. | ^~~~~~~~~~~~~~~
  29126. | real_address
  29127. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  29128. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29129. 246 | down_read(&mm->mmap_sem);
  29130. | ^~~~~~~~
  29131. | mmap_base
  29132. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  29133. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29134. 255 | up_read(&mm->mmap_sem);
  29135. | ^~~~~~~~
  29136. | mmap_base
  29137. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  29138. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29139. 264 | down_write(&mm->mmap_sem);
  29140. | ^~~~~~~~
  29141. | mmap_base
  29142. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  29143. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29144. 273 | up_write(&mm->mmap_sem);
  29145. | ^~~~~~~~
  29146. | mmap_base
  29147. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  29148. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29149. 282 | return rwsem_is_locked(&mm->mmap_sem);
  29150. | ^~~~~~~~
  29151. | mmap_base
  29152. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  29153. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29154. 291 | return &mm->mmap_sem;
  29155. | ^~~~~~~~
  29156. | mmap_base
  29157. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  29158. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  29159. 300 | vma->vm_flags |= flags;
  29160. | ^~
  29161. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  29162. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  29163. 309 | vma->vm_flags &= ~flags;
  29164. | ^~
  29165. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  29166. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  29167. 533 | ptr = ioremap_cache_shared(phys, size);
  29168. | ^~~~~~~~~~~~~~~~~~~~
  29169. | ioremap_cache
  29170. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29171. 533 | ptr = ioremap_cache_shared(phys, size);
  29172. | ^
  29173. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29174. 556 | NV_MEMDBG_ADD(ptr, size);
  29175. | ^
  29176. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  29177. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  29178. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29179. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  29180. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29181. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29182. | ^
  29183. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29184. 573 | NV_MEMDBG_ADD(ptr, size);
  29185. | ^
  29186. ././common/inc/nv-linux.h: In function 'nv_vmap':
  29187. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29188. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  29189. | ^
  29190. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  29191. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  29192. 533 | ptr = ioremap_cache_shared(phys, size);
  29193. | ^~~~~~~~~~~~~~~~~~~~
  29194. | ioremap_cache
  29195. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29196. 533 | ptr = ioremap_cache_shared(phys, size);
  29197. | ^
  29198. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29199. 556 | NV_MEMDBG_ADD(ptr, size);
  29200. | ^
  29201. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  29202. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  29203. 736 | return phys_to_dma(dev, pa);
  29204. | ^~~~~~~~~~~
  29205. | nv_phys_to_dma
  29206. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  29207. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  29208. 533 | ptr = ioremap_cache_shared(phys, size);
  29209. | ^~~~~~~~~~~~~~~~~~~~
  29210. | ioremap_cache
  29211. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29212. 533 | ptr = ioremap_cache_shared(phys, size);
  29213. | ^
  29214. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29215. 556 | NV_MEMDBG_ADD(ptr, size);
  29216. | ^
  29217. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  29218. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  29219. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29220. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  29221. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29222. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29223. | ^
  29224. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29225. 573 | NV_MEMDBG_ADD(ptr, size);
  29226. | ^
  29227. ././common/inc/nv-linux.h: In function 'nv_vmap':
  29228. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29229. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  29230. | ^
  29231. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  29232. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29233. 502 | NV_MEMDBG_ADD(ptr, size);
  29234. | ^
  29235. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  29236. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  29237. 533 | ptr = ioremap_cache_shared(phys, size);
  29238. | ^~~~~~~~~~~~~~~~~~~~
  29239. | ioremap_cache
  29240. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29241. 533 | ptr = ioremap_cache_shared(phys, size);
  29242. | ^
  29243. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29244. 556 | NV_MEMDBG_ADD(ptr, size);
  29245. | ^
  29246. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  29247. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  29248. 736 | return phys_to_dma(dev, pa);
  29249. | ^~~~~~~~~~~
  29250. | nv_phys_to_dma
  29251. cc1: some warnings being treated as errors
  29252. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  29253. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  29254. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  29255. | ^~~~~~~~~~~~~
  29256. | d_is_dir
  29257. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  29258. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  29259. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29260. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  29261. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29262. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29263. | ^
  29264. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29265. 573 | NV_MEMDBG_ADD(ptr, size);
  29266. | ^
  29267. In file included from ././common/inc/nv-linux.h:34,
  29268. from nvidia-uvm/uvm_linux.h:40:
  29269. ././common/inc/nv-mm.h: At top level:
  29270. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  29271. 29 | typedef int vm_fault_t;
  29272. | ^~~~~~~~~~
  29273. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  29274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  29275. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  29276. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  29277. from ././common/inc/nv-lock.h:35,
  29278. from ././common/inc/nv-linux.h:32:
  29279. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  29280. 1311 | typedef __bitwise unsigned int vm_fault_t;
  29281. | ^~~~~~~~~~
  29282. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  29283. from ././common/inc/nv-time.h:28:
  29284. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  29285. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29286. 52 | #define current get_current()
  29287. | ^~~~~~~~~~~~~
  29288. | |
  29289. | struct task_struct *
  29290. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  29291. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29292. | ^~~~~~~
  29293. In file included from ././common/inc/nv-pgprot.h:30,
  29294. from ././common/inc/nv-linux.h:33:
  29295. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  29296. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29297. | ~~~~~~~~~~~~~~^~~~~
  29298. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29299. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  29301. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29302. | ~~~~~~~~~~~~~~^~~~~~~~
  29303. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  29304. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29305. | ^~~~~~~~
  29306. | |
  29307. | long unsigned int
  29308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  29309. 2535 | unsigned int gup_flags, struct page **pages);
  29310. | ~~~~~~~~~~~~~~^~~~~
  29311. ././common/inc/nv-linux.h: In function 'nv_vmap':
  29312. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29313. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  29314. | ^
  29315. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  29316. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29317. | ^~~~~~~~~~~~~~ ~~~~~
  29318. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  29319. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29320. | ^~~~~~~~~~~~~~
  29321. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  29322. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  29323. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  29324. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  29325. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  29326. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  29327. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29328. 8 | #define NULL ((void *)0)
  29329. | ^~~~~~~~~~~
  29330. | |
  29331. | void *
  29332. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  29333. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29334. | ^~~~
  29335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  29336. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29337. | ~~~~~~~~~~~~~~^~~~~
  29338. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29339. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29340. | ^~
  29341. | |
  29342. | struct mm_struct *
  29343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  29344. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29345. | ~~~~~~~~~~~~~~^~~~~~~~
  29346. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  29347. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29348. | ^~~~~~~~
  29349. | |
  29350. | long unsigned int
  29351. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  29352. 2535 | unsigned int gup_flags, struct page **pages);
  29353. | ~~~~~~~~~~~~~~^~~~~
  29354. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  29355. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29356. | ^~~~~~~~~~~~~~ ~~~~~
  29357. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  29358. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29359. | ^~~~~~~~~~~~~~
  29360. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  29361. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  29362. 237 | return (unsigned long)(vmf->virtual_address);
  29363. | ^~~~~~~~~~~~~~~
  29364. | real_address
  29365. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  29366. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29367. 246 | down_read(&mm->mmap_sem);
  29368. | ^~~~~~~~
  29369. | mmap_base
  29370. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  29371. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29372. 255 | up_read(&mm->mmap_sem);
  29373. | ^~~~~~~~
  29374. | mmap_base
  29375. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  29376. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29377. 264 | down_write(&mm->mmap_sem);
  29378. | ^~~~~~~~
  29379. | mmap_base
  29380. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  29381. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29382. 273 | up_write(&mm->mmap_sem);
  29383. | ^~~~~~~~
  29384. | mmap_base
  29385. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  29386. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29387. 282 | return rwsem_is_locked(&mm->mmap_sem);
  29388. | ^~~~~~~~
  29389. | mmap_base
  29390. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  29391. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29392. 291 | return &mm->mmap_sem;
  29393. | ^~~~~~~~
  29394. | mmap_base
  29395. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  29396. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  29397. 300 | vma->vm_flags |= flags;
  29398. | ^~
  29399. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  29400. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  29401. 309 | vma->vm_flags &= ~flags;
  29402. | ^~
  29403. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing.o] Error 1
  29404. CC [M] nvidia-uvm/uvm_perf_utils.o
  29405. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  29406. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  29407. 736 | return phys_to_dma(dev, pa);
  29408. | ^~~~~~~~~~~
  29409. | nv_phys_to_dma
  29410. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  29411. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  29412. 287 | ktime_get_raw_ts64(&tm);
  29413. | ^~~
  29414. | |
  29415. | struct timespec64 *
  29416. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  29417. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  29418. | ~~~~~~~~~~~~~~~~~~~^~
  29419. nvidia-uvm/uvm_linux.h: At top level:
  29420. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29421. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  29422. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29423. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29424. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  29425. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29426. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  29427. 449 | #error "Unknown number of arguments"
  29428. | ^~~~~
  29429. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29430. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  29431. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29432. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29433. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  29434. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29435. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  29436. 485 | #error "Unknown number of arguments"
  29437. | ^~~~~
  29438. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  29439. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  29440. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  29441. | ^~~~~~~~~~~~~
  29442. | d_is_dir
  29443. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  29444. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  29445. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29446. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  29447. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29448. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29449. | ^
  29450. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29451. 573 | NV_MEMDBG_ADD(ptr, size);
  29452. | ^
  29453. ././common/inc/nv-linux.h: In function 'nv_vmap':
  29454. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29455. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  29456. | ^
  29457. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  29458. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  29459. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29460. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  29461. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29462. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29463. | ^
  29464. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29465. 573 | NV_MEMDBG_ADD(ptr, size);
  29466. | ^
  29467. ././common/inc/nv-linux.h: In function 'nv_vmap':
  29468. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29469. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  29470. | ^
  29471. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  29472. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  29473. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29474. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  29475. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29476. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29477. | ^
  29478. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29479. 573 | NV_MEMDBG_ADD(ptr, size);
  29480. | ^
  29481. ././common/inc/nv-linux.h: In function 'nv_vmap':
  29482. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29483. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  29484. | ^
  29485. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  29486. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  29487. 736 | return phys_to_dma(dev, pa);
  29488. | ^~~~~~~~~~~
  29489. | nv_phys_to_dma
  29490. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  29491. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  29492. 287 | ktime_get_raw_ts64(&tm);
  29493. | ^~~
  29494. | |
  29495. | struct timespec64 *
  29496. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  29497. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  29498. | ~~~~~~~~~~~~~~~~~~~^~
  29499. nvidia-uvm/uvm_linux.h: At top level:
  29500. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29501. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  29502. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29503. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29504. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  29505. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29506. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  29507. 449 | #error "Unknown number of arguments"
  29508. | ^~~~~
  29509. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29510. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  29511. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29512. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29513. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  29514. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29515. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  29516. 485 | #error "Unknown number of arguments"
  29517. | ^~~~~
  29518. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  29519. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  29520. 736 | return phys_to_dma(dev, pa);
  29521. | ^~~~~~~~~~~
  29522. | nv_phys_to_dma
  29523. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  29524. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  29525. 736 | return phys_to_dma(dev, pa);
  29526. | ^~~~~~~~~~~
  29527. | nv_phys_to_dma
  29528. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  29529. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  29530. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  29531. | ^~~~~~~~~~~~~~~~~~~~~~~
  29532. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29533. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29534. 520 | NV_MEMDBG_ADD(ptr, size);
  29535. | ^
  29536. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  29537. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  29538. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  29539. | ^~~~~~~~~~~~~
  29540. | d_is_dir
  29541. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  29542. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  29543. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29544. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  29545. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29546. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29547. | ^
  29548. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29549. 573 | NV_MEMDBG_ADD(ptr, size);
  29550. | ^
  29551. ././common/inc/nv-linux.h: In function 'nv_vmap':
  29552. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29553. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  29554. | ^
  29555. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  29556. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  29557. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29558. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  29559. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29560. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29561. | ^
  29562. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29563. 573 | NV_MEMDBG_ADD(ptr, size);
  29564. | ^
  29565. ././common/inc/nv-linux.h: In function 'nv_vmap':
  29566. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29567. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  29568. | ^
  29569. In file included from ././common/inc/conftest.h:28,
  29570. from ././common/inc/nv-time.h:27,
  29571. from nvidia-uvm/uvm_linux.h:37,
  29572. from nvidia-uvm/uvm_common.h:43,
  29573. from nvidia-uvm/uvm_perf_utils.c:24:
  29574. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  29575. 74 | #error dma_buf_export() conftest failed!
  29576. | ^~~~~
  29577. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  29578. 87 | #error wait_on_bit_lock() conftest failed!
  29579. | ^~~~~
  29580. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  29581. 90 | #error radix_tree_replace_slot() conftest failed!
  29582. | ^~~~~
  29583. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  29584. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  29585. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  29586. | ^~~~~~~~~~~~~
  29587. | d_is_dir
  29588. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  29589. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  29590. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29591. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  29592. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29593. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  29594. | ^
  29595. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29596. 573 | NV_MEMDBG_ADD(ptr, size);
  29597. | ^
  29598. ././common/inc/nv-linux.h: In function 'nv_vmap':
  29599. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29600. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  29601. | ^
  29602. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  29603. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  29604. 287 | ktime_get_raw_ts64(&tm);
  29605. | ^~~
  29606. | |
  29607. | struct timespec64 *
  29608. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  29609. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  29610. | ~~~~~~~~~~~~~~~~~~~^~
  29611. nvidia-uvm/uvm_linux.h: At top level:
  29612. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29613. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  29614. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29615. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29616. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  29617. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29618. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  29619. 449 | #error "Unknown number of arguments"
  29620. | ^~~~~
  29621. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29622. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  29623. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29624. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29625. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  29626. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29627. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  29628. 485 | #error "Unknown number of arguments"
  29629. | ^~~~~
  29630. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  29631. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  29632. 736 | return phys_to_dma(dev, pa);
  29633. | ^~~~~~~~~~~
  29634. | nv_phys_to_dma
  29635. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  29636. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  29637. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  29638. | ^~~~~~~~~~~~~
  29639. | d_is_dir
  29640. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  29641. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  29642. 736 | return phys_to_dma(dev, pa);
  29643. | ^~~~~~~~~~~
  29644. | nv_phys_to_dma
  29645. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  29646. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  29647. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  29648. | ^~~~~~~~~~~~~
  29649. | d_is_dir
  29650. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  29651. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  29652. 287 | ktime_get_raw_ts64(&tm);
  29653. | ^~~
  29654. | |
  29655. | struct timespec64 *
  29656. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  29657. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  29658. | ~~~~~~~~~~~~~~~~~~~^~
  29659. nvidia-uvm/uvm_linux.h: At top level:
  29660. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29661. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  29662. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29663. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29664. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  29665. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29666. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  29667. 449 | #error "Unknown number of arguments"
  29668. | ^~~~~
  29669. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29670. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  29671. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29672. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29673. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  29674. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29675. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  29676. 485 | #error "Unknown number of arguments"
  29677. | ^~~~~
  29678. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  29679. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  29680. 287 | ktime_get_raw_ts64(&tm);
  29681. | ^~~
  29682. | |
  29683. | struct timespec64 *
  29684. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  29685. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  29686. | ~~~~~~~~~~~~~~~~~~~^~
  29687. nvidia-uvm/uvm_linux.h: At top level:
  29688. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29689. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  29690. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29691. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29692. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  29693. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29694. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  29695. 449 | #error "Unknown number of arguments"
  29696. | ^~~~~
  29697. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29698. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  29699. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29700. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29701. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  29702. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29703. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  29704. 485 | #error "Unknown number of arguments"
  29705. | ^~~~~
  29706. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  29707. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  29708. 287 | ktime_get_raw_ts64(&tm);
  29709. | ^~~
  29710. | |
  29711. | struct timespec64 *
  29712. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  29713. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  29714. | ~~~~~~~~~~~~~~~~~~~^~
  29715. nvidia-uvm/uvm_linux.h: At top level:
  29716. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29717. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  29718. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29719. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29720. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  29721. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29722. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  29723. 449 | #error "Unknown number of arguments"
  29724. | ^~~~~
  29725. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29726. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  29727. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29728. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29729. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  29730. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29731. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  29732. 485 | #error "Unknown number of arguments"
  29733. | ^~~~~
  29734. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  29735. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  29736. 736 | return phys_to_dma(dev, pa);
  29737. | ^~~~~~~~~~~
  29738. | nv_phys_to_dma
  29739. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  29740. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  29741. 533 | ptr = ioremap_cache_shared(phys, size);
  29742. | ^~~~~~~~~~~~~~~~~~~~
  29743. | ioremap_cache
  29744. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  29745. 533 | ptr = ioremap_cache_shared(phys, size);
  29746. | ^
  29747. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29748. 556 | NV_MEMDBG_ADD(ptr, size);
  29749. | ^
  29750. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  29751. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  29752. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  29753. | ^~~~~~~~~~~~~
  29754. | d_is_dir
  29755. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  29756. from nvidia-uvm/uvm_gpu.h:37,
  29757. from nvidia-uvm/uvm_global.h:32:
  29758. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  29759. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  29760. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  29761. | ^~~~~~~~~~~~~~~~~~~~
  29762. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  29763. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  29764. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  29765. | ^~~~~~~~~~~~~
  29766. | d_is_dir
  29767. In file included from ././common/inc/nv-linux.h:34,
  29768. from nvidia-uvm/uvm_linux.h:40:
  29769. ././common/inc/nv-mm.h: At top level:
  29770. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  29771. 29 | typedef int vm_fault_t;
  29772. | ^~~~~~~~~~
  29773. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  29774. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  29775. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  29776. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  29777. from ././common/inc/nv-lock.h:35,
  29778. from ././common/inc/nv-linux.h:32:
  29779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  29780. 1311 | typedef __bitwise unsigned int vm_fault_t;
  29781. | ^~~~~~~~~~
  29782. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  29783. from ././common/inc/nv-time.h:28:
  29784. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  29785. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29786. 52 | #define current get_current()
  29787. | ^~~~~~~~~~~~~
  29788. | |
  29789. | struct task_struct *
  29790. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  29791. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29792. | ^~~~~~~
  29793. In file included from ././common/inc/nv-pgprot.h:30,
  29794. from ././common/inc/nv-linux.h:33:
  29795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  29796. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29797. | ~~~~~~~~~~~~~~^~~~~
  29798. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29799. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29800. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  29801. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29802. | ~~~~~~~~~~~~~~^~~~~~~~
  29803. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  29804. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29805. | ^~~~~~~~
  29806. | |
  29807. | long unsigned int
  29808. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  29809. 2535 | unsigned int gup_flags, struct page **pages);
  29810. | ~~~~~~~~~~~~~~^~~~~
  29811. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  29812. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  29813. | ^~~~~~~~~~~~~~ ~~~~~
  29814. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  29815. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29816. | ^~~~~~~~~~~~~~
  29817. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  29818. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  29819. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  29820. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  29821. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  29822. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  29823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29824. 8 | #define NULL ((void *)0)
  29825. | ^~~~~~~~~~~
  29826. | |
  29827. | void *
  29828. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  29829. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29830. | ^~~~
  29831. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  29832. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29833. | ~~~~~~~~~~~~~~^~~~~
  29834. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  29835. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29836. | ^~
  29837. | |
  29838. | struct mm_struct *
  29839. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  29840. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29841. | ~~~~~~~~~~~~~~^~~~~~~~
  29842. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  29843. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29844. | ^~~~~~~~
  29845. | |
  29846. | long unsigned int
  29847. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  29848. 2535 | unsigned int gup_flags, struct page **pages);
  29849. | ~~~~~~~~~~~~~~^~~~~
  29850. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  29851. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  29852. | ^~~~~~~~~~~~~~ ~~~~~
  29853. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  29854. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  29855. | ^~~~~~~~~~~~~~
  29856. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  29857. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  29858. 237 | return (unsigned long)(vmf->virtual_address);
  29859. | ^~~~~~~~~~~~~~~
  29860. | real_address
  29861. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  29862. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29863. 246 | down_read(&mm->mmap_sem);
  29864. | ^~~~~~~~
  29865. | mmap_base
  29866. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  29867. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29868. 255 | up_read(&mm->mmap_sem);
  29869. | ^~~~~~~~
  29870. | mmap_base
  29871. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  29872. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29873. 264 | down_write(&mm->mmap_sem);
  29874. | ^~~~~~~~
  29875. | mmap_base
  29876. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  29877. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29878. 273 | up_write(&mm->mmap_sem);
  29879. | ^~~~~~~~
  29880. | mmap_base
  29881. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  29882. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29883. 282 | return rwsem_is_locked(&mm->mmap_sem);
  29884. | ^~~~~~~~
  29885. | mmap_base
  29886. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  29887. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  29888. 291 | return &mm->mmap_sem;
  29889. | ^~~~~~~~
  29890. | mmap_base
  29891. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  29892. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  29893. 300 | vma->vm_flags |= flags;
  29894. | ^~
  29895. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  29896. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  29897. 309 | vma->vm_flags &= ~flags;
  29898. | ^~
  29899. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  29900. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  29901. 502 | NV_MEMDBG_ADD(ptr, size);
  29902. | ^
  29903. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  29904. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  29905. 287 | ktime_get_raw_ts64(&tm);
  29906. | ^~~
  29907. | |
  29908. | struct timespec64 *
  29909. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  29910. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  29911. | ~~~~~~~~~~~~~~~~~~~^~
  29912. nvidia-uvm/uvm_linux.h: At top level:
  29913. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29914. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  29915. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29916. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29917. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  29918. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29919. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  29920. 449 | #error "Unknown number of arguments"
  29921. | ^~~~~
  29922. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29923. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  29924. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29925. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29926. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  29927. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29928. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  29929. 485 | #error "Unknown number of arguments"
  29930. | ^~~~~
  29931. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  29932. from nvidia-uvm/uvm_gpu.h:37,
  29933. from nvidia-uvm/uvm_global.h:32:
  29934. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  29935. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  29936. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  29937. | ^~~~~~~~~~~~~~~~~~~~
  29938. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  29939. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  29940. 287 | ktime_get_raw_ts64(&tm);
  29941. | ^~~
  29942. | |
  29943. | struct timespec64 *
  29944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  29945. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  29946. | ~~~~~~~~~~~~~~~~~~~^~
  29947. nvidia-uvm/uvm_linux.h: At top level:
  29948. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29949. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  29950. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29951. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29952. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  29953. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29954. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  29955. 449 | #error "Unknown number of arguments"
  29956. | ^~~~~
  29957. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29958. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  29959. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29960. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  29961. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  29962. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29963. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  29964. 485 | #error "Unknown number of arguments"
  29965. | ^~~~~
  29966. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  29967. 40 | struct timespec64 {
  29968. | ^~~~~~~~~~
  29969. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  29970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  29971. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  29972. from ././common/inc/nv-time.h:29:
  29973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  29974. 13 | struct timespec64 {
  29975. | ^~~~~~~~~~
  29976. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  29977. 77 | static inline struct timespec64 timespec64_add
  29978. | ^~~~~~~~~~~~~~
  29979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  29980. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  29981. | ^~~~~~~~~~~~~~
  29982. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  29983. 95 | static inline struct timespec64 timespec64_sub
  29984. | ^~~~~~~~~~~~~~
  29985. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  29986. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  29987. | ^~~~~~~~~~~~~~
  29988. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  29989. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  29990. | ^~~~~~~~~~~~~~~~
  29991. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  29992. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  29993. | ^~~~~~~~~~~~~~~~
  29994. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  29995. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  29996. 122 | ktime_get_raw_ts64(&ts);
  29997. | ^~~
  29998. | |
  29999. | struct timespec64 *
  30000. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  30001. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  30002. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  30003. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  30004. from ././common/inc/nv-time.h:30:
  30005. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30006. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30007. | ~~~~~~~~~~~~~~~~~~~^~
  30008. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  30009. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30010. 185 | ktime_get_raw_ts64(&tm_aux);
  30011. | ^~~~~~~
  30012. | |
  30013. | struct timespec64 *
  30014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30015. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30016. | ~~~~~~~~~~~~~~~~~~~^~
  30017. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30018. 221 | ktime_get_raw_ts64(&tm_aux);
  30019. | ^~~~~~~
  30020. | |
  30021. | struct timespec64 *
  30022. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30023. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30024. | ~~~~~~~~~~~~~~~~~~~^~
  30025. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  30026. from nvidia-uvm/uvm_gpu.h:37,
  30027. from nvidia-uvm/uvm_global.h:32:
  30028. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  30029. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  30030. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  30031. | ^~~~~~~~~~~~~~~~~~~~
  30032. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  30033. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  30034. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  30035. | ^~~~~~~~~~~~~
  30036. | d_is_dir
  30037. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  30038. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  30039. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  30040. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  30041. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30042. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  30043. | ^
  30044. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30045. 573 | NV_MEMDBG_ADD(ptr, size);
  30046. | ^
  30047. ././common/inc/nv-linux.h: In function 'nv_vmap':
  30048. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30049. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  30050. | ^
  30051. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  30052. from nvidia-uvm/uvm_channel.h:29,
  30053. from nvidia-uvm/uvm_push.h:29,
  30054. from nvidia-uvm/uvm_hal.h:31:
  30055. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  30056. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  30057. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  30058. | ^~~~~~~~~~~~~~~~~~~~
  30059. cc1: some warnings being treated as errors
  30060. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere.o] Error 1
  30061. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  30062. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  30063. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  30064. | ^~~~~~~~~~~~~~~~~~~~~~~
  30065. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30066. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30067. 520 | NV_MEMDBG_ADD(ptr, size);
  30068. | ^
  30069. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  30070. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30071. 502 | NV_MEMDBG_ADD(ptr, size);
  30072. | ^
  30073. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  30074. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  30075. 736 | return phys_to_dma(dev, pa);
  30076. | ^~~~~~~~~~~
  30077. | nv_phys_to_dma
  30078. CC [M] nvidia-uvm/uvm_kvmalloc.o
  30079. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  30080. from nvidia-uvm/uvm_channel.h:29,
  30081. from nvidia-uvm/uvm_push.h:29,
  30082. from nvidia-uvm/uvm_hal.h:31:
  30083. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  30084. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  30085. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30086. 287 | ktime_get_raw_ts64(&tm);
  30087. | ^~~
  30088. | |
  30089. | struct timespec64 *
  30090. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30091. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30092. | ~~~~~~~~~~~~~~~~~~~^~
  30093. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  30094. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  30095. | ^~~~~~~~~~~~~~~~~~~~
  30096. nvidia-uvm/uvm_linux.h: At top level:
  30097. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30098. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  30099. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30100. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30101. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  30102. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30103. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  30104. 449 | #error "Unknown number of arguments"
  30105. | ^~~~~
  30106. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30107. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  30108. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30109. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30110. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  30111. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30112. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  30113. 485 | #error "Unknown number of arguments"
  30114. | ^~~~~
  30115. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  30116. from nvidia-uvm/uvm_gpu.h:37,
  30117. from nvidia-uvm/uvm_global.h:32,
  30118. from nvidia-uvm/uvm_turing_fault_buffer.c:25:
  30119. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  30120. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  30121. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  30122. | ^~~~~~~~~~~~~~~~~~~~
  30123. cc1: some warnings being treated as errors
  30124. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  30125. from nvidia-uvm/uvm_gpu.h:37,
  30126. from nvidia-uvm/uvm_global.h:32:
  30127. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  30128. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  30129. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  30130. | ^~~~~~~~~~~~~~~~~~~~
  30131. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_mmu.o] Error 1
  30132. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  30133. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30134. 502 | NV_MEMDBG_ADD(ptr, size);
  30135. | ^
  30136. CC [M] nvidia-uvm/uvm_pmm_sysmem.o
  30137. In file included from ././common/inc/conftest.h:28,
  30138. from ././common/inc/nv-time.h:27,
  30139. from nvidia-uvm/uvm_linux.h:37,
  30140. from nvidia-uvm/uvm_common.h:43,
  30141. from nvidia-uvm/uvm_kvmalloc.c:24:
  30142. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30143. 74 | #error dma_buf_export() conftest failed!
  30144. | ^~~~~
  30145. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30146. 87 | #error wait_on_bit_lock() conftest failed!
  30147. | ^~~~~
  30148. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30149. 90 | #error radix_tree_replace_slot() conftest failed!
  30150. | ^~~~~
  30151. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  30152. from nvidia-uvm/uvm_channel.h:29,
  30153. from nvidia-uvm/uvm_push.h:29,
  30154. from nvidia-uvm/uvm_hal.h:31:
  30155. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  30156. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  30157. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  30158. | ^~~~~~~~~~~~~~~~~~~~
  30159. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  30160. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  30161. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  30162. | ^~~~~~~~~~~~~
  30163. | d_is_dir
  30164. In file included from ././common/inc/conftest.h:28,
  30165. from ././common/inc/nv-time.h:27,
  30166. from nvidia-uvm/uvm_linux.h:37,
  30167. from nvidia-uvm/uvm_gpu.h:31,
  30168. from nvidia-uvm/uvm_pmm_sysmem.c:24:
  30169. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30170. 74 | #error dma_buf_export() conftest failed!
  30171. | ^~~~~
  30172. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30173. 87 | #error wait_on_bit_lock() conftest failed!
  30174. | ^~~~~
  30175. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30176. 90 | #error radix_tree_replace_slot() conftest failed!
  30177. | ^~~~~
  30178. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  30179. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  30180. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  30181. 533 | ptr = ioremap_cache_shared(phys, size);
  30182. | ^~~~~~~~~~~~~~~~~~~~
  30183. | ioremap_cache
  30184. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30185. 287 | ktime_get_raw_ts64(&tm);
  30186. | ^~~
  30187. | |
  30188. | struct timespec64 *
  30189. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30190. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30191. | ~~~~~~~~~~~~~~~~~~~^~
  30192. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30193. 533 | ptr = ioremap_cache_shared(phys, size);
  30194. | ^
  30195. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30196. 556 | NV_MEMDBG_ADD(ptr, size);
  30197. | ^
  30198. nvidia-uvm/uvm_linux.h: At top level:
  30199. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30200. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  30201. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30202. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30203. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  30204. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30205. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  30206. 449 | #error "Unknown number of arguments"
  30207. | ^~~~~
  30208. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30209. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  30210. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30211. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30212. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  30213. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30214. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  30215. 485 | #error "Unknown number of arguments"
  30216. | ^~~~~
  30217. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  30218. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  30219. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  30220. | ^~~~~~~~~~~~~~~~~~~~~~~
  30221. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30222. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30223. 520 | NV_MEMDBG_ADD(ptr, size);
  30224. | ^
  30225. cc1: some warnings being treated as errors
  30226. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_mmu.o] Error 1
  30227. nvidia-uvm/uvm_hopper_fault_buffer.c:30:6: warning: no previous prototype for 'uvm_hal_hopper_fault_buffer_get_ve_id' [-Wmissing-prototypes]
  30228. 30 | NvU8 uvm_hal_hopper_fault_buffer_get_ve_id(NvU16 mmu_engine_id, uvm_mmu_engine_type_t mmu_engine_type)
  30229. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30230. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  30231. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  30232. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  30233. | ^~~~~~~~~~~~~~~~~~~~~~~
  30234. cc1: some warnings being treated as errors
  30235. CC [M] nvidia-uvm/uvm_pmm_gpu.o
  30236. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30237. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30238. 520 | NV_MEMDBG_ADD(ptr, size);
  30239. | ^
  30240. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper.o] Error 1
  30241. cc1: some warnings being treated as errors
  30242. cc1: some warnings being treated as errors
  30243. CC [M] nvidia-uvm/uvm_migrate.o
  30244. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  30245. from nvidia-uvm/uvm_gpu.h:37,
  30246. from nvidia-uvm/uvm_global.h:32,
  30247. from nvidia-uvm/uvm_turing_access_counter_buffer.c:25:
  30248. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  30249. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  30250. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  30251. | ^~~~~~~~~~~~~~~~~~~~
  30252. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_fault_buffer.o] Error 1
  30253. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_fault_buffer.o] Error 1
  30254. CC [M] nvidia-uvm/uvm_populate_pageable.o
  30255. cc1: some warnings being treated as errors
  30256. CC [M] nvidia-uvm/uvm_migrate_pageable.o
  30257. In file included from ././common/inc/conftest.h:28,
  30258. from ././common/inc/nv-time.h:27,
  30259. from nvidia-uvm/uvm_linux.h:37,
  30260. from nvidia-uvm/uvm_common.h:43,
  30261. from nvidia-uvm/uvm_pmm_gpu.c:162:
  30262. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30263. 74 | #error dma_buf_export() conftest failed!
  30264. | ^~~~~
  30265. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30266. 87 | #error wait_on_bit_lock() conftest failed!
  30267. | ^~~~~
  30268. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30269. 90 | #error radix_tree_replace_slot() conftest failed!
  30270. | ^~~~~
  30271. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_host.o] Error 1
  30272. cc1: some warnings being treated as errors
  30273. In file included from ././common/inc/conftest.h:28,
  30274. from ././common/inc/nv-time.h:27,
  30275. from nvidia-uvm/uvm_linux.h:37,
  30276. from nvidia-uvm/uvm_common.h:43,
  30277. from nvidia-uvm/uvm_migrate.c:24:
  30278. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30279. 74 | #error dma_buf_export() conftest failed!
  30280. | ^~~~~
  30281. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30282. 87 | #error wait_on_bit_lock() conftest failed!
  30283. | ^~~~~
  30284. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30285. 90 | #error radix_tree_replace_slot() conftest failed!
  30286. | ^~~~~
  30287. CC [M] nvidia-uvm/uvm_map_external.o
  30288. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_ce.o] Error 1
  30289. CC [M] nvidia-uvm/uvm_user_channel.o
  30290. In file included from ././common/inc/conftest.h:28,
  30291. from ././common/inc/nv-time.h:27,
  30292. from nvidia-uvm/uvm_linux.h:37,
  30293. from nvidia-uvm/uvm_common.h:43,
  30294. from nvidia-uvm/uvm_populate_pageable.c:24:
  30295. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30296. 74 | #error dma_buf_export() conftest failed!
  30297. | ^~~~~
  30298. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30299. 87 | #error wait_on_bit_lock() conftest failed!
  30300. | ^~~~~
  30301. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30302. 90 | #error radix_tree_replace_slot() conftest failed!
  30303. | ^~~~~
  30304. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  30305. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  30306. 533 | ptr = ioremap_cache_shared(phys, size);
  30307. | ^~~~~~~~~~~~~~~~~~~~
  30308. | ioremap_cache
  30309. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30310. 533 | ptr = ioremap_cache_shared(phys, size);
  30311. | ^
  30312. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30313. 556 | NV_MEMDBG_ADD(ptr, size);
  30314. | ^
  30315. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  30316. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  30317. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  30318. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  30319. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30320. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  30321. | ^
  30322. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30323. 573 | NV_MEMDBG_ADD(ptr, size);
  30324. | ^
  30325. ././common/inc/nv-linux.h: In function 'nv_vmap':
  30326. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30327. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  30328. | ^
  30329. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  30330. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  30331. 533 | ptr = ioremap_cache_shared(phys, size);
  30332. | ^~~~~~~~~~~~~~~~~~~~
  30333. | ioremap_cache
  30334. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30335. 533 | ptr = ioremap_cache_shared(phys, size);
  30336. | ^
  30337. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30338. 556 | NV_MEMDBG_ADD(ptr, size);
  30339. | ^
  30340. In file included from ././common/inc/conftest.h:28,
  30341. from ././common/inc/nv-time.h:27,
  30342. from nvidia-uvm/uvm_linux.h:37,
  30343. from nvidia-uvm/uvm_common.h:43,
  30344. from nvidia-uvm/uvm_map_external.c:24:
  30345. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30346. 74 | #error dma_buf_export() conftest failed!
  30347. | ^~~~~
  30348. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30349. 87 | #error wait_on_bit_lock() conftest failed!
  30350. | ^~~~~
  30351. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30352. 90 | #error radix_tree_replace_slot() conftest failed!
  30353. | ^~~~~
  30354. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  30355. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  30356. 736 | return phys_to_dma(dev, pa);
  30357. | ^~~~~~~~~~~
  30358. | nv_phys_to_dma
  30359. In file included from ././common/inc/conftest.h:28,
  30360. from ././common/inc/nv-time.h:27,
  30361. from nvidia-uvm/uvm_linux.h:37,
  30362. from nvidia-uvm/uvm_common.h:43,
  30363. from nvidia-uvm/uvm_user_channel.c:24:
  30364. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30365. 74 | #error dma_buf_export() conftest failed!
  30366. | ^~~~~
  30367. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30368. 87 | #error wait_on_bit_lock() conftest failed!
  30369. | ^~~~~
  30370. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30371. 90 | #error radix_tree_replace_slot() conftest failed!
  30372. | ^~~~~
  30373. In file included from ././common/inc/conftest.h:28,
  30374. from ././common/inc/nv-time.h:27,
  30375. from nvidia-uvm/uvm_linux.h:37,
  30376. from nvidia-uvm/uvm_common.h:43,
  30377. from nvidia-uvm/uvm_migrate_pageable.c:24:
  30378. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30379. 74 | #error dma_buf_export() conftest failed!
  30380. | ^~~~~
  30381. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30382. 87 | #error wait_on_bit_lock() conftest failed!
  30383. | ^~~~~
  30384. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30385. 90 | #error radix_tree_replace_slot() conftest failed!
  30386. | ^~~~~
  30387. cc1: some warnings being treated as errors
  30388. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  30389. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30390. 502 | NV_MEMDBG_ADD(ptr, size);
  30391. | ^
  30392. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_host.o] Error 1
  30393. CC [M] nvidia-uvm/uvm_hmm.o
  30394. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  30395. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  30396. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  30397. | ^~~~~~~~~~~~~
  30398. | d_is_dir
  30399. cc1: some warnings being treated as errors
  30400. 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
  30401. In file included from ././common/inc/conftest.h:28,
  30402. from ././common/inc/nv-time.h:27,
  30403. from nvidia-uvm/uvm_linux.h:37,
  30404. from nvidia-uvm/uvm_common.h:43,
  30405. from nvidia-uvm/uvm_va_block_types.h:27,
  30406. from nvidia-uvm/uvm_hmm.h:29,
  30407. from nvidia-uvm/uvm_hmm.c:24:
  30408. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30409. 74 | #error dma_buf_export() conftest failed!
  30410. | ^~~~~
  30411. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30412. 87 | #error wait_on_bit_lock() conftest failed!
  30413. | ^~~~~
  30414. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30415. 90 | #error radix_tree_replace_slot() conftest failed!
  30416. | ^~~~~
  30417. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  30418. 40 | struct timespec64 {
  30419. | ^~~~~~~~~~
  30420. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  30421. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  30422. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  30423. from ././common/inc/nv-time.h:29:
  30424. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  30425. 13 | struct timespec64 {
  30426. | ^~~~~~~~~~
  30427. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30428. 77 | static inline struct timespec64 timespec64_add
  30429. | ^~~~~~~~~~~~~~
  30430. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30431. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  30432. | ^~~~~~~~~~~~~~
  30433. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30434. 95 | static inline struct timespec64 timespec64_sub
  30435. | ^~~~~~~~~~~~~~
  30436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30437. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  30438. | ^~~~~~~~~~~~~~
  30439. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  30440. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  30441. | ^~~~~~~~~~~~~~~~
  30442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  30443. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  30444. | ^~~~~~~~~~~~~~~~
  30445. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  30446. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30447. 122 | ktime_get_raw_ts64(&ts);
  30448. | ^~~
  30449. | |
  30450. | struct timespec64 *
  30451. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  30452. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  30453. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  30454. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  30455. from ././common/inc/nv-time.h:30:
  30456. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30457. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30458. | ~~~~~~~~~~~~~~~~~~~^~
  30459. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  30460. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30461. 185 | ktime_get_raw_ts64(&tm_aux);
  30462. | ^~~~~~~
  30463. | |
  30464. | struct timespec64 *
  30465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30466. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30467. | ~~~~~~~~~~~~~~~~~~~^~
  30468. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30469. 221 | ktime_get_raw_ts64(&tm_aux);
  30470. | ^~~~~~~
  30471. | |
  30472. | struct timespec64 *
  30473. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30474. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30475. | ~~~~~~~~~~~~~~~~~~~^~
  30476. CC [M] nvidia-uvm/uvm_perf_heuristics.o
  30477. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  30478. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30479. 287 | ktime_get_raw_ts64(&tm);
  30480. | ^~~
  30481. | |
  30482. | struct timespec64 *
  30483. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30484. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30485. | ~~~~~~~~~~~~~~~~~~~^~
  30486. nvidia-uvm/uvm_linux.h: At top level:
  30487. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30488. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  30489. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30490. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30491. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  30492. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30493. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  30494. 449 | #error "Unknown number of arguments"
  30495. | ^~~~~
  30496. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30497. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  30498. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30499. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30500. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  30501. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30502. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  30503. 485 | #error "Unknown number of arguments"
  30504. | ^~~~~
  30505. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  30506. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  30507. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  30508. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  30509. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30510. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  30511. | ^
  30512. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30513. 573 | NV_MEMDBG_ADD(ptr, size);
  30514. | ^
  30515. ././common/inc/nv-linux.h: In function 'nv_vmap':
  30516. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30517. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  30518. | ^
  30519. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  30520. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  30521. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  30522. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  30523. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30524. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  30525. | ^
  30526. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30527. 573 | NV_MEMDBG_ADD(ptr, size);
  30528. | ^
  30529. In file included from ././common/inc/conftest.h:28,
  30530. from ././common/inc/nv-time.h:27,
  30531. from nvidia-uvm/uvm_linux.h:37,
  30532. from nvidia-uvm/uvm_perf_heuristics.c:24:
  30533. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  30534. 74 | #error dma_buf_export() conftest failed!
  30535. | ^~~~~
  30536. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  30537. 87 | #error wait_on_bit_lock() conftest failed!
  30538. | ^~~~~
  30539. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  30540. 90 | #error radix_tree_replace_slot() conftest failed!
  30541. | ^~~~~
  30542. ././common/inc/nv-linux.h: In function 'nv_vmap':
  30543. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30544. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  30545. | ^
  30546. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  30547. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  30548. 736 | return phys_to_dma(dev, pa);
  30549. | ^~~~~~~~~~~
  30550. | nv_phys_to_dma
  30551. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  30552. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  30553. 736 | return phys_to_dma(dev, pa);
  30554. | ^~~~~~~~~~~
  30555. | nv_phys_to_dma
  30556. In file included from ././common/inc/nv-linux.h:34,
  30557. from nvidia-uvm/uvm_linux.h:40:
  30558. ././common/inc/nv-mm.h: At top level:
  30559. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  30560. 29 | typedef int vm_fault_t;
  30561. | ^~~~~~~~~~
  30562. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  30563. 40 | struct timespec64 {
  30564. | ^~~~~~~~~~
  30565. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  30566. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  30567. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  30568. from ././common/inc/nv-time.h:29:
  30569. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  30570. 13 | struct timespec64 {
  30571. | ^~~~~~~~~~
  30572. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  30573. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  30574. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  30575. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  30576. from ././common/inc/nv-lock.h:35,
  30577. from ././common/inc/nv-linux.h:32:
  30578. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  30579. 1311 | typedef __bitwise unsigned int vm_fault_t;
  30580. | ^~~~~~~~~~
  30581. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  30582. from ././common/inc/nv-time.h:28:
  30583. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  30584. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30585. 77 | static inline struct timespec64 timespec64_add
  30586. | ^~~~~~~~~~~~~~
  30587. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30588. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  30589. | ^~~~~~~~~~~~~~
  30590. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  30591. 52 | #define current get_current()
  30592. | ^~~~~~~~~~~~~
  30593. | |
  30594. | struct task_struct *
  30595. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  30596. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  30597. | ^~~~~~~
  30598. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30599. 95 | static inline struct timespec64 timespec64_sub
  30600. | ^~~~~~~~~~~~~~
  30601. In file included from ././common/inc/nv-pgprot.h:30,
  30602. from ././common/inc/nv-linux.h:33:
  30603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  30604. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  30605. | ~~~~~~~~~~~~~~^~~~~
  30606. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30607. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  30608. | ^~~~~~~~~~~~~~
  30609. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  30610. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  30611. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  30612. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  30613. | ~~~~~~~~~~~~~~^~~~~~~~
  30614. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  30615. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  30616. | ^~~~~~~~~~~~~~~~
  30617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  30618. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  30619. | ^~~~~~~~~~~~~~~~
  30620. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  30621. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  30622. | ^~~~~~~~
  30623. | |
  30624. | long unsigned int
  30625. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  30626. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  30627. 2535 | unsigned int gup_flags, struct page **pages);
  30628. | ~~~~~~~~~~~~~~^~~~~
  30629. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30630. 122 | ktime_get_raw_ts64(&ts);
  30631. | ^~~
  30632. | |
  30633. | struct timespec64 *
  30634. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  30635. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  30636. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  30637. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  30638. from ././common/inc/nv-time.h:30:
  30639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30640. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30641. | ~~~~~~~~~~~~~~~~~~~^~
  30642. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  30643. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  30644. | ^~~~~~~~~~~~~~ ~~~~~
  30645. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  30646. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  30647. | ^~~~~~~~~~~~~~
  30648. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  30649. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  30650. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  30651. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  30652. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  30653. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  30654. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  30655. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30656. 185 | ktime_get_raw_ts64(&tm_aux);
  30657. | ^~~~~~~
  30658. | |
  30659. | struct timespec64 *
  30660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30661. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30662. | ~~~~~~~~~~~~~~~~~~~^~
  30663. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30664. 221 | ktime_get_raw_ts64(&tm_aux);
  30665. | ^~~~~~~
  30666. | |
  30667. | struct timespec64 *
  30668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30669. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30670. | ~~~~~~~~~~~~~~~~~~~^~
  30671. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  30672. 8 | #define NULL ((void *)0)
  30673. | ^~~~~~~~~~~
  30674. | |
  30675. | void *
  30676. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  30677. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  30678. | ^~~~
  30679. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  30680. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  30681. | ~~~~~~~~~~~~~~^~~~~
  30682. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  30683. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  30684. | ^~
  30685. | |
  30686. | struct mm_struct *
  30687. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  30688. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  30689. | ~~~~~~~~~~~~~~^~~~~~~~
  30690. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  30691. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  30692. | ^~~~~~~~
  30693. | |
  30694. | long unsigned int
  30695. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  30696. 2535 | unsigned int gup_flags, struct page **pages);
  30697. | ~~~~~~~~~~~~~~^~~~~
  30698. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  30699. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  30700. | ^~~~~~~~~~~~~~ ~~~~~
  30701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  30702. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  30703. | ^~~~~~~~~~~~~~
  30704. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  30705. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  30706. 237 | return (unsigned long)(vmf->virtual_address);
  30707. | ^~~~~~~~~~~~~~~
  30708. | real_address
  30709. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  30710. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  30711. 246 | down_read(&mm->mmap_sem);
  30712. | ^~~~~~~~
  30713. | mmap_base
  30714. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  30715. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  30716. 255 | up_read(&mm->mmap_sem);
  30717. | ^~~~~~~~
  30718. | mmap_base
  30719. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  30720. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  30721. 264 | down_write(&mm->mmap_sem);
  30722. | ^~~~~~~~
  30723. | mmap_base
  30724. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  30725. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  30726. 273 | up_write(&mm->mmap_sem);
  30727. | ^~~~~~~~
  30728. | mmap_base
  30729. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  30730. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  30731. 282 | return rwsem_is_locked(&mm->mmap_sem);
  30732. | ^~~~~~~~
  30733. | mmap_base
  30734. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  30735. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  30736. 291 | return &mm->mmap_sem;
  30737. | ^~~~~~~~
  30738. | mmap_base
  30739. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  30740. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  30741. 300 | vma->vm_flags |= flags;
  30742. | ^~
  30743. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  30744. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  30745. 309 | vma->vm_flags &= ~flags;
  30746. | ^~
  30747. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  30748. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  30749. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  30750. | ^~~~~~~~~~~~~
  30751. | d_is_dir
  30752. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  30753. 40 | struct timespec64 {
  30754. | ^~~~~~~~~~
  30755. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  30756. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  30757. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  30758. from ././common/inc/nv-time.h:29:
  30759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  30760. 13 | struct timespec64 {
  30761. | ^~~~~~~~~~
  30762. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30763. 77 | static inline struct timespec64 timespec64_add
  30764. | ^~~~~~~~~~~~~~
  30765. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30766. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  30767. | ^~~~~~~~~~~~~~
  30768. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30769. 95 | static inline struct timespec64 timespec64_sub
  30770. | ^~~~~~~~~~~~~~
  30771. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30772. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  30773. | ^~~~~~~~~~~~~~
  30774. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  30775. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  30776. | ^~~~~~~~~~~~~~~~
  30777. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  30778. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  30779. | ^~~~~~~~~~~~~~~~
  30780. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  30781. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30782. 122 | ktime_get_raw_ts64(&ts);
  30783. | ^~~
  30784. | |
  30785. | struct timespec64 *
  30786. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  30787. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  30788. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  30789. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  30790. from ././common/inc/nv-time.h:30:
  30791. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30792. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30793. | ~~~~~~~~~~~~~~~~~~~^~
  30794. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  30795. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30796. 185 | ktime_get_raw_ts64(&tm_aux);
  30797. | ^~~~~~~
  30798. | |
  30799. | struct timespec64 *
  30800. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30801. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30802. | ~~~~~~~~~~~~~~~~~~~^~
  30803. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30804. 221 | ktime_get_raw_ts64(&tm_aux);
  30805. | ^~~~~~~
  30806. | |
  30807. | struct timespec64 *
  30808. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30809. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30810. | ~~~~~~~~~~~~~~~~~~~^~
  30811. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  30812. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  30813. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  30814. | ^~~~~~~~~~~~~~~~~~~~~~~
  30815. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30816. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30817. 520 | NV_MEMDBG_ADD(ptr, size);
  30818. | ^
  30819. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  30820. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  30821. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  30822. | ^~~~~~~~~~~~~
  30823. | d_is_dir
  30824. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  30825. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30826. 287 | ktime_get_raw_ts64(&tm);
  30827. | ^~~
  30828. | |
  30829. | struct timespec64 *
  30830. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30831. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30832. | ~~~~~~~~~~~~~~~~~~~^~
  30833. nvidia-uvm/uvm_linux.h: At top level:
  30834. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30835. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  30836. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30837. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30838. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  30839. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30840. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  30841. 449 | #error "Unknown number of arguments"
  30842. | ^~~~~
  30843. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30844. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  30845. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30846. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30847. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  30848. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30849. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  30850. 485 | #error "Unknown number of arguments"
  30851. | ^~~~~
  30852. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  30853. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30854. 287 | ktime_get_raw_ts64(&tm);
  30855. | ^~~
  30856. | |
  30857. | struct timespec64 *
  30858. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30859. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30860. | ~~~~~~~~~~~~~~~~~~~^~
  30861. nvidia-uvm/uvm_linux.h: At top level:
  30862. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30863. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  30864. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30865. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30866. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  30867. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30868. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  30869. 449 | #error "Unknown number of arguments"
  30870. | ^~~~~
  30871. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30872. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  30873. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30874. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  30875. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  30876. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  30877. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  30878. 485 | #error "Unknown number of arguments"
  30879. | ^~~~~
  30880. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  30881. from nvidia-uvm/uvm_channel.h:29,
  30882. from nvidia-uvm/uvm_push.h:29,
  30883. from nvidia-uvm/uvm_hal.h:31:
  30884. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  30885. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  30886. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  30887. | ^~~~~~~~~~~~~~~~~~~~
  30888. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  30889. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  30890. 533 | ptr = ioremap_cache_shared(phys, size);
  30891. | ^~~~~~~~~~~~~~~~~~~~
  30892. | ioremap_cache
  30893. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  30894. 533 | ptr = ioremap_cache_shared(phys, size);
  30895. | ^
  30896. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  30897. 556 | NV_MEMDBG_ADD(ptr, size);
  30898. | ^
  30899. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  30900. 40 | struct timespec64 {
  30901. | ^~~~~~~~~~
  30902. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  30903. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  30904. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  30905. from ././common/inc/nv-time.h:29:
  30906. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  30907. 13 | struct timespec64 {
  30908. | ^~~~~~~~~~
  30909. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  30910. 40 | struct timespec64 {
  30911. | ^~~~~~~~~~
  30912. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  30913. from nvidia-uvm/uvm_gpu.h:37,
  30914. from nvidia-uvm/uvm_global.h:32:
  30915. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  30916. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  30917. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  30918. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  30919. from ././common/inc/nv-time.h:29:
  30920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  30921. 13 | struct timespec64 {
  30922. | ^~~~~~~~~~
  30923. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  30924. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  30925. | ^~~~~~~~~~~~~~~~~~~~
  30926. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30927. 77 | static inline struct timespec64 timespec64_add
  30928. | ^~~~~~~~~~~~~~
  30929. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30930. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  30931. | ^~~~~~~~~~~~~~
  30932. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30933. 95 | static inline struct timespec64 timespec64_sub
  30934. | ^~~~~~~~~~~~~~
  30935. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30936. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  30937. | ^~~~~~~~~~~~~~
  30938. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  30939. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  30940. | ^~~~~~~~~~~~~~~~
  30941. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  30942. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  30943. | ^~~~~~~~~~~~~~~~
  30944. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  30945. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30946. 122 | ktime_get_raw_ts64(&ts);
  30947. | ^~~
  30948. | |
  30949. | struct timespec64 *
  30950. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  30951. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  30952. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  30953. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  30954. from ././common/inc/nv-time.h:30:
  30955. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30956. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30957. | ~~~~~~~~~~~~~~~~~~~^~
  30958. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  30959. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30960. 185 | ktime_get_raw_ts64(&tm_aux);
  30961. | ^~~~~~~
  30962. | |
  30963. | struct timespec64 *
  30964. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30965. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30966. | ~~~~~~~~~~~~~~~~~~~^~
  30967. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30968. 221 | ktime_get_raw_ts64(&tm_aux);
  30969. | ^~~~~~~
  30970. | |
  30971. | struct timespec64 *
  30972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  30973. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  30974. | ~~~~~~~~~~~~~~~~~~~^~
  30975. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30976. 77 | static inline struct timespec64 timespec64_add
  30977. | ^~~~~~~~~~~~~~
  30978. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30979. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  30980. | ^~~~~~~~~~~~~~
  30981. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  30982. 95 | static inline struct timespec64 timespec64_sub
  30983. | ^~~~~~~~~~~~~~
  30984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  30985. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  30986. | ^~~~~~~~~~~~~~
  30987. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  30988. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  30989. | ^~~~~~~~~~~~~~~~
  30990. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  30991. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  30992. | ^~~~~~~~~~~~~~~~
  30993. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  30994. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  30995. 122 | ktime_get_raw_ts64(&ts);
  30996. | ^~~
  30997. | |
  30998. | struct timespec64 *
  30999. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  31000. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  31001. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  31002. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  31003. from ././common/inc/nv-time.h:30:
  31004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31005. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31006. | ~~~~~~~~~~~~~~~~~~~^~
  31007. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  31008. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31009. 185 | ktime_get_raw_ts64(&tm_aux);
  31010. | ^~~~~~~
  31011. | |
  31012. | struct timespec64 *
  31013. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31014. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31015. | ~~~~~~~~~~~~~~~~~~~^~
  31016. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31017. 221 | ktime_get_raw_ts64(&tm_aux);
  31018. | ^~~~~~~
  31019. | |
  31020. | struct timespec64 *
  31021. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31022. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31023. | ~~~~~~~~~~~~~~~~~~~^~
  31024. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  31025. 40 | struct timespec64 {
  31026. | ^~~~~~~~~~
  31027. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  31028. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  31029. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  31030. from ././common/inc/nv-time.h:29:
  31031. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  31032. 13 | struct timespec64 {
  31033. | ^~~~~~~~~~
  31034. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31035. 77 | static inline struct timespec64 timespec64_add
  31036. | ^~~~~~~~~~~~~~
  31037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31038. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  31039. | ^~~~~~~~~~~~~~
  31040. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31041. 95 | static inline struct timespec64 timespec64_sub
  31042. | ^~~~~~~~~~~~~~
  31043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31044. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  31045. | ^~~~~~~~~~~~~~
  31046. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  31047. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  31048. | ^~~~~~~~~~~~~~~~
  31049. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  31050. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  31051. | ^~~~~~~~~~~~~~~~
  31052. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  31053. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31054. 122 | ktime_get_raw_ts64(&ts);
  31055. | ^~~
  31056. | |
  31057. | struct timespec64 *
  31058. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  31059. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  31060. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  31061. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  31062. from ././common/inc/nv-time.h:30:
  31063. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31064. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31065. | ~~~~~~~~~~~~~~~~~~~^~
  31066. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  31067. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31068. 185 | ktime_get_raw_ts64(&tm_aux);
  31069. | ^~~~~~~
  31070. | |
  31071. | struct timespec64 *
  31072. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31073. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31074. | ~~~~~~~~~~~~~~~~~~~^~
  31075. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31076. 221 | ktime_get_raw_ts64(&tm_aux);
  31077. | ^~~~~~~
  31078. | |
  31079. | struct timespec64 *
  31080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31081. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31082. | ~~~~~~~~~~~~~~~~~~~^~
  31083. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  31084. 40 | struct timespec64 {
  31085. | ^~~~~~~~~~
  31086. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  31087. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  31088. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  31089. from ././common/inc/nv-time.h:29:
  31090. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  31091. 13 | struct timespec64 {
  31092. | ^~~~~~~~~~
  31093. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31094. 77 | static inline struct timespec64 timespec64_add
  31095. | ^~~~~~~~~~~~~~
  31096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31097. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  31098. | ^~~~~~~~~~~~~~
  31099. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31100. 95 | static inline struct timespec64 timespec64_sub
  31101. | ^~~~~~~~~~~~~~
  31102. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31103. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  31104. | ^~~~~~~~~~~~~~
  31105. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  31106. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  31107. | ^~~~~~~~~~~~~~~~
  31108. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  31109. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  31110. | ^~~~~~~~~~~~~~~~
  31111. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  31112. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31113. 122 | ktime_get_raw_ts64(&ts);
  31114. | ^~~
  31115. | |
  31116. | struct timespec64 *
  31117. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  31118. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  31119. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  31120. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  31121. from ././common/inc/nv-time.h:30:
  31122. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31123. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31124. | ~~~~~~~~~~~~~~~~~~~^~
  31125. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  31126. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31127. 185 | ktime_get_raw_ts64(&tm_aux);
  31128. | ^~~~~~~
  31129. | |
  31130. | struct timespec64 *
  31131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31132. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31133. | ~~~~~~~~~~~~~~~~~~~^~
  31134. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31135. 221 | ktime_get_raw_ts64(&tm_aux);
  31136. | ^~~~~~~
  31137. | |
  31138. | struct timespec64 *
  31139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31140. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31141. | ~~~~~~~~~~~~~~~~~~~^~
  31142. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  31143. 40 | struct timespec64 {
  31144. | ^~~~~~~~~~
  31145. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  31146. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  31147. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  31148. from ././common/inc/nv-time.h:29:
  31149. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  31150. 13 | struct timespec64 {
  31151. | ^~~~~~~~~~
  31152. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31153. 77 | static inline struct timespec64 timespec64_add
  31154. | ^~~~~~~~~~~~~~
  31155. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31156. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  31157. | ^~~~~~~~~~~~~~
  31158. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31159. 95 | static inline struct timespec64 timespec64_sub
  31160. | ^~~~~~~~~~~~~~
  31161. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31162. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  31163. | ^~~~~~~~~~~~~~
  31164. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  31165. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  31166. | ^~~~~~~~~~~~~~~~
  31167. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  31168. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  31169. | ^~~~~~~~~~~~~~~~
  31170. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  31171. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31172. 122 | ktime_get_raw_ts64(&ts);
  31173. | ^~~
  31174. | |
  31175. | struct timespec64 *
  31176. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  31177. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  31178. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  31179. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  31180. from ././common/inc/nv-time.h:30:
  31181. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31182. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31183. | ~~~~~~~~~~~~~~~~~~~^~
  31184. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  31185. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31186. 185 | ktime_get_raw_ts64(&tm_aux);
  31187. | ^~~~~~~
  31188. | |
  31189. | struct timespec64 *
  31190. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31191. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31192. | ~~~~~~~~~~~~~~~~~~~^~
  31193. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31194. 221 | ktime_get_raw_ts64(&tm_aux);
  31195. | ^~~~~~~
  31196. | |
  31197. | struct timespec64 *
  31198. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31199. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31200. | ~~~~~~~~~~~~~~~~~~~^~
  31201. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  31202. from nvidia-uvm/uvm_channel.h:29,
  31203. from nvidia-uvm/uvm_push.h:29,
  31204. from nvidia-uvm/uvm_hal.h:31:
  31205. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  31206. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  31207. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  31208. | ^~~~~~~~~~~~~~~~~~~~
  31209. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  31210. 40 | struct timespec64 {
  31211. | ^~~~~~~~~~
  31212. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  31213. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  31214. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  31215. from ././common/inc/nv-time.h:29:
  31216. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  31217. 13 | struct timespec64 {
  31218. | ^~~~~~~~~~
  31219. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31220. 77 | static inline struct timespec64 timespec64_add
  31221. | ^~~~~~~~~~~~~~
  31222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31223. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  31224. | ^~~~~~~~~~~~~~
  31225. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31226. 95 | static inline struct timespec64 timespec64_sub
  31227. | ^~~~~~~~~~~~~~
  31228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31229. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  31230. | ^~~~~~~~~~~~~~
  31231. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  31232. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  31233. | ^~~~~~~~~~~~~~~~
  31234. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  31235. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  31236. | ^~~~~~~~~~~~~~~~
  31237. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  31238. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31239. 122 | ktime_get_raw_ts64(&ts);
  31240. | ^~~
  31241. | |
  31242. | struct timespec64 *
  31243. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  31244. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  31245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  31246. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  31247. from ././common/inc/nv-time.h:30:
  31248. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31249. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31250. | ~~~~~~~~~~~~~~~~~~~^~
  31251. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  31252. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31253. 185 | ktime_get_raw_ts64(&tm_aux);
  31254. | ^~~~~~~
  31255. | |
  31256. | struct timespec64 *
  31257. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31258. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31259. | ~~~~~~~~~~~~~~~~~~~^~
  31260. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31261. 221 | ktime_get_raw_ts64(&tm_aux);
  31262. | ^~~~~~~
  31263. | |
  31264. | struct timespec64 *
  31265. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31266. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31267. | ~~~~~~~~~~~~~~~~~~~^~
  31268. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  31269. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  31270. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  31271. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  31272. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  31273. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  31274. | ^
  31275. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  31276. 573 | NV_MEMDBG_ADD(ptr, size);
  31277. | ^
  31278. ././common/inc/nv-linux.h: In function 'nv_vmap':
  31279. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  31280. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  31281. | ^
  31282. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  31283. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  31284. 736 | return phys_to_dma(dev, pa);
  31285. | ^~~~~~~~~~~
  31286. | nv_phys_to_dma
  31287. cc1: some warnings being treated as errors
  31288. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_mmu.o] Error 1
  31289. cc1: some warnings being treated as errors
  31290. CC [M] nvidia-uvm/uvm_perf_thrashing.o
  31291. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  31292. 40 | struct timespec64 {
  31293. | ^~~~~~~~~~
  31294. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  31295. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  31296. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  31297. from ././common/inc/nv-time.h:29:
  31298. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  31299. 13 | struct timespec64 {
  31300. | ^~~~~~~~~~
  31301. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31302. 77 | static inline struct timespec64 timespec64_add
  31303. | ^~~~~~~~~~~~~~
  31304. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31305. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  31306. | ^~~~~~~~~~~~~~
  31307. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31308. 95 | static inline struct timespec64 timespec64_sub
  31309. | ^~~~~~~~~~~~~~
  31310. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31311. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  31312. | ^~~~~~~~~~~~~~
  31313. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  31314. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  31315. | ^~~~~~~~~~~~~~~~
  31316. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  31317. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  31318. | ^~~~~~~~~~~~~~~~
  31319. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  31320. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31321. 122 | ktime_get_raw_ts64(&ts);
  31322. | ^~~
  31323. | |
  31324. | struct timespec64 *
  31325. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  31326. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  31327. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  31328. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  31329. from ././common/inc/nv-time.h:30:
  31330. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31331. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31332. | ~~~~~~~~~~~~~~~~~~~^~
  31333. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  31334. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31335. 185 | ktime_get_raw_ts64(&tm_aux);
  31336. | ^~~~~~~
  31337. | |
  31338. | struct timespec64 *
  31339. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31340. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31341. | ~~~~~~~~~~~~~~~~~~~^~
  31342. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31343. 221 | ktime_get_raw_ts64(&tm_aux);
  31344. | ^~~~~~~
  31345. | |
  31346. | struct timespec64 *
  31347. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31348. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31349. | ~~~~~~~~~~~~~~~~~~~^~
  31350. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_ce.o] Error 1
  31351. CC [M] nvidia-uvm/uvm_perf_prefetch.o
  31352. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  31353. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  31354. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  31355. | ^~~~~~~~~~~~~
  31356. | d_is_dir
  31357. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  31358. 40 | struct timespec64 {
  31359. | ^~~~~~~~~~
  31360. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  31361. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  31362. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  31363. from ././common/inc/nv-time.h:29:
  31364. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  31365. 13 | struct timespec64 {
  31366. | ^~~~~~~~~~
  31367. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31368. 77 | static inline struct timespec64 timespec64_add
  31369. | ^~~~~~~~~~~~~~
  31370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31371. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  31372. | ^~~~~~~~~~~~~~
  31373. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  31374. 95 | static inline struct timespec64 timespec64_sub
  31375. | ^~~~~~~~~~~~~~
  31376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  31377. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  31378. | ^~~~~~~~~~~~~~
  31379. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  31380. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  31381. | ^~~~~~~~~~~~~~~~
  31382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  31383. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  31384. | ^~~~~~~~~~~~~~~~
  31385. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  31386. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31387. 122 | ktime_get_raw_ts64(&ts);
  31388. | ^~~
  31389. | |
  31390. | struct timespec64 *
  31391. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  31392. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  31393. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  31394. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  31395. from ././common/inc/nv-time.h:30:
  31396. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31397. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31398. | ~~~~~~~~~~~~~~~~~~~^~
  31399. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  31400. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31401. 185 | ktime_get_raw_ts64(&tm_aux);
  31402. | ^~~~~~~
  31403. | |
  31404. | struct timespec64 *
  31405. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31406. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31407. | ~~~~~~~~~~~~~~~~~~~^~
  31408. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31409. 221 | ktime_get_raw_ts64(&tm_aux);
  31410. | ^~~~~~~
  31411. | |
  31412. | struct timespec64 *
  31413. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31414. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31415. | ~~~~~~~~~~~~~~~~~~~^~
  31416. In file included from ././common/inc/conftest.h:28,
  31417. from ././common/inc/nv-time.h:27,
  31418. from nvidia-uvm/uvm_linux.h:37,
  31419. from nvidia-uvm/uvm_common.h:43,
  31420. from nvidia-uvm/uvm_api.h:28,
  31421. from nvidia-uvm/uvm_perf_thrashing.c:24:
  31422. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  31423. 74 | #error dma_buf_export() conftest failed!
  31424. | ^~~~~
  31425. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  31426. 87 | #error wait_on_bit_lock() conftest failed!
  31427. | ^~~~~
  31428. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  31429. 90 | #error radix_tree_replace_slot() conftest failed!
  31430. | ^~~~~
  31431. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  31432. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  31433. 502 | NV_MEMDBG_ADD(ptr, size);
  31434. | ^
  31435. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  31436. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  31437. 287 | ktime_get_raw_ts64(&tm);
  31438. | ^~~
  31439. | |
  31440. | struct timespec64 *
  31441. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  31442. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  31443. | ~~~~~~~~~~~~~~~~~~~^~
  31444. nvidia-uvm/uvm_linux.h: At top level:
  31445. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  31446. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  31447. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  31448. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  31449. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  31450. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  31451. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  31452. 449 | #error "Unknown number of arguments"
  31453. | ^~~~~
  31454. In file included from ././common/inc/conftest.h:28,
  31455. from ././common/inc/nv-time.h:27,
  31456. from nvidia-uvm/uvm_linux.h:37,
  31457. from nvidia-uvm/uvm_perf_prefetch.c:24:
  31458. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  31459. 74 | #error dma_buf_export() conftest failed!
  31460. | ^~~~~
  31461. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  31462. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  31463. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  31464. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  31465. 87 | #error wait_on_bit_lock() conftest failed!
  31466. | ^~~~~
  31467. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  31468. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  31469. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  31470. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  31471. 90 | #error radix_tree_replace_slot() conftest failed!
  31472. | ^~~~~
  31473. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  31474. 485 | #error "Unknown number of arguments"
  31475. | ^~~~~
  31476. In file included from ././common/inc/nv-linux.h:34,
  31477. from nvidia-uvm/uvm_linux.h:40:
  31478. ././common/inc/nv-mm.h: At top level:
  31479. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  31480. 29 | typedef int vm_fault_t;
  31481. | ^~~~~~~~~~
  31482. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  31483. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  31484. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  31485. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  31486. from ././common/inc/nv-lock.h:35,
  31487. from ././common/inc/nv-linux.h:32:
  31488. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  31489. 1311 | typedef __bitwise unsigned int vm_fault_t;
  31490. | ^~~~~~~~~~
  31491. In file included from ././common/inc/nv-linux.h:34,
  31492. from nvidia-uvm/uvm_linux.h:40:
  31493. ././common/inc/nv-mm.h: At top level:
  31494. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  31495. from ././common/inc/nv-time.h:28:
  31496. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  31497. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  31498. 29 | typedef int vm_fault_t;
  31499. | ^~~~~~~~~~
  31500. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31501. 52 | #define current get_current()
  31502. | ^~~~~~~~~~~~~
  31503. | |
  31504. | struct task_struct *
  31505. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  31506. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31507. | ^~~~~~~
  31508. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  31509. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  31510. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  31511. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  31512. from ././common/inc/nv-lock.h:35,
  31513. from ././common/inc/nv-linux.h:32:
  31514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  31515. 1311 | typedef __bitwise unsigned int vm_fault_t;
  31516. | ^~~~~~~~~~
  31517. In file included from ././common/inc/nv-pgprot.h:30,
  31518. from ././common/inc/nv-linux.h:33:
  31519. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  31520. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31521. | ~~~~~~~~~~~~~~^~~~~
  31522. In file included from ././common/inc/nv-linux.h:34,
  31523. from nvidia-uvm/uvm_linux.h:40:
  31524. ././common/inc/nv-mm.h: At top level:
  31525. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31526. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31527. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  31528. 29 | typedef int vm_fault_t;
  31529. | ^~~~~~~~~~
  31530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  31531. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31532. | ~~~~~~~~~~~~~~^~~~~~~~
  31533. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  31534. from ././common/inc/nv-time.h:28:
  31535. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  31536. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  31537. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31538. | ^~~~~~~~
  31539. | |
  31540. | long unsigned int
  31541. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  31542. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  31543. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  31544. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  31545. from ././common/inc/nv-lock.h:35,
  31546. from ././common/inc/nv-linux.h:32:
  31547. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  31548. 1311 | typedef __bitwise unsigned int vm_fault_t;
  31549. | ^~~~~~~~~~
  31550. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  31551. 2535 | unsigned int gup_flags, struct page **pages);
  31552. | ~~~~~~~~~~~~~~^~~~~
  31553. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31554. 52 | #define current get_current()
  31555. | ^~~~~~~~~~~~~
  31556. | |
  31557. | struct task_struct *
  31558. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  31559. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31560. | ^~~~~~~
  31561. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  31562. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31563. | ^~~~~~~~~~~~~~ ~~~~~
  31564. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  31565. from ././common/inc/nv-time.h:28:
  31566. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  31567. In file included from ././common/inc/nv-pgprot.h:30,
  31568. from ././common/inc/nv-linux.h:33:
  31569. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  31570. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31571. | ~~~~~~~~~~~~~~^~~~~
  31572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  31573. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31574. | ^~~~~~~~~~~~~~
  31575. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31576. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31577. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31578. 52 | #define current get_current()
  31579. | ^~~~~~~~~~~~~
  31580. | |
  31581. | struct task_struct *
  31582. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  31583. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31584. | ^~~~~~~
  31585. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  31586. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31587. | ~~~~~~~~~~~~~~^~~~~~~~
  31588. In file included from ././common/inc/nv-pgprot.h:30,
  31589. from ././common/inc/nv-linux.h:33:
  31590. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  31591. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31592. | ~~~~~~~~~~~~~~^~~~~
  31593. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31594. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31595. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  31596. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31597. | ^~~~~~~~
  31598. | |
  31599. | long unsigned int
  31600. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  31601. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31602. | ~~~~~~~~~~~~~~^~~~~~~~
  31603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  31604. 2535 | unsigned int gup_flags, struct page **pages);
  31605. | ~~~~~~~~~~~~~~^~~~~
  31606. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  31607. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31608. | ^~~~~~~~
  31609. | |
  31610. | long unsigned int
  31611. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  31612. 2535 | unsigned int gup_flags, struct page **pages);
  31613. | ~~~~~~~~~~~~~~^~~~~
  31614. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  31615. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31616. | ^~~~~~~~~~~~~~ ~~~~~
  31617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  31618. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31619. | ^~~~~~~~~~~~~~
  31620. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  31621. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31622. | ^~~~~~~~~~~~~~ ~~~~~
  31623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  31624. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31625. | ^~~~~~~~~~~~~~
  31626. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  31627. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  31628. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  31629. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  31630. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  31631. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  31632. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  31633. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  31634. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  31635. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  31636. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  31637. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  31638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31639. 8 | #define NULL ((void *)0)
  31640. | ^~~~~~~~~~~
  31641. | |
  31642. | void *
  31643. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  31644. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31645. | ^~~~
  31646. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31647. 8 | #define NULL ((void *)0)
  31648. | ^~~~~~~~~~~
  31649. | |
  31650. | void *
  31651. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  31652. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31653. | ^~~~
  31654. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  31655. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31656. | ~~~~~~~~~~~~~~^~~~~
  31657. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31658. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31659. | ^~
  31660. | |
  31661. | struct mm_struct *
  31662. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  31663. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31664. | ~~~~~~~~~~~~~~^~~~~
  31665. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31666. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31667. | ^~
  31668. | |
  31669. | struct mm_struct *
  31670. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  31671. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31672. | ~~~~~~~~~~~~~~^~~~~~~~
  31673. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  31674. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31675. | ~~~~~~~~~~~~~~^~~~~~~~
  31676. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  31677. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31678. | ^~~~~~~~
  31679. | |
  31680. | long unsigned int
  31681. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  31682. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31683. | ^~~~~~~~
  31684. | |
  31685. | long unsigned int
  31686. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  31687. 2535 | unsigned int gup_flags, struct page **pages);
  31688. | ~~~~~~~~~~~~~~^~~~~
  31689. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  31690. 2535 | unsigned int gup_flags, struct page **pages);
  31691. | ~~~~~~~~~~~~~~^~~~~
  31692. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  31693. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31694. | ^~~~~~~~~~~~~~ ~~~~~
  31695. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  31696. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31697. | ^~~~~~~~~~~~~~ ~~~~~
  31698. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  31699. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31700. | ^~~~~~~~~~~~~~
  31701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  31702. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31703. | ^~~~~~~~~~~~~~
  31704. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  31705. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  31706. 237 | return (unsigned long)(vmf->virtual_address);
  31707. | ^~~~~~~~~~~~~~~
  31708. | real_address
  31709. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  31710. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  31711. 237 | return (unsigned long)(vmf->virtual_address);
  31712. | ^~~~~~~~~~~~~~~
  31713. | real_address
  31714. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  31715. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31716. 246 | down_read(&mm->mmap_sem);
  31717. | ^~~~~~~~
  31718. | mmap_base
  31719. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  31720. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  31721. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  31722. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  31723. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  31724. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  31725. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  31726. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  31727. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31728. 246 | down_read(&mm->mmap_sem);
  31729. | ^~~~~~~~
  31730. | mmap_base
  31731. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31732. 255 | up_read(&mm->mmap_sem);
  31733. | ^~~~~~~~
  31734. | mmap_base
  31735. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31736. 8 | #define NULL ((void *)0)
  31737. | ^~~~~~~~~~~
  31738. | |
  31739. | void *
  31740. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  31741. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31742. | ^~~~
  31743. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  31744. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  31745. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31746. 264 | down_write(&mm->mmap_sem);
  31747. | ^~~~~~~~
  31748. | mmap_base
  31749. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  31750. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31751. | ~~~~~~~~~~~~~~^~~~~
  31752. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31753. 255 | up_read(&mm->mmap_sem);
  31754. | ^~~~~~~~
  31755. | mmap_base
  31756. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31757. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31758. | ^~
  31759. | |
  31760. | struct mm_struct *
  31761. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  31762. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31763. 273 | up_write(&mm->mmap_sem);
  31764. | ^~~~~~~~
  31765. | mmap_base
  31766. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  31767. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  31768. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31769. | ~~~~~~~~~~~~~~^~~~~~~~
  31770. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31771. 264 | down_write(&mm->mmap_sem);
  31772. | ^~~~~~~~
  31773. | mmap_base
  31774. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  31775. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31776. | ^~~~~~~~
  31777. | |
  31778. | long unsigned int
  31779. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  31780. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31781. 282 | return rwsem_is_locked(&mm->mmap_sem);
  31782. | ^~~~~~~~
  31783. | mmap_base
  31784. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  31785. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  31786. 2535 | unsigned int gup_flags, struct page **pages);
  31787. | ~~~~~~~~~~~~~~^~~~~
  31788. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31789. 273 | up_write(&mm->mmap_sem);
  31790. | ^~~~~~~~
  31791. | mmap_base
  31792. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  31793. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  31794. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31795. | ^~~~~~~~~~~~~~ ~~~~~
  31796. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31797. 291 | return &mm->mmap_sem;
  31798. | ^~~~~~~~
  31799. | mmap_base
  31800. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  31801. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31802. | ^~~~~~~~~~~~~~
  31803. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  31804. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  31805. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  31806. 300 | vma->vm_flags |= flags;
  31807. | ^~
  31808. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31809. 282 | return rwsem_is_locked(&mm->mmap_sem);
  31810. | ^~~~~~~~
  31811. | mmap_base
  31812. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  31813. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  31814. 309 | vma->vm_flags &= ~flags;
  31815. | ^~
  31816. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  31817. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  31818. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31819. 291 | return &mm->mmap_sem;
  31820. | ^~~~~~~~
  31821. | mmap_base
  31822. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  31823. 237 | return (unsigned long)(vmf->virtual_address);
  31824. | ^~~~~~~~~~~~~~~
  31825. | real_address
  31826. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  31827. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  31828. 300 | vma->vm_flags |= flags;
  31829. | ^~
  31830. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  31831. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31832. 246 | down_read(&mm->mmap_sem);
  31833. | ^~~~~~~~
  31834. | mmap_base
  31835. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  31836. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  31837. 309 | vma->vm_flags &= ~flags;
  31838. | ^~
  31839. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  31840. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31841. 255 | up_read(&mm->mmap_sem);
  31842. | ^~~~~~~~
  31843. | mmap_base
  31844. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  31845. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31846. 264 | down_write(&mm->mmap_sem);
  31847. | ^~~~~~~~
  31848. | mmap_base
  31849. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  31850. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31851. 273 | up_write(&mm->mmap_sem);
  31852. | ^~~~~~~~
  31853. | mmap_base
  31854. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  31855. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31856. 282 | return rwsem_is_locked(&mm->mmap_sem);
  31857. | ^~~~~~~~
  31858. | mmap_base
  31859. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  31860. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  31861. 291 | return &mm->mmap_sem;
  31862. | ^~~~~~~~
  31863. | mmap_base
  31864. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  31865. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  31866. 300 | vma->vm_flags |= flags;
  31867. | ^~
  31868. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  31869. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  31870. 309 | vma->vm_flags &= ~flags;
  31871. | ^~
  31872. cc1: some warnings being treated as errors
  31873. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_host.o] Error 1
  31874. CC [M] nvidia-uvm/uvm_ats.o
  31875. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  31876. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  31877. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  31878. | ^~~~~~~~~~~~~~~~~~~~~~~
  31879. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  31880. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  31881. 520 | NV_MEMDBG_ADD(ptr, size);
  31882. | ^
  31883. In file included from ././common/inc/conftest.h:28,
  31884. from ././common/inc/nv-time.h:27,
  31885. from nvidia-uvm/uvm_linux.h:37,
  31886. from nvidia-uvm/uvm_processors.h:27,
  31887. from nvidia-uvm/uvm_va_space.h:27,
  31888. from nvidia-uvm/uvm_ats.c:24:
  31889. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  31890. 74 | #error dma_buf_export() conftest failed!
  31891. | ^~~~~
  31892. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  31893. 87 | #error wait_on_bit_lock() conftest failed!
  31894. | ^~~~~
  31895. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  31896. 90 | #error radix_tree_replace_slot() conftest failed!
  31897. | ^~~~~
  31898. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  31899. from nvidia-uvm/uvm_gpu.h:37,
  31900. from nvidia-uvm/uvm_global.h:32:
  31901. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  31902. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  31903. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  31904. | ^~~~~~~~~~~~~~~~~~~~
  31905. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  31906. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  31907. 533 | ptr = ioremap_cache_shared(phys, size);
  31908. | ^~~~~~~~~~~~~~~~~~~~
  31909. | ioremap_cache
  31910. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  31911. 533 | ptr = ioremap_cache_shared(phys, size);
  31912. | ^
  31913. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  31914. 556 | NV_MEMDBG_ADD(ptr, size);
  31915. | ^
  31916. In file included from ././common/inc/nv-linux.h:34,
  31917. from nvidia-uvm/uvm_linux.h:40:
  31918. ././common/inc/nv-mm.h: At top level:
  31919. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  31920. 29 | typedef int vm_fault_t;
  31921. | ^~~~~~~~~~
  31922. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  31923. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  31924. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  31925. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  31926. from ././common/inc/nv-lock.h:35,
  31927. from ././common/inc/nv-linux.h:32:
  31928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  31929. 1311 | typedef __bitwise unsigned int vm_fault_t;
  31930. | ^~~~~~~~~~
  31931. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  31932. from ././common/inc/nv-time.h:28:
  31933. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  31934. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31935. 52 | #define current get_current()
  31936. | ^~~~~~~~~~~~~
  31937. | |
  31938. | struct task_struct *
  31939. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  31940. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31941. | ^~~~~~~
  31942. In file included from ././common/inc/nv-pgprot.h:30,
  31943. from ././common/inc/nv-linux.h:33:
  31944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  31945. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31946. | ~~~~~~~~~~~~~~^~~~~
  31947. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31948. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31949. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  31950. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31951. | ~~~~~~~~~~~~~~^~~~~~~~
  31952. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  31953. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31954. | ^~~~~~~~
  31955. | |
  31956. | long unsigned int
  31957. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  31958. 2535 | unsigned int gup_flags, struct page **pages);
  31959. | ~~~~~~~~~~~~~~^~~~~
  31960. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  31961. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  31962. | ^~~~~~~~~~~~~~ ~~~~~
  31963. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  31964. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31965. | ^~~~~~~~~~~~~~
  31966. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  31967. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  31968. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  31969. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  31970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  31971. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  31972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31973. 8 | #define NULL ((void *)0)
  31974. | ^~~~~~~~~~~
  31975. | |
  31976. | void *
  31977. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  31978. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31979. | ^~~~
  31980. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  31981. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31982. | ~~~~~~~~~~~~~~^~~~~
  31983. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  31984. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31985. | ^~
  31986. | |
  31987. | struct mm_struct *
  31988. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  31989. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  31990. | ~~~~~~~~~~~~~~^~~~~~~~
  31991. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  31992. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  31993. | ^~~~~~~~
  31994. | |
  31995. | long unsigned int
  31996. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  31997. 2535 | unsigned int gup_flags, struct page **pages);
  31998. | ~~~~~~~~~~~~~~^~~~~
  31999. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32000. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32001. | ^~~~~~~~~~~~~~ ~~~~~
  32002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32003. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32004. | ^~~~~~~~~~~~~~
  32005. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  32006. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  32007. 237 | return (unsigned long)(vmf->virtual_address);
  32008. | ^~~~~~~~~~~~~~~
  32009. | real_address
  32010. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  32011. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32012. 246 | down_read(&mm->mmap_sem);
  32013. | ^~~~~~~~
  32014. | mmap_base
  32015. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  32016. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32017. 255 | up_read(&mm->mmap_sem);
  32018. | ^~~~~~~~
  32019. | mmap_base
  32020. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  32021. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32022. 264 | down_write(&mm->mmap_sem);
  32023. | ^~~~~~~~
  32024. | mmap_base
  32025. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  32026. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32027. 273 | up_write(&mm->mmap_sem);
  32028. | ^~~~~~~~
  32029. | mmap_base
  32030. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  32031. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32032. 282 | return rwsem_is_locked(&mm->mmap_sem);
  32033. | ^~~~~~~~
  32034. | mmap_base
  32035. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  32036. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32037. 291 | return &mm->mmap_sem;
  32038. | ^~~~~~~~
  32039. | mmap_base
  32040. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  32041. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  32042. 300 | vma->vm_flags |= flags;
  32043. | ^~
  32044. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  32045. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  32046. 309 | vma->vm_flags &= ~flags;
  32047. | ^~
  32048. In file included from ././common/inc/nv-linux.h:34,
  32049. from nvidia-uvm/uvm_linux.h:40:
  32050. ././common/inc/nv-mm.h: At top level:
  32051. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  32052. 29 | typedef int vm_fault_t;
  32053. | ^~~~~~~~~~
  32054. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  32055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  32056. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  32057. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  32058. from ././common/inc/nv-lock.h:35,
  32059. from ././common/inc/nv-linux.h:32:
  32060. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  32061. 1311 | typedef __bitwise unsigned int vm_fault_t;
  32062. | ^~~~~~~~~~
  32063. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  32064. from ././common/inc/nv-time.h:28:
  32065. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  32066. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32067. 52 | #define current get_current()
  32068. | ^~~~~~~~~~~~~
  32069. | |
  32070. | struct task_struct *
  32071. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  32072. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32073. | ^~~~~~~
  32074. In file included from ././common/inc/nv-pgprot.h:30,
  32075. from ././common/inc/nv-linux.h:33:
  32076. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  32077. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32078. | ~~~~~~~~~~~~~~^~~~~
  32079. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32080. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32082. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32083. | ~~~~~~~~~~~~~~^~~~~~~~
  32084. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32085. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32086. | ^~~~~~~~
  32087. | |
  32088. | long unsigned int
  32089. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32090. 2535 | unsigned int gup_flags, struct page **pages);
  32091. | ~~~~~~~~~~~~~~^~~~~
  32092. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32093. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32094. | ^~~~~~~~~~~~~~ ~~~~~
  32095. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32096. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32097. | ^~~~~~~~~~~~~~
  32098. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  32099. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  32100. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  32101. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  32102. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  32103. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  32104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32105. 8 | #define NULL ((void *)0)
  32106. | ^~~~~~~~~~~
  32107. | |
  32108. | void *
  32109. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  32110. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32111. | ^~~~
  32112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  32113. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32114. | ~~~~~~~~~~~~~~^~~~~
  32115. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32116. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32117. | ^~
  32118. | |
  32119. | struct mm_struct *
  32120. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32121. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32122. | ~~~~~~~~~~~~~~^~~~~~~~
  32123. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32124. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32125. | ^~~~~~~~
  32126. | |
  32127. | long unsigned int
  32128. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32129. 2535 | unsigned int gup_flags, struct page **pages);
  32130. | ~~~~~~~~~~~~~~^~~~~
  32131. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32132. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32133. | ^~~~~~~~~~~~~~ ~~~~~
  32134. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32135. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32136. | ^~~~~~~~~~~~~~
  32137. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  32138. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  32139. 237 | return (unsigned long)(vmf->virtual_address);
  32140. | ^~~~~~~~~~~~~~~
  32141. | real_address
  32142. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  32143. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32144. 246 | down_read(&mm->mmap_sem);
  32145. | ^~~~~~~~
  32146. | mmap_base
  32147. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  32148. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32149. 255 | up_read(&mm->mmap_sem);
  32150. | ^~~~~~~~
  32151. | mmap_base
  32152. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  32153. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32154. 264 | down_write(&mm->mmap_sem);
  32155. | ^~~~~~~~
  32156. | mmap_base
  32157. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  32158. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32159. 273 | up_write(&mm->mmap_sem);
  32160. | ^~~~~~~~
  32161. | mmap_base
  32162. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  32163. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32164. 282 | return rwsem_is_locked(&mm->mmap_sem);
  32165. | ^~~~~~~~
  32166. | mmap_base
  32167. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  32168. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32169. 291 | return &mm->mmap_sem;
  32170. | ^~~~~~~~
  32171. | mmap_base
  32172. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  32173. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  32174. 300 | vma->vm_flags |= flags;
  32175. | ^~
  32176. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  32177. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  32178. 309 | vma->vm_flags &= ~flags;
  32179. | ^~
  32180. In file included from ././common/inc/nv-linux.h:34,
  32181. from nvidia-uvm/uvm_linux.h:40:
  32182. ././common/inc/nv-mm.h: At top level:
  32183. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  32184. 29 | typedef int vm_fault_t;
  32185. | ^~~~~~~~~~
  32186. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  32187. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  32188. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  32189. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  32190. from ././common/inc/nv-lock.h:35,
  32191. from ././common/inc/nv-linux.h:32:
  32192. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  32193. 1311 | typedef __bitwise unsigned int vm_fault_t;
  32194. | ^~~~~~~~~~
  32195. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  32196. from ././common/inc/nv-time.h:28:
  32197. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  32198. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32199. 52 | #define current get_current()
  32200. | ^~~~~~~~~~~~~
  32201. | |
  32202. | struct task_struct *
  32203. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  32204. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32205. | ^~~~~~~
  32206. In file included from ././common/inc/nv-pgprot.h:30,
  32207. from ././common/inc/nv-linux.h:33:
  32208. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  32209. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32210. | ~~~~~~~~~~~~~~^~~~~
  32211. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32212. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32213. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32214. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32215. | ~~~~~~~~~~~~~~^~~~~~~~
  32216. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32217. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32218. | ^~~~~~~~
  32219. | |
  32220. | long unsigned int
  32221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32222. 2535 | unsigned int gup_flags, struct page **pages);
  32223. | ~~~~~~~~~~~~~~^~~~~
  32224. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32225. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32226. | ^~~~~~~~~~~~~~ ~~~~~
  32227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32228. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32229. | ^~~~~~~~~~~~~~
  32230. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  32231. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  32232. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  32233. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  32234. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  32235. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  32236. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32237. 8 | #define NULL ((void *)0)
  32238. | ^~~~~~~~~~~
  32239. | |
  32240. | void *
  32241. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  32242. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32243. | ^~~~
  32244. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  32245. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32246. | ~~~~~~~~~~~~~~^~~~~
  32247. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32248. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32249. | ^~
  32250. | |
  32251. | struct mm_struct *
  32252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32253. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32254. | ~~~~~~~~~~~~~~^~~~~~~~
  32255. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32256. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32257. | ^~~~~~~~
  32258. | |
  32259. | long unsigned int
  32260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32261. 2535 | unsigned int gup_flags, struct page **pages);
  32262. | ~~~~~~~~~~~~~~^~~~~
  32263. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32264. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32265. | ^~~~~~~~~~~~~~ ~~~~~
  32266. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32267. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32268. | ^~~~~~~~~~~~~~
  32269. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  32270. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  32271. 237 | return (unsigned long)(vmf->virtual_address);
  32272. | ^~~~~~~~~~~~~~~
  32273. | real_address
  32274. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  32275. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32276. 246 | down_read(&mm->mmap_sem);
  32277. | ^~~~~~~~
  32278. | mmap_base
  32279. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  32280. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32281. 255 | up_read(&mm->mmap_sem);
  32282. | ^~~~~~~~
  32283. | mmap_base
  32284. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  32285. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32286. 264 | down_write(&mm->mmap_sem);
  32287. | ^~~~~~~~
  32288. | mmap_base
  32289. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  32290. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32291. 273 | up_write(&mm->mmap_sem);
  32292. | ^~~~~~~~
  32293. | mmap_base
  32294. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  32295. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32296. 282 | return rwsem_is_locked(&mm->mmap_sem);
  32297. | ^~~~~~~~
  32298. | mmap_base
  32299. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  32300. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32301. 291 | return &mm->mmap_sem;
  32302. | ^~~~~~~~
  32303. | mmap_base
  32304. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  32305. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  32306. 300 | vma->vm_flags |= flags;
  32307. | ^~
  32308. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  32309. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  32310. 309 | vma->vm_flags &= ~flags;
  32311. | ^~
  32312. In file included from ././common/inc/nv-linux.h:34,
  32313. from nvidia-uvm/uvm_linux.h:40:
  32314. ././common/inc/nv-mm.h: At top level:
  32315. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  32316. 29 | typedef int vm_fault_t;
  32317. | ^~~~~~~~~~
  32318. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  32319. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  32320. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  32321. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  32322. from ././common/inc/nv-lock.h:35,
  32323. from ././common/inc/nv-linux.h:32:
  32324. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  32325. 1311 | typedef __bitwise unsigned int vm_fault_t;
  32326. | ^~~~~~~~~~
  32327. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  32328. from ././common/inc/nv-time.h:28:
  32329. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  32330. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32331. 52 | #define current get_current()
  32332. | ^~~~~~~~~~~~~
  32333. | |
  32334. | struct task_struct *
  32335. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  32336. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32337. | ^~~~~~~
  32338. In file included from ././common/inc/nv-pgprot.h:30,
  32339. from ././common/inc/nv-linux.h:33:
  32340. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  32341. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32342. | ~~~~~~~~~~~~~~^~~~~
  32343. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32344. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32345. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32346. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32347. | ~~~~~~~~~~~~~~^~~~~~~~
  32348. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32349. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32350. | ^~~~~~~~
  32351. | |
  32352. | long unsigned int
  32353. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32354. 2535 | unsigned int gup_flags, struct page **pages);
  32355. | ~~~~~~~~~~~~~~^~~~~
  32356. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32357. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32358. | ^~~~~~~~~~~~~~ ~~~~~
  32359. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32360. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32361. | ^~~~~~~~~~~~~~
  32362. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  32363. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  32364. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  32365. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  32366. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  32367. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  32368. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32369. 8 | #define NULL ((void *)0)
  32370. | ^~~~~~~~~~~
  32371. | |
  32372. | void *
  32373. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  32374. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32375. | ^~~~
  32376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  32377. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32378. | ~~~~~~~~~~~~~~^~~~~
  32379. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32380. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32381. | ^~
  32382. | |
  32383. | struct mm_struct *
  32384. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32385. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32386. | ~~~~~~~~~~~~~~^~~~~~~~
  32387. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32388. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32389. | ^~~~~~~~
  32390. | |
  32391. | long unsigned int
  32392. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32393. 2535 | unsigned int gup_flags, struct page **pages);
  32394. | ~~~~~~~~~~~~~~^~~~~
  32395. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32396. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32397. | ^~~~~~~~~~~~~~ ~~~~~
  32398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32399. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32400. | ^~~~~~~~~~~~~~
  32401. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  32402. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  32403. 237 | return (unsigned long)(vmf->virtual_address);
  32404. | ^~~~~~~~~~~~~~~
  32405. | real_address
  32406. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  32407. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32408. 246 | down_read(&mm->mmap_sem);
  32409. | ^~~~~~~~
  32410. | mmap_base
  32411. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  32412. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32413. 255 | up_read(&mm->mmap_sem);
  32414. | ^~~~~~~~
  32415. | mmap_base
  32416. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  32417. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32418. 264 | down_write(&mm->mmap_sem);
  32419. | ^~~~~~~~
  32420. | mmap_base
  32421. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  32422. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32423. 273 | up_write(&mm->mmap_sem);
  32424. | ^~~~~~~~
  32425. | mmap_base
  32426. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  32427. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32428. 282 | return rwsem_is_locked(&mm->mmap_sem);
  32429. | ^~~~~~~~
  32430. | mmap_base
  32431. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  32432. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32433. 291 | return &mm->mmap_sem;
  32434. | ^~~~~~~~
  32435. | mmap_base
  32436. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  32437. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  32438. 300 | vma->vm_flags |= flags;
  32439. | ^~
  32440. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  32441. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  32442. 309 | vma->vm_flags &= ~flags;
  32443. | ^~
  32444. cc1: some warnings being treated as errors
  32445. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ada.o] Error 1
  32446. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  32447. 40 | struct timespec64 {
  32448. | ^~~~~~~~~~
  32449. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  32450. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  32451. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  32452. from ././common/inc/nv-time.h:29:
  32453. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  32454. 13 | struct timespec64 {
  32455. | ^~~~~~~~~~
  32456. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  32457. 77 | static inline struct timespec64 timespec64_add
  32458. | ^~~~~~~~~~~~~~
  32459. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  32460. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  32461. | ^~~~~~~~~~~~~~
  32462. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  32463. 95 | static inline struct timespec64 timespec64_sub
  32464. | ^~~~~~~~~~~~~~
  32465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  32466. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  32467. | ^~~~~~~~~~~~~~
  32468. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  32469. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  32470. | ^~~~~~~~~~~~~~~~
  32471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  32472. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  32473. | ^~~~~~~~~~~~~~~~
  32474. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  32475. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  32476. 122 | ktime_get_raw_ts64(&ts);
  32477. | ^~~
  32478. | |
  32479. | struct timespec64 *
  32480. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  32481. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  32482. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  32483. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  32484. from ././common/inc/nv-time.h:30:
  32485. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  32486. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  32487. | ~~~~~~~~~~~~~~~~~~~^~
  32488. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  32489. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  32490. 185 | ktime_get_raw_ts64(&tm_aux);
  32491. | ^~~~~~~
  32492. | |
  32493. | struct timespec64 *
  32494. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  32495. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  32496. | ~~~~~~~~~~~~~~~~~~~^~
  32497. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  32498. 221 | ktime_get_raw_ts64(&tm_aux);
  32499. | ^~~~~~~
  32500. | |
  32501. | struct timespec64 *
  32502. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  32503. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  32504. | ~~~~~~~~~~~~~~~~~~~^~
  32505. In file included from ././common/inc/nv-linux.h:34,
  32506. from nvidia-uvm/uvm_linux.h:40:
  32507. ././common/inc/nv-mm.h: At top level:
  32508. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  32509. 29 | typedef int vm_fault_t;
  32510. | ^~~~~~~~~~
  32511. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  32512. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  32513. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  32514. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  32515. from ././common/inc/nv-lock.h:35,
  32516. from ././common/inc/nv-linux.h:32:
  32517. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  32518. 1311 | typedef __bitwise unsigned int vm_fault_t;
  32519. | ^~~~~~~~~~
  32520. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  32521. from ././common/inc/nv-time.h:28:
  32522. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  32523. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32524. 52 | #define current get_current()
  32525. | ^~~~~~~~~~~~~
  32526. | |
  32527. | struct task_struct *
  32528. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  32529. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32530. | ^~~~~~~
  32531. In file included from ././common/inc/nv-pgprot.h:30,
  32532. from ././common/inc/nv-linux.h:33:
  32533. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  32534. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32535. | ~~~~~~~~~~~~~~^~~~~
  32536. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32537. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32538. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32539. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32540. | ~~~~~~~~~~~~~~^~~~~~~~
  32541. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32542. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32543. | ^~~~~~~~
  32544. | |
  32545. | long unsigned int
  32546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32547. 2535 | unsigned int gup_flags, struct page **pages);
  32548. | ~~~~~~~~~~~~~~^~~~~
  32549. CC [M] nvidia-uvm/uvm_ats_ibm.o
  32550. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32551. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32552. | ^~~~~~~~~~~~~~ ~~~~~
  32553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32554. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32555. | ^~~~~~~~~~~~~~
  32556. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  32557. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  32558. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  32559. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  32560. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  32561. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  32562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32563. 8 | #define NULL ((void *)0)
  32564. | ^~~~~~~~~~~
  32565. | |
  32566. | void *
  32567. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  32568. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32569. | ^~~~
  32570. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  32571. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32572. | ~~~~~~~~~~~~~~^~~~~
  32573. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32574. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32575. | ^~
  32576. | |
  32577. | struct mm_struct *
  32578. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32579. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32580. | ~~~~~~~~~~~~~~^~~~~~~~
  32581. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32582. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32583. | ^~~~~~~~
  32584. | |
  32585. | long unsigned int
  32586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32587. 2535 | unsigned int gup_flags, struct page **pages);
  32588. | ~~~~~~~~~~~~~~^~~~~
  32589. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32590. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32591. | ^~~~~~~~~~~~~~ ~~~~~
  32592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32593. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32594. | ^~~~~~~~~~~~~~
  32595. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  32596. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  32597. 237 | return (unsigned long)(vmf->virtual_address);
  32598. | ^~~~~~~~~~~~~~~
  32599. | real_address
  32600. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  32601. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32602. 246 | down_read(&mm->mmap_sem);
  32603. | ^~~~~~~~
  32604. | mmap_base
  32605. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  32606. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32607. 255 | up_read(&mm->mmap_sem);
  32608. | ^~~~~~~~
  32609. | mmap_base
  32610. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  32611. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32612. 264 | down_write(&mm->mmap_sem);
  32613. | ^~~~~~~~
  32614. | mmap_base
  32615. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  32616. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32617. 273 | up_write(&mm->mmap_sem);
  32618. | ^~~~~~~~
  32619. | mmap_base
  32620. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  32621. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32622. 282 | return rwsem_is_locked(&mm->mmap_sem);
  32623. | ^~~~~~~~
  32624. | mmap_base
  32625. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  32626. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32627. 291 | return &mm->mmap_sem;
  32628. | ^~~~~~~~
  32629. | mmap_base
  32630. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  32631. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  32632. 300 | vma->vm_flags |= flags;
  32633. | ^~
  32634. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  32635. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  32636. 309 | vma->vm_flags &= ~flags;
  32637. | ^~
  32638. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  32639. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  32640. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  32641. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  32642. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  32643. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  32644. | ^
  32645. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  32646. 573 | NV_MEMDBG_ADD(ptr, size);
  32647. | ^
  32648. ././common/inc/nv-linux.h: In function 'nv_vmap':
  32649. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  32650. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  32651. | ^
  32652. In file included from ././common/inc/nv-linux.h:34,
  32653. from nvidia-uvm/uvm_linux.h:40:
  32654. ././common/inc/nv-mm.h: At top level:
  32655. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  32656. 29 | typedef int vm_fault_t;
  32657. | ^~~~~~~~~~
  32658. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  32659. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  32660. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  32661. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  32662. from ././common/inc/nv-lock.h:35,
  32663. from ././common/inc/nv-linux.h:32:
  32664. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  32665. 1311 | typedef __bitwise unsigned int vm_fault_t;
  32666. | ^~~~~~~~~~
  32667. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  32668. from ././common/inc/nv-time.h:28:
  32669. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  32670. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32671. 52 | #define current get_current()
  32672. | ^~~~~~~~~~~~~
  32673. | |
  32674. | struct task_struct *
  32675. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  32676. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32677. | ^~~~~~~
  32678. In file included from ././common/inc/nv-pgprot.h:30,
  32679. from ././common/inc/nv-linux.h:33:
  32680. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  32681. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32682. | ~~~~~~~~~~~~~~^~~~~
  32683. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32684. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32685. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32686. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32687. | ~~~~~~~~~~~~~~^~~~~~~~
  32688. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32689. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32690. | ^~~~~~~~
  32691. | |
  32692. | long unsigned int
  32693. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32694. 2535 | unsigned int gup_flags, struct page **pages);
  32695. | ~~~~~~~~~~~~~~^~~~~
  32696. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32697. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32698. | ^~~~~~~~~~~~~~ ~~~~~
  32699. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32700. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32701. | ^~~~~~~~~~~~~~
  32702. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  32703. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  32704. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  32705. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  32706. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  32707. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  32708. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32709. 8 | #define NULL ((void *)0)
  32710. | ^~~~~~~~~~~
  32711. | |
  32712. | void *
  32713. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  32714. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32715. | ^~~~
  32716. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  32717. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32718. | ~~~~~~~~~~~~~~^~~~~
  32719. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32720. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32721. | ^~
  32722. | |
  32723. | struct mm_struct *
  32724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32725. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32726. | ~~~~~~~~~~~~~~^~~~~~~~
  32727. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32728. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32729. | ^~~~~~~~
  32730. | |
  32731. | long unsigned int
  32732. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32733. 2535 | unsigned int gup_flags, struct page **pages);
  32734. | ~~~~~~~~~~~~~~^~~~~
  32735. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32736. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32737. | ^~~~~~~~~~~~~~ ~~~~~
  32738. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32739. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32740. | ^~~~~~~~~~~~~~
  32741. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  32742. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  32743. 237 | return (unsigned long)(vmf->virtual_address);
  32744. | ^~~~~~~~~~~~~~~
  32745. | real_address
  32746. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  32747. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32748. 246 | down_read(&mm->mmap_sem);
  32749. | ^~~~~~~~
  32750. | mmap_base
  32751. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  32752. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32753. 255 | up_read(&mm->mmap_sem);
  32754. | ^~~~~~~~
  32755. | mmap_base
  32756. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  32757. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32758. 264 | down_write(&mm->mmap_sem);
  32759. | ^~~~~~~~
  32760. | mmap_base
  32761. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  32762. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32763. 273 | up_write(&mm->mmap_sem);
  32764. | ^~~~~~~~
  32765. | mmap_base
  32766. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  32767. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32768. 282 | return rwsem_is_locked(&mm->mmap_sem);
  32769. | ^~~~~~~~
  32770. | mmap_base
  32771. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  32772. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32773. 291 | return &mm->mmap_sem;
  32774. | ^~~~~~~~
  32775. | mmap_base
  32776. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  32777. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  32778. 300 | vma->vm_flags |= flags;
  32779. | ^~
  32780. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  32781. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  32782. 309 | vma->vm_flags &= ~flags;
  32783. | ^~
  32784. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  32785. 40 | struct timespec64 {
  32786. | ^~~~~~~~~~
  32787. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  32788. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  32789. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  32790. from ././common/inc/nv-time.h:29:
  32791. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  32792. 13 | struct timespec64 {
  32793. | ^~~~~~~~~~
  32794. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  32795. 77 | static inline struct timespec64 timespec64_add
  32796. | ^~~~~~~~~~~~~~
  32797. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  32798. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  32799. | ^~~~~~~~~~~~~~
  32800. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  32801. 95 | static inline struct timespec64 timespec64_sub
  32802. | ^~~~~~~~~~~~~~
  32803. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  32804. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  32805. | ^~~~~~~~~~~~~~
  32806. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  32807. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  32808. | ^~~~~~~~~~~~~~~~
  32809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  32810. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  32811. | ^~~~~~~~~~~~~~~~
  32812. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  32813. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  32814. 122 | ktime_get_raw_ts64(&ts);
  32815. | ^~~
  32816. | |
  32817. | struct timespec64 *
  32818. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  32819. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  32820. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  32821. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  32822. from ././common/inc/nv-time.h:30:
  32823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  32824. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  32825. | ~~~~~~~~~~~~~~~~~~~^~
  32826. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  32827. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  32828. 185 | ktime_get_raw_ts64(&tm_aux);
  32829. | ^~~~~~~
  32830. | |
  32831. | struct timespec64 *
  32832. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  32833. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  32834. | ~~~~~~~~~~~~~~~~~~~^~
  32835. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  32836. 221 | ktime_get_raw_ts64(&tm_aux);
  32837. | ^~~~~~~
  32838. | |
  32839. | struct timespec64 *
  32840. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  32841. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  32842. | ~~~~~~~~~~~~~~~~~~~^~
  32843. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  32844. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  32845. 736 | return phys_to_dma(dev, pa);
  32846. | ^~~~~~~~~~~
  32847. | nv_phys_to_dma
  32848. In file included from ././common/inc/conftest.h:28,
  32849. from ././common/inc/nv-time.h:27,
  32850. from nvidia-uvm/uvm_linux.h:37,
  32851. from nvidia-uvm/uvm_common.h:43,
  32852. from nvidia-uvm/uvm_api.h:28,
  32853. from nvidia-uvm/uvm_ats_ibm.c:24:
  32854. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  32855. 74 | #error dma_buf_export() conftest failed!
  32856. | ^~~~~
  32857. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  32858. 87 | #error wait_on_bit_lock() conftest failed!
  32859. | ^~~~~
  32860. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  32861. 90 | #error radix_tree_replace_slot() conftest failed!
  32862. | ^~~~~
  32863. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  32864. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  32865. 502 | NV_MEMDBG_ADD(ptr, size);
  32866. | ^
  32867. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  32868. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  32869. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  32870. | ^~~~~~~~~~~~~
  32871. | d_is_dir
  32872. In file included from ././common/inc/nv-linux.h:34,
  32873. from nvidia-uvm/uvm_linux.h:40:
  32874. ././common/inc/nv-mm.h: At top level:
  32875. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  32876. 29 | typedef int vm_fault_t;
  32877. | ^~~~~~~~~~
  32878. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  32879. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  32880. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  32881. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  32882. from ././common/inc/nv-lock.h:35,
  32883. from ././common/inc/nv-linux.h:32:
  32884. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  32885. 1311 | typedef __bitwise unsigned int vm_fault_t;
  32886. | ^~~~~~~~~~
  32887. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  32888. from ././common/inc/nv-time.h:28:
  32889. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  32890. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32891. 52 | #define current get_current()
  32892. | ^~~~~~~~~~~~~
  32893. | |
  32894. | struct task_struct *
  32895. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  32896. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32897. | ^~~~~~~
  32898. In file included from ././common/inc/nv-pgprot.h:30,
  32899. from ././common/inc/nv-linux.h:33:
  32900. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  32901. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32902. | ~~~~~~~~~~~~~~^~~~~
  32903. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32904. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32905. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32906. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32907. | ~~~~~~~~~~~~~~^~~~~~~~
  32908. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32909. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32910. | ^~~~~~~~
  32911. | |
  32912. | long unsigned int
  32913. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32914. 2535 | unsigned int gup_flags, struct page **pages);
  32915. | ~~~~~~~~~~~~~~^~~~~
  32916. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32917. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  32918. | ^~~~~~~~~~~~~~ ~~~~~
  32919. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32920. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32921. | ^~~~~~~~~~~~~~
  32922. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  32923. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  32924. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  32925. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  32926. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  32927. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  32928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32929. 8 | #define NULL ((void *)0)
  32930. | ^~~~~~~~~~~
  32931. | |
  32932. | void *
  32933. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  32934. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32935. | ^~~~
  32936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  32937. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32938. | ~~~~~~~~~~~~~~^~~~~
  32939. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  32940. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32941. | ^~
  32942. | |
  32943. | struct mm_struct *
  32944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  32945. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32946. | ~~~~~~~~~~~~~~^~~~~~~~
  32947. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  32948. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32949. | ^~~~~~~~
  32950. | |
  32951. | long unsigned int
  32952. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  32953. 2535 | unsigned int gup_flags, struct page **pages);
  32954. | ~~~~~~~~~~~~~~^~~~~
  32955. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  32956. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  32957. | ^~~~~~~~~~~~~~ ~~~~~
  32958. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  32959. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  32960. | ^~~~~~~~~~~~~~
  32961. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  32962. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  32963. 237 | return (unsigned long)(vmf->virtual_address);
  32964. | ^~~~~~~~~~~~~~~
  32965. | real_address
  32966. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  32967. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32968. 246 | down_read(&mm->mmap_sem);
  32969. | ^~~~~~~~
  32970. | mmap_base
  32971. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  32972. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32973. 255 | up_read(&mm->mmap_sem);
  32974. | ^~~~~~~~
  32975. | mmap_base
  32976. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  32977. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32978. 264 | down_write(&mm->mmap_sem);
  32979. | ^~~~~~~~
  32980. | mmap_base
  32981. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  32982. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32983. 273 | up_write(&mm->mmap_sem);
  32984. | ^~~~~~~~
  32985. | mmap_base
  32986. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  32987. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32988. 282 | return rwsem_is_locked(&mm->mmap_sem);
  32989. | ^~~~~~~~
  32990. | mmap_base
  32991. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  32992. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  32993. 291 | return &mm->mmap_sem;
  32994. | ^~~~~~~~
  32995. | mmap_base
  32996. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  32997. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  32998. 300 | vma->vm_flags |= flags;
  32999. | ^~
  33000. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  33001. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  33002. 309 | vma->vm_flags &= ~flags;
  33003. | ^~
  33004. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33005. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33006. 502 | NV_MEMDBG_ADD(ptr, size);
  33007. | ^
  33008. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  33009. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  33010. 287 | ktime_get_raw_ts64(&tm);
  33011. | ^~~
  33012. | |
  33013. | struct timespec64 *
  33014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  33015. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  33016. | ~~~~~~~~~~~~~~~~~~~^~
  33017. nvidia-uvm/uvm_linux.h: At top level:
  33018. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  33019. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  33020. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  33021. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  33022. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  33023. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  33024. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  33025. 449 | #error "Unknown number of arguments"
  33026. | ^~~~~
  33027. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  33028. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  33029. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  33030. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  33031. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  33032. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  33033. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  33034. 485 | #error "Unknown number of arguments"
  33035. | ^~~~~
  33036. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33037. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33038. 502 | NV_MEMDBG_ADD(ptr, size);
  33039. | ^
  33040. In file included from ././common/inc/nv-linux.h:34,
  33041. from nvidia-uvm/uvm_linux.h:40:
  33042. ././common/inc/nv-mm.h: At top level:
  33043. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  33044. 29 | typedef int vm_fault_t;
  33045. | ^~~~~~~~~~
  33046. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  33047. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  33048. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  33049. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  33050. from ././common/inc/nv-lock.h:35,
  33051. from ././common/inc/nv-linux.h:32:
  33052. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  33053. 1311 | typedef __bitwise unsigned int vm_fault_t;
  33054. | ^~~~~~~~~~
  33055. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  33056. from ././common/inc/nv-time.h:28:
  33057. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  33058. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33059. 52 | #define current get_current()
  33060. | ^~~~~~~~~~~~~
  33061. | |
  33062. | struct task_struct *
  33063. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  33064. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33065. | ^~~~~~~
  33066. In file included from ././common/inc/nv-pgprot.h:30,
  33067. from ././common/inc/nv-linux.h:33:
  33068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  33069. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33070. | ~~~~~~~~~~~~~~^~~~~
  33071. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33072. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  33074. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33075. | ~~~~~~~~~~~~~~^~~~~~~~
  33076. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  33077. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33078. | ^~~~~~~~
  33079. | |
  33080. | long unsigned int
  33081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  33082. 2535 | unsigned int gup_flags, struct page **pages);
  33083. | ~~~~~~~~~~~~~~^~~~~
  33084. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  33085. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33086. | ^~~~~~~~~~~~~~ ~~~~~
  33087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  33088. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33089. | ^~~~~~~~~~~~~~
  33090. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  33091. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  33092. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  33093. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  33094. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  33095. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  33096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33097. 8 | #define NULL ((void *)0)
  33098. | ^~~~~~~~~~~
  33099. | |
  33100. | void *
  33101. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  33102. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33103. | ^~~~
  33104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  33105. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33106. | ~~~~~~~~~~~~~~^~~~~
  33107. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33108. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33109. | ^~
  33110. | |
  33111. | struct mm_struct *
  33112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  33113. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33114. | ~~~~~~~~~~~~~~^~~~~~~~
  33115. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  33116. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33117. | ^~~~~~~~
  33118. | |
  33119. | long unsigned int
  33120. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  33121. 2535 | unsigned int gup_flags, struct page **pages);
  33122. | ~~~~~~~~~~~~~~^~~~~
  33123. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  33124. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33125. | ^~~~~~~~~~~~~~ ~~~~~
  33126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  33127. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33128. | ^~~~~~~~~~~~~~
  33129. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  33130. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  33131. 237 | return (unsigned long)(vmf->virtual_address);
  33132. | ^~~~~~~~~~~~~~~
  33133. | real_address
  33134. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  33135. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33136. 246 | down_read(&mm->mmap_sem);
  33137. | ^~~~~~~~
  33138. | mmap_base
  33139. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  33140. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33141. 255 | up_read(&mm->mmap_sem);
  33142. | ^~~~~~~~
  33143. | mmap_base
  33144. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  33145. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33146. 264 | down_write(&mm->mmap_sem);
  33147. | ^~~~~~~~
  33148. | mmap_base
  33149. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  33150. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33151. 273 | up_write(&mm->mmap_sem);
  33152. | ^~~~~~~~
  33153. | mmap_base
  33154. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  33155. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33156. 282 | return rwsem_is_locked(&mm->mmap_sem);
  33157. | ^~~~~~~~
  33158. | mmap_base
  33159. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  33160. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33161. 291 | return &mm->mmap_sem;
  33162. | ^~~~~~~~
  33163. | mmap_base
  33164. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  33165. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  33166. 300 | vma->vm_flags |= flags;
  33167. | ^~
  33168. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  33169. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  33170. 309 | vma->vm_flags &= ~flags;
  33171. | ^~
  33172. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  33173. 40 | struct timespec64 {
  33174. | ^~~~~~~~~~
  33175. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  33176. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  33177. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  33178. from ././common/inc/nv-time.h:29:
  33179. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  33180. 13 | struct timespec64 {
  33181. | ^~~~~~~~~~
  33182. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  33183. 77 | static inline struct timespec64 timespec64_add
  33184. | ^~~~~~~~~~~~~~
  33185. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  33186. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  33187. | ^~~~~~~~~~~~~~
  33188. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  33189. 95 | static inline struct timespec64 timespec64_sub
  33190. | ^~~~~~~~~~~~~~
  33191. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  33192. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  33193. | ^~~~~~~~~~~~~~
  33194. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  33195. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  33196. | ^~~~~~~~~~~~~~~~
  33197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  33198. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  33199. | ^~~~~~~~~~~~~~~~
  33200. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  33201. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  33202. 122 | ktime_get_raw_ts64(&ts);
  33203. | ^~~
  33204. | |
  33205. | struct timespec64 *
  33206. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  33207. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  33208. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  33209. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  33210. from ././common/inc/nv-time.h:30:
  33211. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  33212. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  33213. | ~~~~~~~~~~~~~~~~~~~^~
  33214. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  33215. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  33216. 185 | ktime_get_raw_ts64(&tm_aux);
  33217. | ^~~~~~~
  33218. | |
  33219. | struct timespec64 *
  33220. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  33221. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  33222. | ~~~~~~~~~~~~~~~~~~~^~
  33223. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  33224. 221 | ktime_get_raw_ts64(&tm_aux);
  33225. | ^~~~~~~
  33226. | |
  33227. | struct timespec64 *
  33228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  33229. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  33230. | ~~~~~~~~~~~~~~~~~~~^~
  33231. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33232. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33233. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33234. | ^~~~~~~~~~~~~~~~~~~~~~~
  33235. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33236. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33237. 520 | NV_MEMDBG_ADD(ptr, size);
  33238. | ^
  33239. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33240. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33241. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33242. | ^~~~~~~~~~~~~~~~~~~~~~~
  33243. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33244. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33245. 520 | NV_MEMDBG_ADD(ptr, size);
  33246. | ^
  33247. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  33248. from nvidia-uvm/uvm_gpu.h:37,
  33249. from nvidia-uvm/uvm_global.h:32,
  33250. from nvidia-uvm/uvm_va_space.h:28:
  33251. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  33252. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  33253. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  33254. | ^~~~~~~~~~~~~~~~~~~~
  33255. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33256. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33257. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33258. | ^~~~~~~~~~~~~~~~~~~~~~~
  33259. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33260. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33261. 520 | NV_MEMDBG_ADD(ptr, size);
  33262. | ^
  33263. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33264. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33265. 502 | NV_MEMDBG_ADD(ptr, size);
  33266. | ^
  33267. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33268. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33269. 502 | NV_MEMDBG_ADD(ptr, size);
  33270. | ^
  33271. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  33272. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  33273. 533 | ptr = ioremap_cache_shared(phys, size);
  33274. | ^~~~~~~~~~~~~~~~~~~~
  33275. | ioremap_cache
  33276. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33277. 533 | ptr = ioremap_cache_shared(phys, size);
  33278. | ^
  33279. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33280. 556 | NV_MEMDBG_ADD(ptr, size);
  33281. | ^
  33282. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33283. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33284. 502 | NV_MEMDBG_ADD(ptr, size);
  33285. | ^
  33286. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33287. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33288. 502 | NV_MEMDBG_ADD(ptr, size);
  33289. | ^
  33290. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  33291. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  33292. 533 | ptr = ioremap_cache_shared(phys, size);
  33293. | ^~~~~~~~~~~~~~~~~~~~
  33294. | ioremap_cache
  33295. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33296. 533 | ptr = ioremap_cache_shared(phys, size);
  33297. | ^
  33298. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33299. 556 | NV_MEMDBG_ADD(ptr, size);
  33300. | ^
  33301. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33302. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33303. 502 | NV_MEMDBG_ADD(ptr, size);
  33304. | ^
  33305. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  33306. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  33307. 533 | ptr = ioremap_cache_shared(phys, size);
  33308. | ^~~~~~~~~~~~~~~~~~~~
  33309. | ioremap_cache
  33310. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33311. 533 | ptr = ioremap_cache_shared(phys, size);
  33312. | ^
  33313. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33314. 556 | NV_MEMDBG_ADD(ptr, size);
  33315. | ^
  33316. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33317. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33318. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33319. | ^~~~~~~~~~~~~~~~~~~~~~~
  33320. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33321. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33322. 520 | NV_MEMDBG_ADD(ptr, size);
  33323. | ^
  33324. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33325. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33326. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33327. | ^~~~~~~~~~~~~~~~~~~~~~~
  33328. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33329. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33330. 520 | NV_MEMDBG_ADD(ptr, size);
  33331. | ^
  33332. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  33333. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  33334. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  33335. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  33336. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33337. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  33338. | ^
  33339. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33340. 573 | NV_MEMDBG_ADD(ptr, size);
  33341. | ^
  33342. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33343. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33344. 502 | NV_MEMDBG_ADD(ptr, size);
  33345. | ^
  33346. ././common/inc/nv-linux.h: In function 'nv_vmap':
  33347. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33348. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  33349. | ^
  33350. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  33351. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  33352. 736 | return phys_to_dma(dev, pa);
  33353. | ^~~~~~~~~~~
  33354. | nv_phys_to_dma
  33355. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33356. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33357. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33358. | ^~~~~~~~~~~~~~~~~~~~~~~
  33359. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33360. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33361. 520 | NV_MEMDBG_ADD(ptr, size);
  33362. | ^
  33363. In file included from ././common/inc/nv-linux.h:34,
  33364. from nvidia-uvm/uvm_linux.h:40:
  33365. ././common/inc/nv-mm.h: At top level:
  33366. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  33367. 29 | typedef int vm_fault_t;
  33368. | ^~~~~~~~~~
  33369. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  33370. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  33371. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  33372. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  33373. from ././common/inc/nv-lock.h:35,
  33374. from ././common/inc/nv-linux.h:32:
  33375. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  33376. 1311 | typedef __bitwise unsigned int vm_fault_t;
  33377. | ^~~~~~~~~~
  33378. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  33379. from ././common/inc/nv-time.h:28:
  33380. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  33381. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33382. 52 | #define current get_current()
  33383. | ^~~~~~~~~~~~~
  33384. | |
  33385. | struct task_struct *
  33386. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  33387. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33388. | ^~~~~~~
  33389. In file included from ././common/inc/nv-pgprot.h:30,
  33390. from ././common/inc/nv-linux.h:33:
  33391. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  33392. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33393. | ~~~~~~~~~~~~~~^~~~~
  33394. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33395. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33396. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  33397. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33398. | ~~~~~~~~~~~~~~^~~~~~~~
  33399. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  33400. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33401. | ^~~~~~~~
  33402. | |
  33403. | long unsigned int
  33404. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  33405. 2535 | unsigned int gup_flags, struct page **pages);
  33406. | ~~~~~~~~~~~~~~^~~~~
  33407. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  33408. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33409. | ^~~~~~~~~~~~~~ ~~~~~
  33410. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  33411. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33412. | ^~~~~~~~~~~~~~
  33413. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  33414. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  33415. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  33416. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  33417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  33418. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  33419. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33420. 8 | #define NULL ((void *)0)
  33421. | ^~~~~~~~~~~
  33422. | |
  33423. | void *
  33424. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  33425. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33426. | ^~~~
  33427. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  33428. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33429. | ~~~~~~~~~~~~~~^~~~~
  33430. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33431. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33432. | ^~
  33433. | |
  33434. | struct mm_struct *
  33435. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  33436. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33437. | ~~~~~~~~~~~~~~^~~~~~~~
  33438. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  33439. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33440. | ^~~~~~~~
  33441. | |
  33442. | long unsigned int
  33443. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  33444. 2535 | unsigned int gup_flags, struct page **pages);
  33445. | ~~~~~~~~~~~~~~^~~~~
  33446. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  33447. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33448. | ^~~~~~~~~~~~~~ ~~~~~
  33449. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  33450. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33451. | ^~~~~~~~~~~~~~
  33452. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  33453. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  33454. 237 | return (unsigned long)(vmf->virtual_address);
  33455. | ^~~~~~~~~~~~~~~
  33456. | real_address
  33457. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  33458. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33459. 246 | down_read(&mm->mmap_sem);
  33460. | ^~~~~~~~
  33461. | mmap_base
  33462. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  33463. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33464. 255 | up_read(&mm->mmap_sem);
  33465. | ^~~~~~~~
  33466. | mmap_base
  33467. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  33468. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33469. 264 | down_write(&mm->mmap_sem);
  33470. | ^~~~~~~~
  33471. | mmap_base
  33472. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  33473. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33474. 273 | up_write(&mm->mmap_sem);
  33475. | ^~~~~~~~
  33476. | mmap_base
  33477. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  33478. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33479. 282 | return rwsem_is_locked(&mm->mmap_sem);
  33480. | ^~~~~~~~
  33481. | mmap_base
  33482. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  33483. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33484. 291 | return &mm->mmap_sem;
  33485. | ^~~~~~~~
  33486. | mmap_base
  33487. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  33488. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  33489. 300 | vma->vm_flags |= flags;
  33490. | ^~
  33491. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  33492. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  33493. 309 | vma->vm_flags &= ~flags;
  33494. | ^~
  33495. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33496. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33497. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33498. | ^~~~~~~~~~~~~~~~~~~~~~~
  33499. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33500. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33501. 520 | NV_MEMDBG_ADD(ptr, size);
  33502. | ^
  33503. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33504. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33505. 502 | NV_MEMDBG_ADD(ptr, size);
  33506. | ^
  33507. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  33508. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  33509. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  33510. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  33511. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  33512. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  33513. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  33514. | ^~~~~~~~~~~~~
  33515. | d_is_dir
  33516. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33517. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  33518. | ^
  33519. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33520. 573 | NV_MEMDBG_ADD(ptr, size);
  33521. | ^
  33522. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  33523. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  33524. 533 | ptr = ioremap_cache_shared(phys, size);
  33525. | ^~~~~~~~~~~~~~~~~~~~
  33526. | ioremap_cache
  33527. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33528. 533 | ptr = ioremap_cache_shared(phys, size);
  33529. | ^
  33530. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  33531. 40 | struct timespec64 {
  33532. | ^~~~~~~~~~
  33533. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33534. 556 | NV_MEMDBG_ADD(ptr, size);
  33535. | ^
  33536. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  33537. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  33538. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  33539. from ././common/inc/nv-time.h:29:
  33540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  33541. 13 | struct timespec64 {
  33542. | ^~~~~~~~~~
  33543. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  33544. 77 | static inline struct timespec64 timespec64_add
  33545. | ^~~~~~~~~~~~~~
  33546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  33547. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  33548. | ^~~~~~~~~~~~~~
  33549. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  33550. 95 | static inline struct timespec64 timespec64_sub
  33551. | ^~~~~~~~~~~~~~
  33552. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  33553. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  33554. | ^~~~~~~~~~~~~~
  33555. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  33556. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  33557. | ^~~~~~~~~~~~~~~~
  33558. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  33559. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  33560. | ^~~~~~~~~~~~~~~~
  33561. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  33562. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  33563. 122 | ktime_get_raw_ts64(&ts);
  33564. | ^~~
  33565. | |
  33566. | struct timespec64 *
  33567. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  33568. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  33569. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  33570. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  33571. from ././common/inc/nv-time.h:30:
  33572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  33573. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  33574. | ~~~~~~~~~~~~~~~~~~~^~
  33575. ././common/inc/nv-linux.h: In function 'nv_vmap':
  33576. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33577. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  33578. | ^
  33579. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  33580. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  33581. 185 | ktime_get_raw_ts64(&tm_aux);
  33582. | ^~~~~~~
  33583. | |
  33584. | struct timespec64 *
  33585. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  33586. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  33587. | ~~~~~~~~~~~~~~~~~~~^~
  33588. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  33589. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  33590. 533 | ptr = ioremap_cache_shared(phys, size);
  33591. | ^~~~~~~~~~~~~~~~~~~~
  33592. | ioremap_cache
  33593. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  33594. 221 | ktime_get_raw_ts64(&tm_aux);
  33595. | ^~~~~~~
  33596. | |
  33597. | struct timespec64 *
  33598. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  33599. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  33600. | ~~~~~~~~~~~~~~~~~~~^~
  33601. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33602. 533 | ptr = ioremap_cache_shared(phys, size);
  33603. | ^
  33604. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33605. 556 | NV_MEMDBG_ADD(ptr, size);
  33606. | ^
  33607. cc1: some warnings being treated as errors
  33608. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  33609. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  33610. 736 | return phys_to_dma(dev, pa);
  33611. | ^~~~~~~~~~~
  33612. | nv_phys_to_dma
  33613. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  33614. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  33615. 287 | ktime_get_raw_ts64(&tm);
  33616. | ^~~
  33617. | |
  33618. | struct timespec64 *
  33619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  33620. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  33621. | ~~~~~~~~~~~~~~~~~~~^~
  33622. nvidia-uvm/uvm_linux.h: At top level:
  33623. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  33624. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  33625. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  33626. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  33627. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  33628. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  33629. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  33630. 449 | #error "Unknown number of arguments"
  33631. | ^~~~~
  33632. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  33633. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  33634. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  33635. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  33636. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  33637. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  33638. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  33639. 485 | #error "Unknown number of arguments"
  33640. | ^~~~~
  33641. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_policy.o] Error 1
  33642. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33643. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33644. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33645. | ^~~~~~~~~~~~~~~~~~~~~~~
  33646. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33647. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33648. 520 | NV_MEMDBG_ADD(ptr, size);
  33649. | ^
  33650. In file included from ././common/inc/nv-linux.h:34,
  33651. from nvidia-uvm/uvm_linux.h:40:
  33652. ././common/inc/nv-mm.h: At top level:
  33653. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  33654. 29 | typedef int vm_fault_t;
  33655. | ^~~~~~~~~~
  33656. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  33657. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  33658. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  33659. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  33660. from ././common/inc/nv-lock.h:35,
  33661. from ././common/inc/nv-linux.h:32:
  33662. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  33663. 1311 | typedef __bitwise unsigned int vm_fault_t;
  33664. | ^~~~~~~~~~
  33665. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  33666. from ././common/inc/nv-time.h:28:
  33667. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  33668. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33669. 52 | #define current get_current()
  33670. | ^~~~~~~~~~~~~
  33671. | |
  33672. | struct task_struct *
  33673. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  33674. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33675. | ^~~~~~~
  33676. In file included from ././common/inc/nv-pgprot.h:30,
  33677. from ././common/inc/nv-linux.h:33:
  33678. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  33679. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33680. | ~~~~~~~~~~~~~~^~~~~
  33681. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33682. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33683. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  33684. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33685. | ~~~~~~~~~~~~~~^~~~~~~~
  33686. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  33687. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33688. | ^~~~~~~~
  33689. | |
  33690. | long unsigned int
  33691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  33692. 2535 | unsigned int gup_flags, struct page **pages);
  33693. | ~~~~~~~~~~~~~~^~~~~
  33694. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  33695. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33696. | ^~~~~~~~~~~~~~ ~~~~~
  33697. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  33698. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33699. | ^~~~~~~~~~~~~~
  33700. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  33701. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  33702. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  33703. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  33704. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  33705. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  33706. CC [M] nvidia-uvm/uvm_ats_faults.o
  33707. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33708. 8 | #define NULL ((void *)0)
  33709. | ^~~~~~~~~~~
  33710. | |
  33711. | void *
  33712. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  33713. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33714. | ^~~~
  33715. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  33716. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33717. | ~~~~~~~~~~~~~~^~~~~
  33718. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33719. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33720. | ^~
  33721. | |
  33722. | struct mm_struct *
  33723. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  33724. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33725. | ~~~~~~~~~~~~~~^~~~~~~~
  33726. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  33727. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33728. | ^~~~~~~~
  33729. | |
  33730. | long unsigned int
  33731. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  33732. 2535 | unsigned int gup_flags, struct page **pages);
  33733. | ~~~~~~~~~~~~~~^~~~~
  33734. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  33735. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33736. | ^~~~~~~~~~~~~~ ~~~~~
  33737. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  33738. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33739. | ^~~~~~~~~~~~~~
  33740. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  33741. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  33742. 237 | return (unsigned long)(vmf->virtual_address);
  33743. | ^~~~~~~~~~~~~~~
  33744. | real_address
  33745. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  33746. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33747. 246 | down_read(&mm->mmap_sem);
  33748. | ^~~~~~~~
  33749. | mmap_base
  33750. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  33751. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33752. 255 | up_read(&mm->mmap_sem);
  33753. | ^~~~~~~~
  33754. | mmap_base
  33755. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  33756. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33757. 264 | down_write(&mm->mmap_sem);
  33758. | ^~~~~~~~
  33759. | mmap_base
  33760. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  33761. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33762. 273 | up_write(&mm->mmap_sem);
  33763. | ^~~~~~~~
  33764. | mmap_base
  33765. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  33766. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33767. 282 | return rwsem_is_locked(&mm->mmap_sem);
  33768. | ^~~~~~~~
  33769. | mmap_base
  33770. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  33771. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33772. 291 | return &mm->mmap_sem;
  33773. | ^~~~~~~~
  33774. | mmap_base
  33775. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  33776. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  33777. 300 | vma->vm_flags |= flags;
  33778. | ^~
  33779. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  33780. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  33781. 309 | vma->vm_flags &= ~flags;
  33782. | ^~
  33783. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  33784. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33785. 502 | NV_MEMDBG_ADD(ptr, size);
  33786. | ^
  33787. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33788. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33789. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33790. | ^~~~~~~~~~~~~~~~~~~~~~~
  33791. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33792. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33793. 520 | NV_MEMDBG_ADD(ptr, size);
  33794. | ^
  33795. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  33796. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  33797. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  33798. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  33799. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33800. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  33801. | ^
  33802. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33803. 573 | NV_MEMDBG_ADD(ptr, size);
  33804. | ^
  33805. ././common/inc/nv-linux.h: In function 'nv_vmap':
  33806. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33807. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  33808. | ^
  33809. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  33810. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  33811. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  33812. | ^~~~~~~~~~~~~
  33813. | d_is_dir
  33814. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  33815. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  33816. 736 | return phys_to_dma(dev, pa);
  33817. | ^~~~~~~~~~~
  33818. | nv_phys_to_dma
  33819. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  33820. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  33821. 533 | ptr = ioremap_cache_shared(phys, size);
  33822. | ^~~~~~~~~~~~~~~~~~~~
  33823. | ioremap_cache
  33824. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33825. 533 | ptr = ioremap_cache_shared(phys, size);
  33826. | ^
  33827. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33828. 556 | NV_MEMDBG_ADD(ptr, size);
  33829. | ^
  33830. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  33831. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  33832. 533 | ptr = ioremap_cache_shared(phys, size);
  33833. | ^~~~~~~~~~~~~~~~~~~~
  33834. | ioremap_cache
  33835. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33836. 533 | ptr = ioremap_cache_shared(phys, size);
  33837. | ^
  33838. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33839. 556 | NV_MEMDBG_ADD(ptr, size);
  33840. | ^
  33841. In file included from ././common/inc/conftest.h:28,
  33842. from ././common/inc/nv-time.h:27,
  33843. from nvidia-uvm/uvm_linux.h:37,
  33844. from nvidia-uvm/uvm_common.h:43,
  33845. from nvidia-uvm/uvm_api.h:28,
  33846. from nvidia-uvm/uvm_ats_faults.c:23:
  33847. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  33848. 74 | #error dma_buf_export() conftest failed!
  33849. | ^~~~~
  33850. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  33851. 87 | #error wait_on_bit_lock() conftest failed!
  33852. | ^~~~~
  33853. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  33854. 90 | #error radix_tree_replace_slot() conftest failed!
  33855. | ^~~~~
  33856. In file included from ././common/inc/nv-linux.h:34,
  33857. from nvidia-uvm/uvm_linux.h:40:
  33858. ././common/inc/nv-mm.h: At top level:
  33859. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  33860. 29 | typedef int vm_fault_t;
  33861. | ^~~~~~~~~~
  33862. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  33863. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  33864. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  33865. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  33866. from ././common/inc/nv-lock.h:35,
  33867. from ././common/inc/nv-linux.h:32:
  33868. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  33869. 1311 | typedef __bitwise unsigned int vm_fault_t;
  33870. | ^~~~~~~~~~
  33871. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  33872. from ././common/inc/nv-time.h:28:
  33873. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  33874. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33875. 52 | #define current get_current()
  33876. | ^~~~~~~~~~~~~
  33877. | |
  33878. | struct task_struct *
  33879. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  33880. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33881. | ^~~~~~~
  33882. In file included from ././common/inc/nv-pgprot.h:30,
  33883. from ././common/inc/nv-linux.h:33:
  33884. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  33885. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33886. | ~~~~~~~~~~~~~~^~~~~
  33887. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33888. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33889. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  33890. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33891. | ~~~~~~~~~~~~~~^~~~~~~~
  33892. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  33893. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33894. | ^~~~~~~~
  33895. | |
  33896. | long unsigned int
  33897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  33898. 2535 | unsigned int gup_flags, struct page **pages);
  33899. | ~~~~~~~~~~~~~~^~~~~
  33900. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  33901. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  33902. | ^~~~~~~~~~~~~~ ~~~~~
  33903. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  33904. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33905. | ^~~~~~~~~~~~~~
  33906. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  33907. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  33908. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  33909. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  33910. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  33911. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  33912. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33913. 8 | #define NULL ((void *)0)
  33914. | ^~~~~~~~~~~
  33915. | |
  33916. | void *
  33917. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  33918. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33919. | ^~~~
  33920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  33921. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33922. | ~~~~~~~~~~~~~~^~~~~
  33923. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  33924. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33925. | ^~
  33926. | |
  33927. | struct mm_struct *
  33928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  33929. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33930. | ~~~~~~~~~~~~~~^~~~~~~~
  33931. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  33932. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33933. | ^~~~~~~~
  33934. | |
  33935. | long unsigned int
  33936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  33937. 2535 | unsigned int gup_flags, struct page **pages);
  33938. | ~~~~~~~~~~~~~~^~~~~
  33939. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  33940. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  33941. | ^~~~~~~~~~~~~~ ~~~~~
  33942. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  33943. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  33944. | ^~~~~~~~~~~~~~
  33945. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  33946. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  33947. 237 | return (unsigned long)(vmf->virtual_address);
  33948. | ^~~~~~~~~~~~~~~
  33949. | real_address
  33950. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  33951. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33952. 246 | down_read(&mm->mmap_sem);
  33953. | ^~~~~~~~
  33954. | mmap_base
  33955. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  33956. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33957. 255 | up_read(&mm->mmap_sem);
  33958. | ^~~~~~~~
  33959. | mmap_base
  33960. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  33961. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33962. 264 | down_write(&mm->mmap_sem);
  33963. | ^~~~~~~~
  33964. | mmap_base
  33965. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  33966. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33967. 273 | up_write(&mm->mmap_sem);
  33968. | ^~~~~~~~
  33969. | mmap_base
  33970. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  33971. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33972. 282 | return rwsem_is_locked(&mm->mmap_sem);
  33973. | ^~~~~~~~
  33974. | mmap_base
  33975. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  33976. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  33977. 291 | return &mm->mmap_sem;
  33978. | ^~~~~~~~
  33979. | mmap_base
  33980. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  33981. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  33982. 300 | vma->vm_flags |= flags;
  33983. | ^~
  33984. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  33985. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  33986. 309 | vma->vm_flags &= ~flags;
  33987. | ^~
  33988. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  33989. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  33990. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  33991. | ^~~~~~~~~~~~~~~~~~~~~~~
  33992. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  33993. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  33994. 520 | NV_MEMDBG_ADD(ptr, size);
  33995. | ^
  33996. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  33997. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  33998. 287 | ktime_get_raw_ts64(&tm);
  33999. | ^~~
  34000. | |
  34001. | struct timespec64 *
  34002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34003. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34004. | ~~~~~~~~~~~~~~~~~~~^~
  34005. nvidia-uvm/uvm_linux.h: At top level:
  34006. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34007. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34008. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34009. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34010. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34011. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34012. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34013. 449 | #error "Unknown number of arguments"
  34014. | ^~~~~
  34015. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34016. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34017. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34018. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34019. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34020. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34021. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34022. 485 | #error "Unknown number of arguments"
  34023. | ^~~~~
  34024. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  34025. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  34026. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34027. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34028. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34029. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34030. | ^
  34031. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34032. 573 | NV_MEMDBG_ADD(ptr, size);
  34033. | ^
  34034. ././common/inc/nv-linux.h: In function 'nv_vmap':
  34035. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34036. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  34037. | ^
  34038. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  34039. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  34040. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34041. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34042. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34043. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34044. | ^
  34045. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34046. 573 | NV_MEMDBG_ADD(ptr, size);
  34047. | ^
  34048. ././common/inc/nv-linux.h: In function 'nv_vmap':
  34049. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34050. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  34051. | ^
  34052. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  34053. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  34054. 533 | ptr = ioremap_cache_shared(phys, size);
  34055. | ^~~~~~~~~~~~~~~~~~~~
  34056. | ioremap_cache
  34057. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34058. 533 | ptr = ioremap_cache_shared(phys, size);
  34059. | ^
  34060. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34061. 556 | NV_MEMDBG_ADD(ptr, size);
  34062. | ^
  34063. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34064. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34065. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34066. | ^~~~~~~~~~~~~
  34067. | d_is_dir
  34068. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  34069. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  34070. 736 | return phys_to_dma(dev, pa);
  34071. | ^~~~~~~~~~~
  34072. | nv_phys_to_dma
  34073. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  34074. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  34075. 736 | return phys_to_dma(dev, pa);
  34076. | ^~~~~~~~~~~
  34077. | nv_phys_to_dma
  34078. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  34079. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  34080. 533 | ptr = ioremap_cache_shared(phys, size);
  34081. | ^~~~~~~~~~~~~~~~~~~~
  34082. | ioremap_cache
  34083. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34084. 533 | ptr = ioremap_cache_shared(phys, size);
  34085. | ^
  34086. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34087. 556 | NV_MEMDBG_ADD(ptr, size);
  34088. | ^
  34089. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  34090. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  34091. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  34092. | ^~~~~~~~~~~~~~~~~~~~~~~
  34093. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  34094. from nvidia-uvm/uvm_gpu.h:37,
  34095. from nvidia-uvm/uvm_global.h:32,
  34096. from nvidia-uvm/uvm_kvmalloc.c:26:
  34097. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34098. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34099. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34100. 520 | NV_MEMDBG_ADD(ptr, size);
  34101. | ^
  34102. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34103. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34104. | ^~~~~~~~~~~~~~~~~~~~
  34105. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34106. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34107. 287 | ktime_get_raw_ts64(&tm);
  34108. | ^~~
  34109. | |
  34110. | struct timespec64 *
  34111. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34112. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34113. | ~~~~~~~~~~~~~~~~~~~^~
  34114. nvidia-uvm/uvm_linux.h: At top level:
  34115. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34116. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34117. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34118. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34119. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34120. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34121. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34122. 449 | #error "Unknown number of arguments"
  34123. | ^~~~~
  34124. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34125. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34126. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34127. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34128. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34129. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34130. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34131. 485 | #error "Unknown number of arguments"
  34132. | ^~~~~
  34133. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34134. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34135. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34136. | ^~~~~~~~~~~~~
  34137. | d_is_dir
  34138. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34139. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34140. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34141. | ^~~~~~~~~~~~~
  34142. | d_is_dir
  34143. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  34144. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  34145. 533 | ptr = ioremap_cache_shared(phys, size);
  34146. | ^~~~~~~~~~~~~~~~~~~~
  34147. | ioremap_cache
  34148. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34149. 533 | ptr = ioremap_cache_shared(phys, size);
  34150. | ^
  34151. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34152. 556 | NV_MEMDBG_ADD(ptr, size);
  34153. | ^
  34154. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  34155. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  34156. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34157. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34158. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34159. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34160. | ^
  34161. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34162. 573 | NV_MEMDBG_ADD(ptr, size);
  34163. | ^
  34164. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  34165. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  34166. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34167. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34168. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34169. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34170. | ^
  34171. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34172. 573 | NV_MEMDBG_ADD(ptr, size);
  34173. | ^
  34174. ././common/inc/nv-linux.h: In function 'nv_vmap':
  34175. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34176. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  34177. | ^
  34178. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34179. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34180. 287 | ktime_get_raw_ts64(&tm);
  34181. | ^~~
  34182. | |
  34183. | struct timespec64 *
  34184. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34185. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34186. | ~~~~~~~~~~~~~~~~~~~^~
  34187. ././common/inc/nv-linux.h: In function 'nv_vmap':
  34188. nvidia-uvm/uvm_linux.h: At top level:
  34189. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34190. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  34191. | ^
  34192. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34193. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34194. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34195. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34196. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34197. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34198. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34199. 449 | #error "Unknown number of arguments"
  34200. | ^~~~~
  34201. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34202. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34203. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34204. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34205. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34206. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34207. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34208. 485 | #error "Unknown number of arguments"
  34209. | ^~~~~
  34210. cc1: some warnings being treated as errors
  34211. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34212. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34213. 287 | ktime_get_raw_ts64(&tm);
  34214. | ^~~
  34215. | |
  34216. | struct timespec64 *
  34217. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34218. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34219. | ~~~~~~~~~~~~~~~~~~~^~
  34220. nvidia-uvm/uvm_linux.h: At top level:
  34221. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34222. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34223. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34224. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34225. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34226. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34227. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34228. 449 | #error "Unknown number of arguments"
  34229. | ^~~~~
  34230. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34231. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34232. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34233. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34234. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34235. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34236. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34237. 485 | #error "Unknown number of arguments"
  34238. | ^~~~~
  34239. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_utils.o] Error 1
  34240. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  34241. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  34242. 736 | return phys_to_dma(dev, pa);
  34243. | ^~~~~~~~~~~
  34244. | nv_phys_to_dma
  34245. CC [M] nvidia-uvm/uvm_test.o
  34246. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  34247. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  34248. 736 | return phys_to_dma(dev, pa);
  34249. | ^~~~~~~~~~~
  34250. | nv_phys_to_dma
  34251. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  34252. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  34253. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34254. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34255. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34256. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34257. | ^
  34258. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34259. 573 | NV_MEMDBG_ADD(ptr, size);
  34260. | ^
  34261. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  34262. from nvidia-uvm/uvm_gpu.h:37:
  34263. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34264. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34265. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34266. | ^~~~~~~~~~~~~~~~~~~~
  34267. ././common/inc/nv-linux.h: In function 'nv_vmap':
  34268. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34269. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  34270. | ^
  34271. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  34272. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  34273. 533 | ptr = ioremap_cache_shared(phys, size);
  34274. | ^~~~~~~~~~~~~~~~~~~~
  34275. | ioremap_cache
  34276. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34277. 533 | ptr = ioremap_cache_shared(phys, size);
  34278. | ^
  34279. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34280. 556 | NV_MEMDBG_ADD(ptr, size);
  34281. | ^
  34282. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  34283. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34284. 502 | NV_MEMDBG_ADD(ptr, size);
  34285. | ^
  34286. In file included from ././common/inc/conftest.h:28,
  34287. from ././common/inc/nv-time.h:27,
  34288. from nvidia-uvm/uvm_linux.h:37,
  34289. from nvidia-uvm/uvm_common.h:43,
  34290. from nvidia-uvm/uvm_api.h:28,
  34291. from nvidia-uvm/uvm_test.c:24:
  34292. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  34293. 74 | #error dma_buf_export() conftest failed!
  34294. | ^~~~~
  34295. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  34296. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  34297. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  34298. 736 | return phys_to_dma(dev, pa);
  34299. | ^~~~~~~~~~~
  34300. | nv_phys_to_dma
  34301. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  34302. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34303. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34304. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34305. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34306. | ^
  34307. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34308. 573 | NV_MEMDBG_ADD(ptr, size);
  34309. | ^
  34310. ././common/inc/nv-linux.h: In function 'nv_vmap':
  34311. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34312. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  34313. | ^
  34314. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  34315. 87 | #error wait_on_bit_lock() conftest failed!
  34316. | ^~~~~
  34317. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  34318. 90 | #error radix_tree_replace_slot() conftest failed!
  34319. | ^~~~~
  34320. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34321. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34322. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34323. | ^~~~~~~~~~~~~
  34324. | d_is_dir
  34325. cc1: some warnings being treated as errors
  34326. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34327. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34328. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34329. | ^~~~~~~~~~~~~
  34330. | d_is_dir
  34331. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  34332. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  34333. 736 | return phys_to_dma(dev, pa);
  34334. | ^~~~~~~~~~~
  34335. | nv_phys_to_dma
  34336. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_kvmalloc.o] Error 1
  34337. CC [M] nvidia-uvm/uvm_test_rng.o
  34338. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34339. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34340. 287 | ktime_get_raw_ts64(&tm);
  34341. | ^~~
  34342. | |
  34343. | struct timespec64 *
  34344. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34345. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34346. | ~~~~~~~~~~~~~~~~~~~^~
  34347. nvidia-uvm/uvm_linux.h: At top level:
  34348. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34349. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34350. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34351. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34352. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34353. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34354. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34355. 449 | #error "Unknown number of arguments"
  34356. | ^~~~~
  34357. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34358. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34359. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34360. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34361. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34362. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34363. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34364. 485 | #error "Unknown number of arguments"
  34365. | ^~~~~
  34366. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34367. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34368. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34369. | ^~~~~~~~~~~~~
  34370. | d_is_dir
  34371. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  34372. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  34373. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34374. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34375. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34376. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34377. | ^
  34378. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34379. 573 | NV_MEMDBG_ADD(ptr, size);
  34380. | ^
  34381. ././common/inc/nv-linux.h: In function 'nv_vmap':
  34382. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34383. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  34384. | ^
  34385. In file included from nvidia-uvm/uvm_map_external.c:27:
  34386. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34387. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34388. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34389. | ^~~~~~~~~~~~~~~~~~~~
  34390. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34391. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34392. 287 | ktime_get_raw_ts64(&tm);
  34393. | ^~~
  34394. | |
  34395. | struct timespec64 *
  34396. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34397. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34398. | ~~~~~~~~~~~~~~~~~~~^~
  34399. nvidia-uvm/uvm_linux.h: At top level:
  34400. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34401. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34402. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34403. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34404. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34405. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34406. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34407. 449 | #error "Unknown number of arguments"
  34408. | ^~~~~
  34409. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34410. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34411. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34412. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34413. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34414. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34415. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34416. 485 | #error "Unknown number of arguments"
  34417. | ^~~~~
  34418. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  34419. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  34420. 736 | return phys_to_dma(dev, pa);
  34421. | ^~~~~~~~~~~
  34422. | nv_phys_to_dma
  34423. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34424. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34425. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34426. | ^~~~~~~~~~~~~
  34427. | d_is_dir
  34428. In file included from ././common/inc/conftest.h:28,
  34429. from ././common/inc/nv-time.h:27,
  34430. from nvidia-uvm/uvm_linux.h:37,
  34431. from nvidia-uvm/uvm_test_rng.h:28,
  34432. from nvidia-uvm/uvm_test_rng.c:24:
  34433. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  34434. 74 | #error dma_buf_export() conftest failed!
  34435. | ^~~~~
  34436. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34437. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34438. 287 | ktime_get_raw_ts64(&tm);
  34439. | ^~~
  34440. | |
  34441. | struct timespec64 *
  34442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34443. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34444. | ~~~~~~~~~~~~~~~~~~~^~
  34445. nvidia-uvm/uvm_linux.h: At top level:
  34446. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34447. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34448. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34449. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34450. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34451. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34452. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34453. 449 | #error "Unknown number of arguments"
  34454. | ^~~~~
  34455. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34456. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34457. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34458. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34459. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34460. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34461. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34462. 485 | #error "Unknown number of arguments"
  34463. | ^~~~~
  34464. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  34465. 87 | #error wait_on_bit_lock() conftest failed!
  34466. | ^~~~~
  34467. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  34468. 90 | #error radix_tree_replace_slot() conftest failed!
  34469. | ^~~~~
  34470. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  34471. from nvidia-uvm/uvm_gpu.h:37,
  34472. from nvidia-uvm/uvm_global.h:32,
  34473. from nvidia-uvm/uvm_migrate.c:27:
  34474. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34475. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34476. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34477. | ^~~~~~~~~~~~~~~~~~~~
  34478. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  34479. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34480. 502 | NV_MEMDBG_ADD(ptr, size);
  34481. | ^
  34482. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  34483. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  34484. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  34485. | ^~~~~~~~~~~~~~~~~~~~~~~
  34486. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34487. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34488. 520 | NV_MEMDBG_ADD(ptr, size);
  34489. | ^
  34490. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34491. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34492. 287 | ktime_get_raw_ts64(&tm);
  34493. | ^~~
  34494. | |
  34495. | struct timespec64 *
  34496. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34497. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34498. | ~~~~~~~~~~~~~~~~~~~^~
  34499. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  34500. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  34501. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34502. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34503. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34504. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34505. | ^
  34506. nvidia-uvm/uvm_linux.h: At top level:
  34507. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34508. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34509. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34510. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34511. 573 | NV_MEMDBG_ADD(ptr, size);
  34512. | ^
  34513. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34514. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34515. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34516. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34517. 449 | #error "Unknown number of arguments"
  34518. | ^~~~~
  34519. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34520. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34521. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34522. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34523. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34524. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34525. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34526. 485 | #error "Unknown number of arguments"
  34527. | ^~~~~
  34528. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34529. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34530. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34531. | ^~~~~~~~~~~~~
  34532. | d_is_dir
  34533. ././common/inc/nv-linux.h: In function 'nv_vmap':
  34534. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34535. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  34536. | ^
  34537. In file included from ././common/inc/nv-linux.h:34,
  34538. from nvidia-uvm/uvm_linux.h:40:
  34539. ././common/inc/nv-mm.h: At top level:
  34540. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  34541. 29 | typedef int vm_fault_t;
  34542. | ^~~~~~~~~~
  34543. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  34544. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  34545. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  34546. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  34547. from ././common/inc/nv-lock.h:35,
  34548. from ././common/inc/nv-linux.h:32:
  34549. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  34550. 1311 | typedef __bitwise unsigned int vm_fault_t;
  34551. | ^~~~~~~~~~
  34552. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  34553. from ././common/inc/nv-time.h:28:
  34554. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  34555. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  34556. 52 | #define current get_current()
  34557. | ^~~~~~~~~~~~~
  34558. | |
  34559. | struct task_struct *
  34560. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  34561. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  34562. | ^~~~~~~
  34563. In file included from ././common/inc/nv-pgprot.h:30,
  34564. from ././common/inc/nv-linux.h:33:
  34565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  34566. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  34567. | ~~~~~~~~~~~~~~^~~~~
  34568. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  34569. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  34570. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  34571. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  34572. | ~~~~~~~~~~~~~~^~~~~~~~
  34573. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  34574. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  34575. | ^~~~~~~~
  34576. | |
  34577. | long unsigned int
  34578. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  34579. 2535 | unsigned int gup_flags, struct page **pages);
  34580. | ~~~~~~~~~~~~~~^~~~~
  34581. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  34582. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  34583. | ^~~~~~~~~~~~~~ ~~~~~
  34584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  34585. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  34586. | ^~~~~~~~~~~~~~
  34587. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  34588. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  34589. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  34590. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  34591. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  34592. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  34593. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  34594. 8 | #define NULL ((void *)0)
  34595. | ^~~~~~~~~~~
  34596. | |
  34597. | void *
  34598. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  34599. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  34600. | ^~~~
  34601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  34602. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  34603. | ~~~~~~~~~~~~~~^~~~~
  34604. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  34605. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  34606. | ^~
  34607. | |
  34608. | struct mm_struct *
  34609. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  34610. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  34611. | ~~~~~~~~~~~~~~^~~~~~~~
  34612. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  34613. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  34614. | ^~~~~~~~
  34615. | |
  34616. | long unsigned int
  34617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  34618. 2535 | unsigned int gup_flags, struct page **pages);
  34619. | ~~~~~~~~~~~~~~^~~~~
  34620. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  34621. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  34622. | ^~~~~~~~~~~~~~ ~~~~~
  34623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  34624. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  34625. | ^~~~~~~~~~~~~~
  34626. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  34627. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  34628. 237 | return (unsigned long)(vmf->virtual_address);
  34629. | ^~~~~~~~~~~~~~~
  34630. | real_address
  34631. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  34632. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  34633. 246 | down_read(&mm->mmap_sem);
  34634. | ^~~~~~~~
  34635. | mmap_base
  34636. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  34637. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  34638. 255 | up_read(&mm->mmap_sem);
  34639. | ^~~~~~~~
  34640. | mmap_base
  34641. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  34642. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  34643. 264 | down_write(&mm->mmap_sem);
  34644. | ^~~~~~~~
  34645. | mmap_base
  34646. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  34647. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  34648. 273 | up_write(&mm->mmap_sem);
  34649. | ^~~~~~~~
  34650. | mmap_base
  34651. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  34652. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  34653. 282 | return rwsem_is_locked(&mm->mmap_sem);
  34654. | ^~~~~~~~
  34655. | mmap_base
  34656. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  34657. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  34658. 291 | return &mm->mmap_sem;
  34659. | ^~~~~~~~
  34660. | mmap_base
  34661. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  34662. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  34663. 300 | vma->vm_flags |= flags;
  34664. | ^~
  34665. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  34666. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  34667. 309 | vma->vm_flags &= ~flags;
  34668. | ^~
  34669. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  34670. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34671. 502 | NV_MEMDBG_ADD(ptr, size);
  34672. | ^
  34673. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  34674. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  34675. 736 | return phys_to_dma(dev, pa);
  34676. | ^~~~~~~~~~~
  34677. | nv_phys_to_dma
  34678. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34679. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34680. 287 | ktime_get_raw_ts64(&tm);
  34681. | ^~~
  34682. | |
  34683. | struct timespec64 *
  34684. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34685. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34686. | ~~~~~~~~~~~~~~~~~~~^~
  34687. nvidia-uvm/uvm_linux.h: At top level:
  34688. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34689. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34690. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34691. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34692. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34693. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34694. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34695. 449 | #error "Unknown number of arguments"
  34696. | ^~~~~
  34697. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34698. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34699. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34700. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34701. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34702. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34703. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34704. 485 | #error "Unknown number of arguments"
  34705. | ^~~~~
  34706. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  34707. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  34708. 533 | ptr = ioremap_cache_shared(phys, size);
  34709. | ^~~~~~~~~~~~~~~~~~~~
  34710. | ioremap_cache
  34711. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34712. 533 | ptr = ioremap_cache_shared(phys, size);
  34713. | ^
  34714. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34715. 556 | NV_MEMDBG_ADD(ptr, size);
  34716. | ^
  34717. In file included from nvidia-uvm/uvm_populate_pageable.c:27:
  34718. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34719. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34720. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34721. | ^~~~~~~~~~~~~~~~~~~~
  34722. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34723. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34724. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34725. | ^~~~~~~~~~~~~
  34726. | d_is_dir
  34727. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  34728. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  34729. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  34730. | ^~~~~~~~~~~~~~~~~~~~~~~
  34731. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34732. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34733. 520 | NV_MEMDBG_ADD(ptr, size);
  34734. | ^
  34735. In file included from nvidia-uvm/uvm_api.h:31,
  34736. from nvidia-uvm/uvm_pmm_gpu.c:164:
  34737. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34738. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34739. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34740. | ^~~~~~~~~~~~~~~~~~~~
  34741. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  34742. from nvidia-uvm/uvm_gpu.h:37,
  34743. from nvidia-uvm/uvm_migrate_pageable.c:26:
  34744. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34745. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34746. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34747. | ^~~~~~~~~~~~~~~~~~~~
  34748. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34749. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34750. 287 | ktime_get_raw_ts64(&tm);
  34751. | ^~~
  34752. | |
  34753. | struct timespec64 *
  34754. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34755. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34756. | ~~~~~~~~~~~~~~~~~~~^~
  34757. nvidia-uvm/uvm_linux.h: At top level:
  34758. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34759. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34760. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34761. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34762. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34763. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34764. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34765. 449 | #error "Unknown number of arguments"
  34766. | ^~~~~
  34767. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34768. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34769. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34770. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34771. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  34772. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34773. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  34774. 485 | #error "Unknown number of arguments"
  34775. | ^~~~~
  34776. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  34777. 40 | struct timespec64 {
  34778. | ^~~~~~~~~~
  34779. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  34780. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  34781. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  34782. from ././common/inc/nv-time.h:29:
  34783. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  34784. 13 | struct timespec64 {
  34785. | ^~~~~~~~~~
  34786. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  34787. 77 | static inline struct timespec64 timespec64_add
  34788. | ^~~~~~~~~~~~~~
  34789. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  34790. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  34791. | ^~~~~~~~~~~~~~
  34792. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  34793. 95 | static inline struct timespec64 timespec64_sub
  34794. | ^~~~~~~~~~~~~~
  34795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  34796. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  34797. | ^~~~~~~~~~~~~~
  34798. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  34799. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  34800. | ^~~~~~~~~~~~~~~~
  34801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  34802. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  34803. | ^~~~~~~~~~~~~~~~
  34804. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  34805. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34806. 122 | ktime_get_raw_ts64(&ts);
  34807. | ^~~
  34808. | |
  34809. | struct timespec64 *
  34810. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  34811. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  34812. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  34813. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  34814. from ././common/inc/nv-time.h:30:
  34815. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34816. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34817. | ~~~~~~~~~~~~~~~~~~~^~
  34818. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  34819. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34820. 185 | ktime_get_raw_ts64(&tm_aux);
  34821. | ^~~~~~~
  34822. | |
  34823. | struct timespec64 *
  34824. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34825. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34826. | ~~~~~~~~~~~~~~~~~~~^~
  34827. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  34828. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  34829. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  34830. | ^~~~~~~~~~~~~~~~~~~~~~~
  34831. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34832. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34833. 221 | ktime_get_raw_ts64(&tm_aux);
  34834. | ^~~~~~~
  34835. | |
  34836. | struct timespec64 *
  34837. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34838. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34839. | ~~~~~~~~~~~~~~~~~~~^~
  34840. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34841. 520 | NV_MEMDBG_ADD(ptr, size);
  34842. | ^
  34843. nvidia-uvm/uvm_map_external.c: In function 'uvm_pte_buffer_init':
  34844. nvidia-uvm/uvm_map_external.c:104:42: warning: implicit conversion from 'UvmGpuCachingType' to 'UvmRmGpuCachingType' [-Wenum-conversion]
  34845. 104 | pte_buffer->mapping_info.cachingType = map_rm_params->caching_type;
  34846. | ^
  34847. nvidia-uvm/uvm_map_external.c:105:42: warning: implicit conversion from 'UvmGpuMappingType' to 'UvmRmGpuMappingType' [-Wenum-conversion]
  34848. 105 | pte_buffer->mapping_info.mappingType = map_rm_params->mapping_type;
  34849. | ^
  34850. nvidia-uvm/uvm_map_external.c:106:41: warning: implicit conversion from 'UvmGpuFormatType' to 'UvmRmGpuFormatType' [-Wenum-conversion]
  34851. 106 | pte_buffer->mapping_info.formatType = map_rm_params->format_type;
  34852. | ^
  34853. nvidia-uvm/uvm_map_external.c:107:42: warning: implicit conversion from 'UvmGpuFormatElementBits' to 'UvmRmGpuFormatElementBits' [-Wenum-conversion]
  34854. 107 | pte_buffer->mapping_info.elementBits = map_rm_params->element_bits;
  34855. | ^
  34856. nvidia-uvm/uvm_map_external.c:108:46: warning: implicit conversion from 'UvmGpuCompressionType' to 'UvmRmGpuCompressionType' [-Wenum-conversion]
  34857. 108 | pte_buffer->mapping_info.compressionType = map_rm_params->compression_type;
  34858. | ^
  34859. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  34860. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  34861. 533 | ptr = ioremap_cache_shared(phys, size);
  34862. | ^~~~~~~~~~~~~~~~~~~~
  34863. | ioremap_cache
  34864. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34865. 533 | ptr = ioremap_cache_shared(phys, size);
  34866. | ^
  34867. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34868. 556 | NV_MEMDBG_ADD(ptr, size);
  34869. | ^
  34870. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  34871. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  34872. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34873. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34874. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34875. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  34876. | ^
  34877. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34878. 573 | NV_MEMDBG_ADD(ptr, size);
  34879. | ^
  34880. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  34881. from nvidia-uvm/uvm_channel.h:29,
  34882. from nvidia-uvm/uvm_push.h:29,
  34883. from nvidia-uvm/uvm_pte_batch.h:29,
  34884. from nvidia-uvm/uvm_va_block_types.h:28:
  34885. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34886. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34887. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34888. | ^~~~~~~~~~~~~~~~~~~~
  34889. ././common/inc/nv-linux.h: In function 'nv_vmap':
  34890. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34891. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  34892. | ^
  34893. nvidia-uvm/uvm_pmm_sysmem.c: In function 'uvm_pmm_sysmem_mappings_split_gpu_mappings':
  34894. 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]
  34895. 294 | NV_RADIX_TREE_REPLACE_SLOT(&sysmem_mappings->reverse_map_tree, slot, new_reverse_maps[subregion - 1]);
  34896. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  34897. | NV_RADIX_TREE_REPLACE_SLOT_PRESENT
  34898. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  34899. from nvidia-uvm/uvm_gpu.h:37,
  34900. from nvidia-uvm/uvm_global.h:32,
  34901. from nvidia-uvm/uvm_va_space.h:28,
  34902. from nvidia-uvm/uvm_user_channel.c:26:
  34903. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34904. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34905. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34906. | ^~~~~~~~~~~~~~~~~~~~
  34907. cc1: some warnings being treated as errors
  34908. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  34909. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  34910. 736 | return phys_to_dma(dev, pa);
  34911. | ^~~~~~~~~~~
  34912. | nv_phys_to_dma
  34913. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  34914. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  34915. 533 | ptr = ioremap_cache_shared(phys, size);
  34916. | ^~~~~~~~~~~~~~~~~~~~
  34917. | ioremap_cache
  34918. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  34919. 533 | ptr = ioremap_cache_shared(phys, size);
  34920. | ^
  34921. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  34922. 556 | NV_MEMDBG_ADD(ptr, size);
  34923. | ^
  34924. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_migrate.o] Error 1
  34925. CC [M] nvidia-uvm/uvm_range_tree_test.o
  34926. cc1: some warnings being treated as errors
  34927. nvidia-uvm/uvm_populate_pageable.c: At top level:
  34928. nvidia-uvm/uvm_populate_pageable.c:56:11: warning: no previous prototype for 'uvm_handle_fault' [-Wmissing-prototypes]
  34929. 56 | NV_STATUS uvm_handle_fault(struct vm_area_struct *vma, unsigned long start, unsigned long vma_num_pages, bool write)
  34930. | ^~~~~~~~~~~~~~~~
  34931. In file included from ././common/inc/conftest.h:28,
  34932. from ././common/inc/nv-time.h:27,
  34933. from nvidia-uvm/uvm_linux.h:37,
  34934. from nvidia-uvm/uvm_common.h:43,
  34935. from nvidia-uvm/uvm_range_tree_test.c:24:
  34936. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  34937. 74 | #error dma_buf_export() conftest failed!
  34938. | ^~~~~
  34939. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  34940. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  34941. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  34942. | ^~~~~~~~~~~~~
  34943. | d_is_dir
  34944. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  34945. 87 | #error wait_on_bit_lock() conftest failed!
  34946. | ^~~~~
  34947. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  34948. 90 | #error radix_tree_replace_slot() conftest failed!
  34949. | ^~~~~
  34950. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_map_external.o] Error 1
  34951. CC [M] nvidia-uvm/uvm_range_allocator_test.o
  34952. cc1: some warnings being treated as errors
  34953. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  34954. from nvidia-uvm/uvm_channel.h:29,
  34955. from nvidia-uvm/uvm_push.h:29,
  34956. from nvidia-uvm/uvm_pte_batch.h:29,
  34957. from nvidia-uvm/uvm_va_block_types.h:28,
  34958. from nvidia-uvm/uvm_perf_thrashing.h:31,
  34959. from nvidia-uvm/uvm_perf_heuristics.c:26:
  34960. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  34961. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  34962. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  34963. | ^~~~~~~~~~~~~~~~~~~~
  34964. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hmm.o] Error 1
  34965. cc1: some warnings being treated as errors
  34966. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  34967. 40 | struct timespec64 {
  34968. | ^~~~~~~~~~
  34969. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  34970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  34971. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  34972. from ././common/inc/nv-time.h:29:
  34973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  34974. 13 | struct timespec64 {
  34975. | ^~~~~~~~~~
  34976. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  34977. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  34978. 287 | ktime_get_raw_ts64(&tm);
  34979. | ^~~
  34980. | |
  34981. | struct timespec64 *
  34982. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  34983. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  34984. | ~~~~~~~~~~~~~~~~~~~^~
  34985. nvidia-uvm/uvm_linux.h: At top level:
  34986. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34987. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  34988. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34989. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34990. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  34991. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34992. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  34993. 449 | #error "Unknown number of arguments"
  34994. | ^~~~~
  34995. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34996. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  34997. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34998. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  34999. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  35000. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35001. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  35002. 485 | #error "Unknown number of arguments"
  35003. | ^~~~~
  35004. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35005. 77 | static inline struct timespec64 timespec64_add
  35006. | ^~~~~~~~~~~~~~
  35007. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35008. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  35009. | ^~~~~~~~~~~~~~
  35010. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35011. 95 | static inline struct timespec64 timespec64_sub
  35012. | ^~~~~~~~~~~~~~
  35013. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35014. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  35015. | ^~~~~~~~~~~~~~
  35016. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  35017. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  35018. | ^~~~~~~~~~~~~~~~
  35019. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  35020. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  35021. | ^~~~~~~~~~~~~~~~
  35022. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  35023. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35024. 122 | ktime_get_raw_ts64(&ts);
  35025. | ^~~
  35026. | |
  35027. | struct timespec64 *
  35028. CC [M] nvidia-uvm/uvm_gpu_semaphore_test.o
  35029. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  35030. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  35031. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  35032. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  35033. from ././common/inc/nv-time.h:30:
  35034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35035. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35036. | ~~~~~~~~~~~~~~~~~~~^~
  35037. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  35038. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35039. 185 | ktime_get_raw_ts64(&tm_aux);
  35040. | ^~~~~~~
  35041. | |
  35042. | struct timespec64 *
  35043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35044. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35045. | ~~~~~~~~~~~~~~~~~~~^~
  35046. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35047. 221 | ktime_get_raw_ts64(&tm_aux);
  35048. | ^~~~~~~
  35049. | |
  35050. | struct timespec64 *
  35051. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35052. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35053. | ~~~~~~~~~~~~~~~~~~~^~
  35054. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_populate_pageable.o] Error 1
  35055. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  35056. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  35057. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  35058. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  35059. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  35060. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  35061. | ^
  35062. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  35063. 573 | NV_MEMDBG_ADD(ptr, size);
  35064. | ^
  35065. ././common/inc/nv-linux.h: In function 'nv_vmap':
  35066. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  35067. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  35068. | ^
  35069. CC [M] nvidia-uvm/uvm_mem_test.o
  35070. In file included from ././common/inc/conftest.h:28,
  35071. from ././common/inc/nv-time.h:27,
  35072. from nvidia-uvm/uvm_linux.h:37,
  35073. from nvidia-uvm/uvm_common.h:43,
  35074. from nvidia-uvm/uvm_range_allocator_test.c:25:
  35075. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  35076. 74 | #error dma_buf_export() conftest failed!
  35077. | ^~~~~
  35078. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  35079. 87 | #error wait_on_bit_lock() conftest failed!
  35080. | ^~~~~
  35081. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  35082. 90 | #error radix_tree_replace_slot() conftest failed!
  35083. | ^~~~~
  35084. cc1: some warnings being treated as errors
  35085. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  35086. 40 | struct timespec64 {
  35087. | ^~~~~~~~~~
  35088. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  35089. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  35090. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  35091. from ././common/inc/nv-time.h:29:
  35092. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  35093. 13 | struct timespec64 {
  35094. | ^~~~~~~~~~
  35095. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35096. 77 | static inline struct timespec64 timespec64_add
  35097. | ^~~~~~~~~~~~~~
  35098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35099. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  35100. | ^~~~~~~~~~~~~~
  35101. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35102. 95 | static inline struct timespec64 timespec64_sub
  35103. | ^~~~~~~~~~~~~~
  35104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35105. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  35106. | ^~~~~~~~~~~~~~
  35107. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  35108. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  35109. | ^~~~~~~~~~~~~~~~
  35110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  35111. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  35112. | ^~~~~~~~~~~~~~~~
  35113. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  35114. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35115. 122 | ktime_get_raw_ts64(&ts);
  35116. | ^~~
  35117. | |
  35118. | struct timespec64 *
  35119. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  35120. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  35121. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  35122. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  35123. from ././common/inc/nv-time.h:30:
  35124. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35125. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35126. | ~~~~~~~~~~~~~~~~~~~^~
  35127. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  35128. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35129. 185 | ktime_get_raw_ts64(&tm_aux);
  35130. | ^~~~~~~
  35131. | |
  35132. | struct timespec64 *
  35133. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35134. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35135. | ~~~~~~~~~~~~~~~~~~~^~
  35136. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  35137. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  35138. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  35139. 736 | return phys_to_dma(dev, pa);
  35140. | ^~~~~~~~~~~
  35141. | nv_phys_to_dma
  35142. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  35143. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  35144. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  35145. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  35146. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  35147. | ^
  35148. nvidia-uvm/uvm_migrate_pageable.c: At top level:
  35149. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  35150. 573 | NV_MEMDBG_ADD(ptr, size);
  35151. | ^
  35152. nvidia-uvm/uvm_migrate_pageable.c:510:6: warning: no previous prototype for 'migrate_vma_cleanup_pages' [-Wmissing-prototypes]
  35153. 510 | void migrate_vma_cleanup_pages(unsigned long *dst, unsigned long npages)
  35154. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  35155. In file included from ././common/inc/conftest.h:28,
  35156. from ././common/inc/nv-time.h:27,
  35157. from nvidia-uvm/uvm_linux.h:37,
  35158. from nvidia-uvm/uvm_extern_decl.h:27,
  35159. from nvidia-uvm/uvm_global.h:28,
  35160. from nvidia-uvm/uvm_gpu_semaphore_test.c:24:
  35161. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  35162. 74 | #error dma_buf_export() conftest failed!
  35163. | ^~~~~
  35164. nvidia-uvm/uvm_migrate_pageable.c:556:6: warning: no previous prototype for 'uvm_migrate_vma_alloc_and_copy_helper' [-Wmissing-prototypes]
  35165. 556 | void uvm_migrate_vma_alloc_and_copy_helper(struct vm_area_struct *vma,
  35166. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35167. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  35168. 87 | #error wait_on_bit_lock() conftest failed!
  35169. | ^~~~~
  35170. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  35171. 90 | #error radix_tree_replace_slot() conftest failed!
  35172. | ^~~~~
  35173. ././common/inc/nv-linux.h: In function 'nv_vmap':
  35174. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  35175. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  35176. | ^
  35177. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35178. 221 | ktime_get_raw_ts64(&tm_aux);
  35179. | ^~~~~~~
  35180. | |
  35181. | struct timespec64 *
  35182. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35183. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35184. | ~~~~~~~~~~~~~~~~~~~^~
  35185. nvidia-uvm/uvm_migrate_pageable.c:645:6: warning: no previous prototype for 'uvm_migrate_vma_finalize_and_map_helper' [-Wmissing-prototypes]
  35186. 645 | void uvm_migrate_vma_finalize_and_map_helper(struct vm_area_struct *vma,
  35187. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35188. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_sysmem.o] Error 1
  35189. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  35190. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  35191. 502 | NV_MEMDBG_ADD(ptr, size);
  35192. | ^
  35193. CC [M] nvidia-uvm/uvm_rm_mem_test.o
  35194. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  35195. In file included from ././common/inc/conftest.h:28,
  35196. from ././common/inc/nv-time.h:27,
  35197. from nvidia-uvm/uvm_linux.h:37,
  35198. from nvidia-uvm/uvm_common.h:43,
  35199. from nvidia-uvm/uvm_hal.h:28,
  35200. from nvidia-uvm/uvm_mem_test.c:23:
  35201. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  35202. 74 | #error dma_buf_export() conftest failed!
  35203. | ^~~~~
  35204. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  35205. 736 | return phys_to_dma(dev, pa);
  35206. | ^~~~~~~~~~~
  35207. | nv_phys_to_dma
  35208. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  35209. 87 | #error wait_on_bit_lock() conftest failed!
  35210. | ^~~~~
  35211. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  35212. 90 | #error radix_tree_replace_slot() conftest failed!
  35213. | ^~~~~
  35214. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  35215. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  35216. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  35217. | ^~~~~~~~~~~~~
  35218. | d_is_dir
  35219. In file included from ././common/inc/conftest.h:28,
  35220. from ././common/inc/nv-time.h:27,
  35221. from nvidia-uvm/uvm_linux.h:37,
  35222. from nvidia-uvm/uvm_processors.h:27,
  35223. from nvidia-uvm/uvm_rm_mem.h:28,
  35224. from nvidia-uvm/uvm_rm_mem_test.c:24:
  35225. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  35226. 74 | #error dma_buf_export() conftest failed!
  35227. | ^~~~~
  35228. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  35229. 87 | #error wait_on_bit_lock() conftest failed!
  35230. | ^~~~~
  35231. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  35232. 90 | #error radix_tree_replace_slot() conftest failed!
  35233. | ^~~~~
  35234. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  35235. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  35236. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  35237. | ^~~~~~~~~~~~~
  35238. | d_is_dir
  35239. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  35240. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35241. 287 | ktime_get_raw_ts64(&tm);
  35242. | ^~~
  35243. | |
  35244. | struct timespec64 *
  35245. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35246. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35247. | ~~~~~~~~~~~~~~~~~~~^~
  35248. nvidia-uvm/uvm_linux.h: At top level:
  35249. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35250. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  35251. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35252. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35253. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  35254. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35255. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  35256. 449 | #error "Unknown number of arguments"
  35257. | ^~~~~
  35258. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35259. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  35260. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35261. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35262. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  35263. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35264. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  35265. 485 | #error "Unknown number of arguments"
  35266. | ^~~~~
  35267. cc1: some warnings being treated as errors
  35268. In file included from nvidia-uvm/uvm_perf_events.h:31,
  35269. from nvidia-uvm/uvm_perf_prefetch.c:25:
  35270. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  35271. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  35272. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  35273. | ^~~~~~~~~~~~~~~~~~~~
  35274. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_migrate_pageable.o] Error 1
  35275. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  35276. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35277. 287 | ktime_get_raw_ts64(&tm);
  35278. | ^~~
  35279. | |
  35280. | struct timespec64 *
  35281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35282. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35283. | ~~~~~~~~~~~~~~~~~~~^~
  35284. CC [M] nvidia-uvm/uvm_page_tree_test.o
  35285. nvidia-uvm/uvm_linux.h: At top level:
  35286. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35287. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  35288. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35289. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35290. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  35291. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35292. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  35293. 449 | #error "Unknown number of arguments"
  35294. | ^~~~~
  35295. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35296. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  35297. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35298. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35299. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  35300. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35301. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  35302. 485 | #error "Unknown number of arguments"
  35303. | ^~~~~
  35304. cc1: some warnings being treated as errors
  35305. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  35306. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  35307. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  35308. | ^~~~~~~~~~~~~~~~~~~~~~~
  35309. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  35310. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  35311. 520 | NV_MEMDBG_ADD(ptr, size);
  35312. | ^
  35313. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_heuristics.o] Error 1
  35314. CC [M] nvidia-uvm/uvm_tracker_test.o
  35315. In file included from ././common/inc/conftest.h:28,
  35316. from ././common/inc/nv-time.h:27,
  35317. from nvidia-uvm/uvm_linux.h:37,
  35318. from nvidia-uvm/uvm_test.h:27,
  35319. from nvidia-uvm/uvm_page_tree_test.c:24:
  35320. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  35321. 74 | #error dma_buf_export() conftest failed!
  35322. | ^~~~~
  35323. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  35324. 87 | #error wait_on_bit_lock() conftest failed!
  35325. | ^~~~~
  35326. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  35327. 90 | #error radix_tree_replace_slot() conftest failed!
  35328. | ^~~~~
  35329. In file included from ././common/inc/conftest.h:28,
  35330. from ././common/inc/nv-time.h:27,
  35331. from nvidia-uvm/uvm_linux.h:37,
  35332. from nvidia-uvm/uvm_lock.h:28,
  35333. from nvidia-uvm/uvm_gpu_semaphore.h:28,
  35334. from nvidia-uvm/uvm_channel.h:29,
  35335. from nvidia-uvm/uvm_tracker_test.c:24:
  35336. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  35337. 74 | #error dma_buf_export() conftest failed!
  35338. | ^~~~~
  35339. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  35340. 87 | #error wait_on_bit_lock() conftest failed!
  35341. | ^~~~~
  35342. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  35343. 90 | #error radix_tree_replace_slot() conftest failed!
  35344. | ^~~~~
  35345. cc1: some warnings being treated as errors
  35346. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_user_channel.o] Error 1
  35347. CC [M] nvidia-uvm/uvm_push_test.o
  35348. In file included from nvidia-uvm/uvm_api.h:31:
  35349. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  35350. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  35351. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  35352. | ^~~~~~~~~~~~~~~~~~~~
  35353. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  35354. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  35355. 533 | ptr = ioremap_cache_shared(phys, size);
  35356. | ^~~~~~~~~~~~~~~~~~~~
  35357. | ioremap_cache
  35358. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  35359. 533 | ptr = ioremap_cache_shared(phys, size);
  35360. | ^
  35361. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  35362. 556 | NV_MEMDBG_ADD(ptr, size);
  35363. | ^
  35364. cc1: some warnings being treated as errors
  35365. In file included from ././common/inc/nv-linux.h:34,
  35366. from nvidia-uvm/uvm_linux.h:40:
  35367. ././common/inc/nv-mm.h: At top level:
  35368. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  35369. 29 | typedef int vm_fault_t;
  35370. | ^~~~~~~~~~
  35371. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  35372. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  35373. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  35374. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  35375. from ././common/inc/nv-lock.h:35,
  35376. from ././common/inc/nv-linux.h:32:
  35377. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  35378. 1311 | typedef __bitwise unsigned int vm_fault_t;
  35379. | ^~~~~~~~~~
  35380. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  35381. from ././common/inc/nv-time.h:28:
  35382. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  35383. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  35384. 52 | #define current get_current()
  35385. | ^~~~~~~~~~~~~
  35386. | |
  35387. | struct task_struct *
  35388. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  35389. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  35390. | ^~~~~~~
  35391. In file included from ././common/inc/nv-pgprot.h:30,
  35392. from ././common/inc/nv-linux.h:33:
  35393. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  35394. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  35395. | ~~~~~~~~~~~~~~^~~~~
  35396. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  35397. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  35398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  35399. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  35400. | ~~~~~~~~~~~~~~^~~~~~~~
  35401. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  35402. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  35403. | ^~~~~~~~
  35404. | |
  35405. | long unsigned int
  35406. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  35407. 2535 | unsigned int gup_flags, struct page **pages);
  35408. | ~~~~~~~~~~~~~~^~~~~
  35409. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  35410. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  35411. | ^~~~~~~~~~~~~~ ~~~~~
  35412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  35413. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  35414. | ^~~~~~~~~~~~~~
  35415. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  35416. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  35417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  35418. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  35419. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  35420. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  35421. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  35422. 8 | #define NULL ((void *)0)
  35423. | ^~~~~~~~~~~
  35424. | |
  35425. | void *
  35426. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  35427. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  35428. | ^~~~
  35429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  35430. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  35431. | ~~~~~~~~~~~~~~^~~~~
  35432. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  35433. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  35434. | ^~
  35435. | |
  35436. | struct mm_struct *
  35437. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  35438. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  35439. | ~~~~~~~~~~~~~~^~~~~~~~
  35440. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  35441. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  35442. | ^~~~~~~~
  35443. | |
  35444. | long unsigned int
  35445. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  35446. 2535 | unsigned int gup_flags, struct page **pages);
  35447. | ~~~~~~~~~~~~~~^~~~~
  35448. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  35449. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  35450. | ^~~~~~~~~~~~~~ ~~~~~
  35451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  35452. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  35453. | ^~~~~~~~~~~~~~
  35454. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  35455. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  35456. 237 | return (unsigned long)(vmf->virtual_address);
  35457. | ^~~~~~~~~~~~~~~
  35458. | real_address
  35459. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  35460. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  35461. 246 | down_read(&mm->mmap_sem);
  35462. | ^~~~~~~~
  35463. | mmap_base
  35464. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  35465. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  35466. 255 | up_read(&mm->mmap_sem);
  35467. | ^~~~~~~~
  35468. | mmap_base
  35469. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  35470. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  35471. 264 | down_write(&mm->mmap_sem);
  35472. | ^~~~~~~~
  35473. | mmap_base
  35474. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  35475. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  35476. 273 | up_write(&mm->mmap_sem);
  35477. | ^~~~~~~~
  35478. | mmap_base
  35479. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  35480. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  35481. 282 | return rwsem_is_locked(&mm->mmap_sem);
  35482. | ^~~~~~~~
  35483. | mmap_base
  35484. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  35485. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  35486. 291 | return &mm->mmap_sem;
  35487. | ^~~~~~~~
  35488. | mmap_base
  35489. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  35490. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  35491. 300 | vma->vm_flags |= flags;
  35492. | ^~
  35493. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  35494. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  35495. 309 | vma->vm_flags &= ~flags;
  35496. | ^~
  35497. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  35498. from nvidia-uvm/uvm_gpu.h:37,
  35499. from nvidia-uvm/uvm_global.h:32,
  35500. from nvidia-uvm/uvm_va_space.h:28:
  35501. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  35502. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  35503. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  35504. | ^~~~~~~~~~~~~~~~~~~~
  35505. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_gpu.o] Error 1
  35506. In file included from ././common/inc/conftest.h:28,
  35507. from ././common/inc/nv-time.h:27,
  35508. from nvidia-uvm/uvm_linux.h:37,
  35509. from nvidia-uvm/uvm_extern_decl.h:27,
  35510. from nvidia-uvm/uvm_global.h:28,
  35511. from nvidia-uvm/uvm_push_test.c:26:
  35512. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  35513. 74 | #error dma_buf_export() conftest failed!
  35514. | ^~~~~
  35515. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  35516. 87 | #error wait_on_bit_lock() conftest failed!
  35517. | ^~~~~
  35518. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  35519. 90 | #error radix_tree_replace_slot() conftest failed!
  35520. | ^~~~~
  35521. CC [M] nvidia-uvm/uvm_channel_test.o
  35522. cc1: some warnings being treated as errors
  35523. In file included from ././common/inc/conftest.h:28,
  35524. from ././common/inc/nv-time.h:27,
  35525. from nvidia-uvm/uvm_linux.h:37,
  35526. from nvidia-uvm/uvm_extern_decl.h:27,
  35527. from nvidia-uvm/uvm_global.h:28,
  35528. from nvidia-uvm/uvm_channel_test.c:24:
  35529. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  35530. 74 | #error dma_buf_export() conftest failed!
  35531. | ^~~~~
  35532. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  35533. 87 | #error wait_on_bit_lock() conftest failed!
  35534. | ^~~~~
  35535. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  35536. 90 | #error radix_tree_replace_slot() conftest failed!
  35537. | ^~~~~
  35538. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_prefetch.o] Error 1
  35539. CC [M] nvidia-uvm/uvm_ce_test.o
  35540. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  35541. 40 | struct timespec64 {
  35542. | ^~~~~~~~~~
  35543. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  35544. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  35545. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  35546. from ././common/inc/nv-time.h:29:
  35547. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  35548. 13 | struct timespec64 {
  35549. | ^~~~~~~~~~
  35550. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35551. 77 | static inline struct timespec64 timespec64_add
  35552. | ^~~~~~~~~~~~~~
  35553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35554. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  35555. | ^~~~~~~~~~~~~~
  35556. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35557. 95 | static inline struct timespec64 timespec64_sub
  35558. | ^~~~~~~~~~~~~~
  35559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35560. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  35561. | ^~~~~~~~~~~~~~
  35562. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  35563. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  35564. | ^~~~~~~~~~~~~~~~
  35565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  35566. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  35567. | ^~~~~~~~~~~~~~~~
  35568. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  35569. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35570. 122 | ktime_get_raw_ts64(&ts);
  35571. | ^~~
  35572. | |
  35573. | struct timespec64 *
  35574. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  35575. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  35576. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  35577. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  35578. from ././common/inc/nv-time.h:30:
  35579. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35580. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35581. | ~~~~~~~~~~~~~~~~~~~^~
  35582. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  35583. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35584. 185 | ktime_get_raw_ts64(&tm_aux);
  35585. | ^~~~~~~
  35586. | |
  35587. | struct timespec64 *
  35588. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35589. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35590. | ~~~~~~~~~~~~~~~~~~~^~
  35591. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35592. 221 | ktime_get_raw_ts64(&tm_aux);
  35593. | ^~~~~~~
  35594. | |
  35595. | struct timespec64 *
  35596. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35597. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35598. | ~~~~~~~~~~~~~~~~~~~^~
  35599. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  35600. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  35601. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  35602. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  35603. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  35604. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  35605. | ^
  35606. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  35607. 573 | NV_MEMDBG_ADD(ptr, size);
  35608. | ^
  35609. ././common/inc/nv-linux.h: In function 'nv_vmap':
  35610. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  35611. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  35612. | ^
  35613. In file included from ././common/inc/conftest.h:28,
  35614. from ././common/inc/nv-time.h:27,
  35615. from nvidia-uvm/uvm_linux.h:37,
  35616. from nvidia-uvm/uvm_lock.h:28,
  35617. from nvidia-uvm/uvm_gpu_semaphore.h:28,
  35618. from nvidia-uvm/uvm_channel.h:29,
  35619. from nvidia-uvm/uvm_ce_test.c:24:
  35620. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  35621. 74 | #error dma_buf_export() conftest failed!
  35622. | ^~~~~
  35623. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  35624. 87 | #error wait_on_bit_lock() conftest failed!
  35625. | ^~~~~
  35626. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  35627. 90 | #error radix_tree_replace_slot() conftest failed!
  35628. | ^~~~~
  35629. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  35630. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  35631. 736 | return phys_to_dma(dev, pa);
  35632. | ^~~~~~~~~~~
  35633. | nv_phys_to_dma
  35634. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  35635. 40 | struct timespec64 {
  35636. | ^~~~~~~~~~
  35637. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  35638. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  35639. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  35640. from ././common/inc/nv-time.h:29:
  35641. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  35642. 13 | struct timespec64 {
  35643. | ^~~~~~~~~~
  35644. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35645. 77 | static inline struct timespec64 timespec64_add
  35646. | ^~~~~~~~~~~~~~
  35647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35648. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  35649. | ^~~~~~~~~~~~~~
  35650. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35651. 95 | static inline struct timespec64 timespec64_sub
  35652. | ^~~~~~~~~~~~~~
  35653. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35654. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  35655. | ^~~~~~~~~~~~~~
  35656. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  35657. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  35658. | ^~~~~~~~~~~~~~~~
  35659. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  35660. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  35661. | ^~~~~~~~~~~~~~~~
  35662. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  35663. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35664. 122 | ktime_get_raw_ts64(&ts);
  35665. | ^~~
  35666. | |
  35667. | struct timespec64 *
  35668. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  35669. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  35670. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  35671. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  35672. from ././common/inc/nv-time.h:30:
  35673. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35674. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35675. | ~~~~~~~~~~~~~~~~~~~^~
  35676. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  35677. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35678. 185 | ktime_get_raw_ts64(&tm_aux);
  35679. | ^~~~~~~
  35680. | |
  35681. | struct timespec64 *
  35682. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35683. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35684. | ~~~~~~~~~~~~~~~~~~~^~
  35685. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35686. 221 | ktime_get_raw_ts64(&tm_aux);
  35687. | ^~~~~~~
  35688. | |
  35689. | struct timespec64 *
  35690. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35691. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35692. | ~~~~~~~~~~~~~~~~~~~^~
  35693. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  35694. 40 | struct timespec64 {
  35695. | ^~~~~~~~~~
  35696. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  35697. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  35698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  35699. from ././common/inc/nv-time.h:29:
  35700. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  35701. 13 | struct timespec64 {
  35702. | ^~~~~~~~~~
  35703. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35704. 77 | static inline struct timespec64 timespec64_add
  35705. | ^~~~~~~~~~~~~~
  35706. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35707. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  35708. | ^~~~~~~~~~~~~~
  35709. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35710. 95 | static inline struct timespec64 timespec64_sub
  35711. | ^~~~~~~~~~~~~~
  35712. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35713. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  35714. | ^~~~~~~~~~~~~~
  35715. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  35716. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  35717. | ^~~~~~~~~~~~~~~~
  35718. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  35719. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  35720. | ^~~~~~~~~~~~~~~~
  35721. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  35722. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35723. 122 | ktime_get_raw_ts64(&ts);
  35724. | ^~~
  35725. | |
  35726. | struct timespec64 *
  35727. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  35728. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  35729. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  35730. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  35731. from ././common/inc/nv-time.h:30:
  35732. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35733. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35734. | ~~~~~~~~~~~~~~~~~~~^~
  35735. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  35736. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35737. 185 | ktime_get_raw_ts64(&tm_aux);
  35738. | ^~~~~~~
  35739. | |
  35740. | struct timespec64 *
  35741. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35742. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35743. | ~~~~~~~~~~~~~~~~~~~^~
  35744. In file included from ././common/inc/nv-procfs.h:26,
  35745. from nvidia-uvm/uvm_procfs.h:30,
  35746. from nvidia-uvm/uvm_perf_thrashing.c:34:
  35747. nvidia-uvm/uvm_perf_thrashing.c: In function 'cpu_thrashing_stats_init':
  35748. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  35749. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  35750. | ^~~~
  35751. | |
  35752. | const nv_proc_ops_t * {aka const struct file_operations *}
  35753. nvidia-uvm/uvm_perf_thrashing.c:450:45: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  35754. 450 | g_cpu_thrashing_stats.procfs_file = NV_CREATE_PROC_FILE(THRASHING_STATS_FILE_NAME,
  35755. | ^~~~~~~~~~~~~~~~~~~
  35756. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  35757. from ././common/inc/nv-linux.h:220:
  35758. /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 *'}
  35759. 111 | const struct proc_ops *,
  35760. | ^~~~~~~~~~~~~~~~~~~~~~~
  35761. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35762. 221 | ktime_get_raw_ts64(&tm_aux);
  35763. | ^~~~~~~
  35764. | |
  35765. | struct timespec64 *
  35766. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35767. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35768. | ~~~~~~~~~~~~~~~~~~~^~
  35769. nvidia-uvm/uvm_perf_thrashing.c: In function 'gpu_thrashing_stats_create':
  35770. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  35771. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  35772. | ^~~~
  35773. | |
  35774. | const nv_proc_ops_t * {aka const struct file_operations *}
  35775. nvidia-uvm/uvm_perf_thrashing.c:505:34: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  35776. 505 | gpu_thrashing->procfs_file = NV_CREATE_PROC_FILE(THRASHING_STATS_FILE_NAME,
  35777. | ^~~~~~~~~~~~~~~~~~~
  35778. /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 *'}
  35779. 111 | const struct proc_ops *,
  35780. | ^~~~~~~~~~~~~~~~~~~~~~~
  35781. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  35782. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  35783. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  35784. | ^~~~~~~~~~~~~
  35785. | d_is_dir
  35786. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  35787. 40 | struct timespec64 {
  35788. | ^~~~~~~~~~
  35789. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  35790. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  35791. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  35792. from ././common/inc/nv-time.h:29:
  35793. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  35794. 13 | struct timespec64 {
  35795. | ^~~~~~~~~~
  35796. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35797. 77 | static inline struct timespec64 timespec64_add
  35798. | ^~~~~~~~~~~~~~
  35799. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35800. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  35801. | ^~~~~~~~~~~~~~
  35802. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35803. 95 | static inline struct timespec64 timespec64_sub
  35804. | ^~~~~~~~~~~~~~
  35805. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35806. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  35807. | ^~~~~~~~~~~~~~
  35808. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  35809. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  35810. | ^~~~~~~~~~~~~~~~
  35811. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  35812. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  35813. | ^~~~~~~~~~~~~~~~
  35814. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  35815. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35816. 122 | ktime_get_raw_ts64(&ts);
  35817. | ^~~
  35818. | |
  35819. | struct timespec64 *
  35820. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  35821. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  35822. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  35823. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  35824. from ././common/inc/nv-time.h:30:
  35825. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35826. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35827. | ~~~~~~~~~~~~~~~~~~~^~
  35828. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  35829. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35830. 185 | ktime_get_raw_ts64(&tm_aux);
  35831. | ^~~~~~~
  35832. | |
  35833. | struct timespec64 *
  35834. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35835. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35836. | ~~~~~~~~~~~~~~~~~~~^~
  35837. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35838. 221 | ktime_get_raw_ts64(&tm_aux);
  35839. | ^~~~~~~
  35840. | |
  35841. | struct timespec64 *
  35842. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35843. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35844. | ~~~~~~~~~~~~~~~~~~~^~
  35845. cc1: some warnings being treated as errors
  35846. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  35847. 40 | struct timespec64 {
  35848. | ^~~~~~~~~~
  35849. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  35850. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  35851. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  35852. from ././common/inc/nv-time.h:29:
  35853. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  35854. 13 | struct timespec64 {
  35855. | ^~~~~~~~~~
  35856. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35857. 77 | static inline struct timespec64 timespec64_add
  35858. | ^~~~~~~~~~~~~~
  35859. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35860. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  35861. | ^~~~~~~~~~~~~~
  35862. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  35863. 95 | static inline struct timespec64 timespec64_sub
  35864. | ^~~~~~~~~~~~~~
  35865. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  35866. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  35867. | ^~~~~~~~~~~~~~
  35868. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  35869. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  35870. | ^~~~~~~~~~~~~~~~
  35871. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  35872. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  35873. | ^~~~~~~~~~~~~~~~
  35874. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  35875. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35876. 122 | ktime_get_raw_ts64(&ts);
  35877. | ^~~
  35878. | |
  35879. | struct timespec64 *
  35880. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  35881. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  35882. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  35883. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  35884. from ././common/inc/nv-time.h:30:
  35885. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35886. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35887. | ~~~~~~~~~~~~~~~~~~~^~
  35888. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  35889. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35890. 185 | ktime_get_raw_ts64(&tm_aux);
  35891. | ^~~~~~~
  35892. | |
  35893. | struct timespec64 *
  35894. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35895. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35896. | ~~~~~~~~~~~~~~~~~~~^~
  35897. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35898. 221 | ktime_get_raw_ts64(&tm_aux);
  35899. | ^~~~~~~
  35900. | |
  35901. | struct timespec64 *
  35902. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35903. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35904. | ~~~~~~~~~~~~~~~~~~~^~
  35905. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats.o] Error 1
  35906. CC [M] nvidia-uvm/uvm_host_test.o
  35907. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  35908. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  35909. 287 | ktime_get_raw_ts64(&tm);
  35910. | ^~~
  35911. | |
  35912. | struct timespec64 *
  35913. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  35914. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  35915. | ~~~~~~~~~~~~~~~~~~~^~
  35916. nvidia-uvm/uvm_linux.h: At top level:
  35917. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35918. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  35919. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35920. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35921. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  35922. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35923. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  35924. 449 | #error "Unknown number of arguments"
  35925. | ^~~~~
  35926. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35927. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  35928. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35929. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  35930. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  35931. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  35932. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  35933. 485 | #error "Unknown number of arguments"
  35934. | ^~~~~
  35935. In file included from ././common/inc/nv-linux.h:34,
  35936. from nvidia-uvm/uvm_linux.h:40:
  35937. ././common/inc/nv-mm.h: At top level:
  35938. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  35939. 29 | typedef int vm_fault_t;
  35940. | ^~~~~~~~~~
  35941. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  35942. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  35943. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  35944. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  35945. from ././common/inc/nv-lock.h:35,
  35946. from ././common/inc/nv-linux.h:32:
  35947. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  35948. 1311 | typedef __bitwise unsigned int vm_fault_t;
  35949. | ^~~~~~~~~~
  35950. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  35951. from ././common/inc/nv-time.h:28:
  35952. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  35953. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  35954. 52 | #define current get_current()
  35955. | ^~~~~~~~~~~~~
  35956. | |
  35957. | struct task_struct *
  35958. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  35959. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  35960. | ^~~~~~~
  35961. In file included from ././common/inc/nv-pgprot.h:30,
  35962. from ././common/inc/nv-linux.h:33:
  35963. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  35964. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  35965. | ~~~~~~~~~~~~~~^~~~~
  35966. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  35967. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  35968. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  35969. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  35970. | ~~~~~~~~~~~~~~^~~~~~~~
  35971. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  35972. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  35973. | ^~~~~~~~
  35974. | |
  35975. | long unsigned int
  35976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  35977. 2535 | unsigned int gup_flags, struct page **pages);
  35978. | ~~~~~~~~~~~~~~^~~~~
  35979. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  35980. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  35981. | ^~~~~~~~~~~~~~ ~~~~~
  35982. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  35983. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  35984. | ^~~~~~~~~~~~~~
  35985. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  35986. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  35987. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  35988. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  35989. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  35990. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  35991. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  35992. 8 | #define NULL ((void *)0)
  35993. | ^~~~~~~~~~~
  35994. | |
  35995. | void *
  35996. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  35997. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  35998. | ^~~~
  35999. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  36000. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36001. | ~~~~~~~~~~~~~~^~~~~
  36002. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36003. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36004. | ^~
  36005. | |
  36006. | struct mm_struct *
  36007. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  36008. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36009. | ~~~~~~~~~~~~~~^~~~~~~~
  36010. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  36011. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36012. | ^~~~~~~~
  36013. | |
  36014. | long unsigned int
  36015. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  36016. 2535 | unsigned int gup_flags, struct page **pages);
  36017. | ~~~~~~~~~~~~~~^~~~~
  36018. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  36019. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36020. | ^~~~~~~~~~~~~~ ~~~~~
  36021. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  36022. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36023. | ^~~~~~~~~~~~~~
  36024. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  36025. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  36026. 237 | return (unsigned long)(vmf->virtual_address);
  36027. | ^~~~~~~~~~~~~~~
  36028. | real_address
  36029. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  36030. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36031. 246 | down_read(&mm->mmap_sem);
  36032. | ^~~~~~~~
  36033. | mmap_base
  36034. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  36035. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36036. 255 | up_read(&mm->mmap_sem);
  36037. | ^~~~~~~~
  36038. | mmap_base
  36039. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  36040. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36041. 264 | down_write(&mm->mmap_sem);
  36042. | ^~~~~~~~
  36043. | mmap_base
  36044. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  36045. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36046. 273 | up_write(&mm->mmap_sem);
  36047. | ^~~~~~~~
  36048. | mmap_base
  36049. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  36050. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36051. 282 | return rwsem_is_locked(&mm->mmap_sem);
  36052. | ^~~~~~~~
  36053. | mmap_base
  36054. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  36055. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36056. 291 | return &mm->mmap_sem;
  36057. | ^~~~~~~~
  36058. | mmap_base
  36059. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  36060. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  36061. 300 | vma->vm_flags |= flags;
  36062. | ^~
  36063. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  36064. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  36065. 309 | vma->vm_flags &= ~flags;
  36066. | ^~
  36067. In file included from ././common/inc/conftest.h:28,
  36068. from ././common/inc/nv-time.h:27,
  36069. from nvidia-uvm/uvm_linux.h:37,
  36070. from nvidia-uvm/uvm_extern_decl.h:27,
  36071. from nvidia-uvm/uvm_global.h:28,
  36072. from nvidia-uvm/uvm_host_test.c:24:
  36073. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  36074. 74 | #error dma_buf_export() conftest failed!
  36075. | ^~~~~
  36076. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  36077. 87 | #error wait_on_bit_lock() conftest failed!
  36078. | ^~~~~
  36079. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  36080. 90 | #error radix_tree_replace_slot() conftest failed!
  36081. | ^~~~~
  36082. In file included from ././common/inc/nv-linux.h:34,
  36083. from nvidia-uvm/uvm_linux.h:40:
  36084. ././common/inc/nv-mm.h: At top level:
  36085. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  36086. 29 | typedef int vm_fault_t;
  36087. | ^~~~~~~~~~
  36088. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  36089. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  36090. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  36091. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  36092. from ././common/inc/nv-lock.h:35,
  36093. from ././common/inc/nv-linux.h:32:
  36094. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  36095. 1311 | typedef __bitwise unsigned int vm_fault_t;
  36096. | ^~~~~~~~~~
  36097. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  36098. from ././common/inc/nv-time.h:28:
  36099. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  36100. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36101. 52 | #define current get_current()
  36102. | ^~~~~~~~~~~~~
  36103. | |
  36104. | struct task_struct *
  36105. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  36106. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36107. | ^~~~~~~
  36108. In file included from ././common/inc/nv-pgprot.h:30,
  36109. from ././common/inc/nv-linux.h:33:
  36110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  36111. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36112. | ~~~~~~~~~~~~~~^~~~~
  36113. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36114. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36115. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  36116. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36117. | ~~~~~~~~~~~~~~^~~~~~~~
  36118. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  36119. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36120. | ^~~~~~~~
  36121. | |
  36122. | long unsigned int
  36123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  36124. 2535 | unsigned int gup_flags, struct page **pages);
  36125. | ~~~~~~~~~~~~~~^~~~~
  36126. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  36127. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36128. | ^~~~~~~~~~~~~~ ~~~~~
  36129. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  36130. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36131. | ^~~~~~~~~~~~~~
  36132. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  36133. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  36134. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  36135. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  36136. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  36137. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  36138. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36139. 8 | #define NULL ((void *)0)
  36140. | ^~~~~~~~~~~
  36141. | |
  36142. | void *
  36143. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  36144. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36145. | ^~~~
  36146. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  36147. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36148. | ~~~~~~~~~~~~~~^~~~~
  36149. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36150. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36151. | ^~
  36152. | |
  36153. | struct mm_struct *
  36154. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  36155. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36156. | ~~~~~~~~~~~~~~^~~~~~~~
  36157. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  36158. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36159. | ^~~~~~~~
  36160. | |
  36161. | long unsigned int
  36162. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  36163. 2535 | unsigned int gup_flags, struct page **pages);
  36164. | ~~~~~~~~~~~~~~^~~~~
  36165. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  36166. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36167. | ^~~~~~~~~~~~~~ ~~~~~
  36168. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  36169. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36170. | ^~~~~~~~~~~~~~
  36171. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  36172. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  36173. 237 | return (unsigned long)(vmf->virtual_address);
  36174. | ^~~~~~~~~~~~~~~
  36175. | real_address
  36176. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  36177. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36178. 246 | down_read(&mm->mmap_sem);
  36179. | ^~~~~~~~
  36180. | mmap_base
  36181. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  36182. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36183. 255 | up_read(&mm->mmap_sem);
  36184. | ^~~~~~~~
  36185. | mmap_base
  36186. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  36187. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36188. 264 | down_write(&mm->mmap_sem);
  36189. | ^~~~~~~~
  36190. | mmap_base
  36191. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  36192. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36193. 273 | up_write(&mm->mmap_sem);
  36194. | ^~~~~~~~
  36195. | mmap_base
  36196. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  36197. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36198. 282 | return rwsem_is_locked(&mm->mmap_sem);
  36199. | ^~~~~~~~
  36200. | mmap_base
  36201. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  36202. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36203. 291 | return &mm->mmap_sem;
  36204. | ^~~~~~~~
  36205. | mmap_base
  36206. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  36207. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  36208. 300 | vma->vm_flags |= flags;
  36209. | ^~
  36210. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  36211. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  36212. 309 | vma->vm_flags &= ~flags;
  36213. | ^~
  36214. cc1: some warnings being treated as errors
  36215. In file included from nvidia-uvm/uvm_api.h:31:
  36216. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  36217. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  36218. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  36219. | ^~~~~~~~~~~~~~~~~~~~
  36220. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_thrashing.o] Error 1
  36221. CC [M] nvidia-uvm/uvm_lock_test.o
  36222. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  36223. 40 | struct timespec64 {
  36224. | ^~~~~~~~~~
  36225. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  36226. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  36227. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  36228. from ././common/inc/nv-time.h:29:
  36229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  36230. 13 | struct timespec64 {
  36231. | ^~~~~~~~~~
  36232. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36233. 77 | static inline struct timespec64 timespec64_add
  36234. | ^~~~~~~~~~~~~~
  36235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36236. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  36237. | ^~~~~~~~~~~~~~
  36238. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  36239. 40 | struct timespec64 {
  36240. | ^~~~~~~~~~
  36241. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  36242. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  36243. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  36244. from ././common/inc/nv-time.h:29:
  36245. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  36246. 13 | struct timespec64 {
  36247. | ^~~~~~~~~~
  36248. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36249. 95 | static inline struct timespec64 timespec64_sub
  36250. | ^~~~~~~~~~~~~~
  36251. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36252. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  36253. | ^~~~~~~~~~~~~~
  36254. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36255. 77 | static inline struct timespec64 timespec64_add
  36256. | ^~~~~~~~~~~~~~
  36257. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36258. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  36259. | ^~~~~~~~~~~~~~
  36260. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  36261. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  36262. | ^~~~~~~~~~~~~~~~
  36263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  36264. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  36265. | ^~~~~~~~~~~~~~~~
  36266. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  36267. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36268. 95 | static inline struct timespec64 timespec64_sub
  36269. | ^~~~~~~~~~~~~~
  36270. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36271. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  36272. | ^~~~~~~~~~~~~~
  36273. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36274. 122 | ktime_get_raw_ts64(&ts);
  36275. | ^~~
  36276. | |
  36277. | struct timespec64 *
  36278. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  36279. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  36280. | ^~~~~~~~~~~~~~~~
  36281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  36282. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  36283. | ^~~~~~~~~~~~~~~~
  36284. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  36285. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  36286. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  36287. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  36288. from ././common/inc/nv-time.h:30:
  36289. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36290. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36291. | ~~~~~~~~~~~~~~~~~~~^~
  36292. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  36293. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36294. 122 | ktime_get_raw_ts64(&ts);
  36295. | ^~~
  36296. | |
  36297. | struct timespec64 *
  36298. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  36299. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  36300. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  36301. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  36302. from ././common/inc/nv-time.h:30:
  36303. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36304. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36305. | ~~~~~~~~~~~~~~~~~~~^~
  36306. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  36307. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36308. 185 | ktime_get_raw_ts64(&tm_aux);
  36309. | ^~~~~~~
  36310. | |
  36311. | struct timespec64 *
  36312. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36313. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36314. | ~~~~~~~~~~~~~~~~~~~^~
  36315. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  36316. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36317. 185 | ktime_get_raw_ts64(&tm_aux);
  36318. | ^~~~~~~
  36319. | |
  36320. | struct timespec64 *
  36321. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36322. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36323. | ~~~~~~~~~~~~~~~~~~~^~
  36324. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36325. 221 | ktime_get_raw_ts64(&tm_aux);
  36326. | ^~~~~~~
  36327. | |
  36328. | struct timespec64 *
  36329. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36330. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36331. | ~~~~~~~~~~~~~~~~~~~^~
  36332. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36333. 221 | ktime_get_raw_ts64(&tm_aux);
  36334. | ^~~~~~~
  36335. | |
  36336. | struct timespec64 *
  36337. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36338. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36339. | ~~~~~~~~~~~~~~~~~~~^~
  36340. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  36341. 40 | struct timespec64 {
  36342. | ^~~~~~~~~~
  36343. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  36344. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  36345. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  36346. from ././common/inc/nv-time.h:29:
  36347. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  36348. 13 | struct timespec64 {
  36349. | ^~~~~~~~~~
  36350. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36351. 77 | static inline struct timespec64 timespec64_add
  36352. | ^~~~~~~~~~~~~~
  36353. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36354. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  36355. | ^~~~~~~~~~~~~~
  36356. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36357. 95 | static inline struct timespec64 timespec64_sub
  36358. | ^~~~~~~~~~~~~~
  36359. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36360. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  36361. | ^~~~~~~~~~~~~~
  36362. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  36363. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  36364. | ^~~~~~~~~~~~~~~~
  36365. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  36366. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  36367. | ^~~~~~~~~~~~~~~~
  36368. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  36369. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36370. 122 | ktime_get_raw_ts64(&ts);
  36371. | ^~~
  36372. | |
  36373. | struct timespec64 *
  36374. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  36375. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  36376. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  36377. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  36378. from ././common/inc/nv-time.h:30:
  36379. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36380. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36381. | ~~~~~~~~~~~~~~~~~~~^~
  36382. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  36383. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36384. 185 | ktime_get_raw_ts64(&tm_aux);
  36385. | ^~~~~~~
  36386. | |
  36387. | struct timespec64 *
  36388. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36389. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36390. | ~~~~~~~~~~~~~~~~~~~^~
  36391. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36392. 221 | ktime_get_raw_ts64(&tm_aux);
  36393. | ^~~~~~~
  36394. | |
  36395. | struct timespec64 *
  36396. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36397. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36398. | ~~~~~~~~~~~~~~~~~~~^~
  36399. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  36400. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  36401. 502 | NV_MEMDBG_ADD(ptr, size);
  36402. | ^
  36403. In file included from ././common/inc/conftest.h:28,
  36404. from ././common/inc/nv-time.h:27,
  36405. from nvidia-uvm/uvm_linux.h:37,
  36406. from nvidia-uvm/uvm_test.h:27,
  36407. from nvidia-uvm/uvm_lock_test.c:24:
  36408. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  36409. 74 | #error dma_buf_export() conftest failed!
  36410. | ^~~~~
  36411. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  36412. 87 | #error wait_on_bit_lock() conftest failed!
  36413. | ^~~~~
  36414. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  36415. 90 | #error radix_tree_replace_slot() conftest failed!
  36416. | ^~~~~
  36417. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  36418. 40 | struct timespec64 {
  36419. | ^~~~~~~~~~
  36420. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  36421. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  36422. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  36423. from ././common/inc/nv-time.h:29:
  36424. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  36425. 13 | struct timespec64 {
  36426. | ^~~~~~~~~~
  36427. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36428. 77 | static inline struct timespec64 timespec64_add
  36429. | ^~~~~~~~~~~~~~
  36430. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36431. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  36432. | ^~~~~~~~~~~~~~
  36433. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36434. 95 | static inline struct timespec64 timespec64_sub
  36435. | ^~~~~~~~~~~~~~
  36436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36437. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  36438. | ^~~~~~~~~~~~~~
  36439. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  36440. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  36441. | ^~~~~~~~~~~~~~~~
  36442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  36443. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  36444. | ^~~~~~~~~~~~~~~~
  36445. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  36446. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36447. 122 | ktime_get_raw_ts64(&ts);
  36448. | ^~~
  36449. | |
  36450. | struct timespec64 *
  36451. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  36452. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  36453. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  36454. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  36455. from ././common/inc/nv-time.h:30:
  36456. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36457. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36458. | ~~~~~~~~~~~~~~~~~~~^~
  36459. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  36460. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36461. 185 | ktime_get_raw_ts64(&tm_aux);
  36462. | ^~~~~~~
  36463. | |
  36464. | struct timespec64 *
  36465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36466. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36467. | ~~~~~~~~~~~~~~~~~~~^~
  36468. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36469. 221 | ktime_get_raw_ts64(&tm_aux);
  36470. | ^~~~~~~
  36471. | |
  36472. | struct timespec64 *
  36473. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36474. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36475. | ~~~~~~~~~~~~~~~~~~~^~
  36476. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  36477. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  36478. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  36479. | ^~~~~~~~~~~~~~~~~~~~~~~
  36480. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  36481. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  36482. 520 | NV_MEMDBG_ADD(ptr, size);
  36483. | ^
  36484. cc1: some warnings being treated as errors
  36485. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_ibm.o] Error 1
  36486. CC [M] nvidia-uvm/uvm_perf_utils_test.o
  36487. In file included from ././common/inc/conftest.h:28,
  36488. from ././common/inc/nv-time.h:27,
  36489. from nvidia-uvm/uvm_linux.h:37,
  36490. from nvidia-uvm/uvm_common.h:43,
  36491. from nvidia-uvm/uvm_perf_utils.h:27,
  36492. from nvidia-uvm/uvm_perf_utils_test.c:24:
  36493. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  36494. 74 | #error dma_buf_export() conftest failed!
  36495. | ^~~~~
  36496. In file included from ././common/inc/nv-linux.h:34,
  36497. from nvidia-uvm/uvm_linux.h:40:
  36498. ././common/inc/nv-mm.h: At top level:
  36499. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  36500. 29 | typedef int vm_fault_t;
  36501. | ^~~~~~~~~~
  36502. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  36503. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  36504. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  36505. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  36506. from ././common/inc/nv-lock.h:35,
  36507. from ././common/inc/nv-linux.h:32:
  36508. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  36509. 1311 | typedef __bitwise unsigned int vm_fault_t;
  36510. | ^~~~~~~~~~
  36511. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  36512. from ././common/inc/nv-time.h:28:
  36513. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  36514. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36515. 52 | #define current get_current()
  36516. | ^~~~~~~~~~~~~
  36517. | |
  36518. | struct task_struct *
  36519. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  36520. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36521. | ^~~~~~~
  36522. In file included from ././common/inc/nv-pgprot.h:30,
  36523. from ././common/inc/nv-linux.h:33:
  36524. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  36525. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36526. | ~~~~~~~~~~~~~~^~~~~
  36527. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36528. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36529. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  36530. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36531. | ~~~~~~~~~~~~~~^~~~~~~~
  36532. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  36533. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36534. | ^~~~~~~~
  36535. | |
  36536. | long unsigned int
  36537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  36538. 2535 | unsigned int gup_flags, struct page **pages);
  36539. | ~~~~~~~~~~~~~~^~~~~
  36540. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  36541. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36542. | ^~~~~~~~~~~~~~ ~~~~~
  36543. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  36544. 87 | #error wait_on_bit_lock() conftest failed!
  36545. | ^~~~~
  36546. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  36547. 90 | #error radix_tree_replace_slot() conftest failed!
  36548. | ^~~~~
  36549. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  36550. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36551. | ^~~~~~~~~~~~~~
  36552. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  36553. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  36554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  36555. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  36556. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  36557. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  36558. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36559. 8 | #define NULL ((void *)0)
  36560. | ^~~~~~~~~~~
  36561. | |
  36562. | void *
  36563. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  36564. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36565. | ^~~~
  36566. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  36567. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36568. | ~~~~~~~~~~~~~~^~~~~
  36569. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36570. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36571. | ^~
  36572. | |
  36573. | struct mm_struct *
  36574. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  36575. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36576. | ~~~~~~~~~~~~~~^~~~~~~~
  36577. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  36578. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36579. | ^~~~~~~~
  36580. | |
  36581. | long unsigned int
  36582. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  36583. 2535 | unsigned int gup_flags, struct page **pages);
  36584. | ~~~~~~~~~~~~~~^~~~~
  36585. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  36586. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36587. | ^~~~~~~~~~~~~~ ~~~~~
  36588. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  36589. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36590. | ^~~~~~~~~~~~~~
  36591. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  36592. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  36593. 237 | return (unsigned long)(vmf->virtual_address);
  36594. | ^~~~~~~~~~~~~~~
  36595. | real_address
  36596. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  36597. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36598. 246 | down_read(&mm->mmap_sem);
  36599. | ^~~~~~~~
  36600. | mmap_base
  36601. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  36602. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36603. 255 | up_read(&mm->mmap_sem);
  36604. | ^~~~~~~~
  36605. | mmap_base
  36606. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  36607. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36608. 264 | down_write(&mm->mmap_sem);
  36609. | ^~~~~~~~
  36610. | mmap_base
  36611. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  36612. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36613. 273 | up_write(&mm->mmap_sem);
  36614. | ^~~~~~~~
  36615. | mmap_base
  36616. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  36617. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36618. 282 | return rwsem_is_locked(&mm->mmap_sem);
  36619. | ^~~~~~~~
  36620. | mmap_base
  36621. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  36622. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36623. 291 | return &mm->mmap_sem;
  36624. | ^~~~~~~~
  36625. | mmap_base
  36626. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  36627. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  36628. 300 | vma->vm_flags |= flags;
  36629. | ^~
  36630. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  36631. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  36632. 309 | vma->vm_flags &= ~flags;
  36633. | ^~
  36634. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  36635. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  36636. 502 | NV_MEMDBG_ADD(ptr, size);
  36637. | ^
  36638. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  36639. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  36640. 533 | ptr = ioremap_cache_shared(phys, size);
  36641. | ^~~~~~~~~~~~~~~~~~~~
  36642. | ioremap_cache
  36643. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  36644. 533 | ptr = ioremap_cache_shared(phys, size);
  36645. | ^
  36646. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  36647. 556 | NV_MEMDBG_ADD(ptr, size);
  36648. | ^
  36649. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  36650. 40 | struct timespec64 {
  36651. | ^~~~~~~~~~
  36652. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  36653. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  36654. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  36655. from ././common/inc/nv-time.h:29:
  36656. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  36657. 13 | struct timespec64 {
  36658. | ^~~~~~~~~~
  36659. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36660. 77 | static inline struct timespec64 timespec64_add
  36661. | ^~~~~~~~~~~~~~
  36662. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36663. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  36664. | ^~~~~~~~~~~~~~
  36665. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36666. 95 | static inline struct timespec64 timespec64_sub
  36667. | ^~~~~~~~~~~~~~
  36668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36669. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  36670. | ^~~~~~~~~~~~~~
  36671. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  36672. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  36673. | ^~~~~~~~~~~~~~~~
  36674. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  36675. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  36676. | ^~~~~~~~~~~~~~~~
  36677. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  36678. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36679. 122 | ktime_get_raw_ts64(&ts);
  36680. | ^~~
  36681. | |
  36682. | struct timespec64 *
  36683. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  36684. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  36685. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  36686. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  36687. from ././common/inc/nv-time.h:30:
  36688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36689. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36690. | ~~~~~~~~~~~~~~~~~~~^~
  36691. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  36692. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36693. 185 | ktime_get_raw_ts64(&tm_aux);
  36694. | ^~~~~~~
  36695. | |
  36696. | struct timespec64 *
  36697. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36698. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36699. | ~~~~~~~~~~~~~~~~~~~^~
  36700. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  36701. 221 | ktime_get_raw_ts64(&tm_aux);
  36702. | ^~~~~~~
  36703. | |
  36704. | struct timespec64 *
  36705. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  36706. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  36707. | ~~~~~~~~~~~~~~~~~~~^~
  36708. In file included from ././common/inc/nv-linux.h:34,
  36709. from nvidia-uvm/uvm_linux.h:40:
  36710. ././common/inc/nv-mm.h: At top level:
  36711. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  36712. 29 | typedef int vm_fault_t;
  36713. | ^~~~~~~~~~
  36714. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  36715. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  36716. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  36717. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  36718. from ././common/inc/nv-lock.h:35,
  36719. from ././common/inc/nv-linux.h:32:
  36720. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  36721. 1311 | typedef __bitwise unsigned int vm_fault_t;
  36722. | ^~~~~~~~~~
  36723. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  36724. from ././common/inc/nv-time.h:28:
  36725. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  36726. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36727. 52 | #define current get_current()
  36728. | ^~~~~~~~~~~~~
  36729. | |
  36730. | struct task_struct *
  36731. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  36732. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36733. | ^~~~~~~
  36734. In file included from ././common/inc/nv-pgprot.h:30,
  36735. from ././common/inc/nv-linux.h:33:
  36736. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  36737. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36738. | ~~~~~~~~~~~~~~^~~~~
  36739. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36740. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36741. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  36742. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36743. | ~~~~~~~~~~~~~~^~~~~~~~
  36744. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  36745. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36746. | ^~~~~~~~
  36747. | |
  36748. | long unsigned int
  36749. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  36750. 2535 | unsigned int gup_flags, struct page **pages);
  36751. | ~~~~~~~~~~~~~~^~~~~
  36752. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  36753. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36754. | ^~~~~~~~~~~~~~ ~~~~~
  36755. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  36756. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36757. | ^~~~~~~~~~~~~~
  36758. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  36759. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  36760. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  36761. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  36762. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  36763. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  36764. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36765. 8 | #define NULL ((void *)0)
  36766. | ^~~~~~~~~~~
  36767. | |
  36768. | void *
  36769. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  36770. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36771. | ^~~~
  36772. In file included from ././common/inc/nv-linux.h:34,
  36773. from nvidia-uvm/uvm_linux.h:40:
  36774. ././common/inc/nv-mm.h: At top level:
  36775. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  36776. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36777. | ~~~~~~~~~~~~~~^~~~~
  36778. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36779. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36780. | ^~
  36781. | |
  36782. | struct mm_struct *
  36783. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  36784. 29 | typedef int vm_fault_t;
  36785. | ^~~~~~~~~~
  36786. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  36787. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36788. | ~~~~~~~~~~~~~~^~~~~~~~
  36789. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  36790. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36791. | ^~~~~~~~
  36792. | |
  36793. | long unsigned int
  36794. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  36795. 2535 | unsigned int gup_flags, struct page **pages);
  36796. | ~~~~~~~~~~~~~~^~~~~
  36797. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  36798. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36799. | ^~~~~~~~~~~~~~ ~~~~~
  36800. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  36801. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  36802. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  36803. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  36804. from ././common/inc/nv-lock.h:35,
  36805. from ././common/inc/nv-linux.h:32:
  36806. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  36807. 1311 | typedef __bitwise unsigned int vm_fault_t;
  36808. | ^~~~~~~~~~
  36809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  36810. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36811. | ^~~~~~~~~~~~~~
  36812. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  36813. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  36814. 237 | return (unsigned long)(vmf->virtual_address);
  36815. | ^~~~~~~~~~~~~~~
  36816. | real_address
  36817. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  36818. from ././common/inc/nv-time.h:28:
  36819. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  36820. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  36821. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36822. 246 | down_read(&mm->mmap_sem);
  36823. | ^~~~~~~~
  36824. | mmap_base
  36825. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  36826. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36827. 255 | up_read(&mm->mmap_sem);
  36828. | ^~~~~~~~
  36829. | mmap_base
  36830. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36831. 52 | #define current get_current()
  36832. | ^~~~~~~~~~~~~
  36833. | |
  36834. | struct task_struct *
  36835. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  36836. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36837. | ^~~~~~~
  36838. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  36839. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36840. 264 | down_write(&mm->mmap_sem);
  36841. | ^~~~~~~~
  36842. | mmap_base
  36843. In file included from ././common/inc/nv-pgprot.h:30,
  36844. from ././common/inc/nv-linux.h:33:
  36845. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  36846. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36847. | ~~~~~~~~~~~~~~^~~~~
  36848. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  36849. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36850. 273 | up_write(&mm->mmap_sem);
  36851. | ^~~~~~~~
  36852. | mmap_base
  36853. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36854. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36855. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  36856. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36857. 282 | return rwsem_is_locked(&mm->mmap_sem);
  36858. | ^~~~~~~~
  36859. | mmap_base
  36860. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  36861. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36862. | ~~~~~~~~~~~~~~^~~~~~~~
  36863. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  36864. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36865. 291 | return &mm->mmap_sem;
  36866. | ^~~~~~~~
  36867. | mmap_base
  36868. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  36869. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36870. | ^~~~~~~~
  36871. | |
  36872. | long unsigned int
  36873. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  36874. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  36875. 300 | vma->vm_flags |= flags;
  36876. | ^~
  36877. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  36878. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  36879. 309 | vma->vm_flags &= ~flags;
  36880. | ^~
  36881. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  36882. 2535 | unsigned int gup_flags, struct page **pages);
  36883. | ~~~~~~~~~~~~~~^~~~~
  36884. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  36885. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  36886. | ^~~~~~~~~~~~~~ ~~~~~
  36887. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  36888. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36889. | ^~~~~~~~~~~~~~
  36890. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  36891. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  36892. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  36893. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  36894. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  36895. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  36896. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36897. 8 | #define NULL ((void *)0)
  36898. | ^~~~~~~~~~~
  36899. | |
  36900. | void *
  36901. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  36902. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36903. | ^~~~
  36904. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  36905. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36906. | ~~~~~~~~~~~~~~^~~~~
  36907. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  36908. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36909. | ^~
  36910. | |
  36911. | struct mm_struct *
  36912. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  36913. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36914. | ~~~~~~~~~~~~~~^~~~~~~~
  36915. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  36916. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36917. | ^~~~~~~~
  36918. | |
  36919. | long unsigned int
  36920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  36921. 2535 | unsigned int gup_flags, struct page **pages);
  36922. | ~~~~~~~~~~~~~~^~~~~
  36923. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  36924. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  36925. | ^~~~~~~~~~~~~~ ~~~~~
  36926. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  36927. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  36928. | ^~~~~~~~~~~~~~
  36929. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  36930. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  36931. 237 | return (unsigned long)(vmf->virtual_address);
  36932. | ^~~~~~~~~~~~~~~
  36933. | real_address
  36934. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  36935. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36936. 246 | down_read(&mm->mmap_sem);
  36937. | ^~~~~~~~
  36938. | mmap_base
  36939. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  36940. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36941. 255 | up_read(&mm->mmap_sem);
  36942. | ^~~~~~~~
  36943. | mmap_base
  36944. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  36945. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36946. 264 | down_write(&mm->mmap_sem);
  36947. | ^~~~~~~~
  36948. | mmap_base
  36949. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  36950. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36951. 273 | up_write(&mm->mmap_sem);
  36952. | ^~~~~~~~
  36953. | mmap_base
  36954. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  36955. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36956. 282 | return rwsem_is_locked(&mm->mmap_sem);
  36957. | ^~~~~~~~
  36958. | mmap_base
  36959. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  36960. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  36961. 291 | return &mm->mmap_sem;
  36962. | ^~~~~~~~
  36963. | mmap_base
  36964. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  36965. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  36966. 300 | vma->vm_flags |= flags;
  36967. | ^~
  36968. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  36969. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  36970. 309 | vma->vm_flags &= ~flags;
  36971. | ^~
  36972. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  36973. 40 | struct timespec64 {
  36974. | ^~~~~~~~~~
  36975. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  36976. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  36977. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  36978. from ././common/inc/nv-time.h:29:
  36979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  36980. 13 | struct timespec64 {
  36981. | ^~~~~~~~~~
  36982. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36983. 77 | static inline struct timespec64 timespec64_add
  36984. | ^~~~~~~~~~~~~~
  36985. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36986. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  36987. | ^~~~~~~~~~~~~~
  36988. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  36989. 95 | static inline struct timespec64 timespec64_sub
  36990. | ^~~~~~~~~~~~~~
  36991. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  36992. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  36993. | ^~~~~~~~~~~~~~
  36994. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  36995. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  36996. | ^~~~~~~~~~~~~~~~
  36997. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  36998. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  36999. | ^~~~~~~~~~~~~~~~
  37000. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  37001. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  37002. 122 | ktime_get_raw_ts64(&ts);
  37003. | ^~~
  37004. | |
  37005. | struct timespec64 *
  37006. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  37007. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  37008. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  37009. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  37010. from ././common/inc/nv-time.h:30:
  37011. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  37012. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  37013. | ~~~~~~~~~~~~~~~~~~~^~
  37014. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  37015. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  37016. 185 | ktime_get_raw_ts64(&tm_aux);
  37017. | ^~~~~~~
  37018. | |
  37019. | struct timespec64 *
  37020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  37021. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  37022. | ~~~~~~~~~~~~~~~~~~~^~
  37023. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  37024. 221 | ktime_get_raw_ts64(&tm_aux);
  37025. | ^~~~~~~
  37026. | |
  37027. | struct timespec64 *
  37028. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  37029. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  37030. | ~~~~~~~~~~~~~~~~~~~^~
  37031. In file included from ././common/inc/nv-linux.h:34,
  37032. from nvidia-uvm/uvm_linux.h:40:
  37033. ././common/inc/nv-mm.h: At top level:
  37034. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  37035. 29 | typedef int vm_fault_t;
  37036. | ^~~~~~~~~~
  37037. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  37038. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  37039. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  37040. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  37041. from ././common/inc/nv-lock.h:35,
  37042. from ././common/inc/nv-linux.h:32:
  37043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  37044. 1311 | typedef __bitwise unsigned int vm_fault_t;
  37045. | ^~~~~~~~~~
  37046. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  37047. from ././common/inc/nv-time.h:28:
  37048. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  37049. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37050. 52 | #define current get_current()
  37051. | ^~~~~~~~~~~~~
  37052. | |
  37053. | struct task_struct *
  37054. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  37055. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37056. | ^~~~~~~
  37057. In file included from ././common/inc/nv-pgprot.h:30,
  37058. from ././common/inc/nv-linux.h:33:
  37059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  37060. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37061. | ~~~~~~~~~~~~~~^~~~~
  37062. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37063. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37064. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37065. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37066. | ~~~~~~~~~~~~~~^~~~~~~~
  37067. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37068. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37069. | ^~~~~~~~
  37070. | |
  37071. | long unsigned int
  37072. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37073. 2535 | unsigned int gup_flags, struct page **pages);
  37074. | ~~~~~~~~~~~~~~^~~~~
  37075. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37076. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37077. | ^~~~~~~~~~~~~~ ~~~~~
  37078. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37079. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37080. | ^~~~~~~~~~~~~~
  37081. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  37082. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  37083. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  37084. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  37085. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  37086. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  37087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37088. 8 | #define NULL ((void *)0)
  37089. | ^~~~~~~~~~~
  37090. | |
  37091. | void *
  37092. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  37093. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37094. | ^~~~
  37095. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  37096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  37097. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37098. | ~~~~~~~~~~~~~~^~~~~
  37099. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  37100. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  37101. | ^~~~~~~~~~~~~~~~~~~~~~~
  37102. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37103. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37104. | ^~
  37105. | |
  37106. | struct mm_struct *
  37107. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37108. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37109. | ~~~~~~~~~~~~~~^~~~~~~~
  37110. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37111. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37112. | ^~~~~~~~
  37113. | |
  37114. | long unsigned int
  37115. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  37116. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37117. 2535 | unsigned int gup_flags, struct page **pages);
  37118. | ~~~~~~~~~~~~~~^~~~~
  37119. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37120. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37121. | ^~~~~~~~~~~~~~ ~~~~~
  37122. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  37123. 520 | NV_MEMDBG_ADD(ptr, size);
  37124. | ^
  37125. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37126. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37127. | ^~~~~~~~~~~~~~
  37128. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  37129. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  37130. 237 | return (unsigned long)(vmf->virtual_address);
  37131. | ^~~~~~~~~~~~~~~
  37132. | real_address
  37133. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  37134. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37135. 246 | down_read(&mm->mmap_sem);
  37136. | ^~~~~~~~
  37137. | mmap_base
  37138. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  37139. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37140. 255 | up_read(&mm->mmap_sem);
  37141. | ^~~~~~~~
  37142. | mmap_base
  37143. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  37144. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37145. 264 | down_write(&mm->mmap_sem);
  37146. | ^~~~~~~~
  37147. | mmap_base
  37148. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  37149. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37150. 273 | up_write(&mm->mmap_sem);
  37151. | ^~~~~~~~
  37152. | mmap_base
  37153. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  37154. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37155. 282 | return rwsem_is_locked(&mm->mmap_sem);
  37156. | ^~~~~~~~
  37157. | mmap_base
  37158. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  37159. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37160. 291 | return &mm->mmap_sem;
  37161. | ^~~~~~~~
  37162. | mmap_base
  37163. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  37164. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  37165. 300 | vma->vm_flags |= flags;
  37166. | ^~
  37167. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  37168. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  37169. 309 | vma->vm_flags &= ~flags;
  37170. | ^~
  37171. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  37172. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  37173. 502 | NV_MEMDBG_ADD(ptr, size);
  37174. | ^
  37175. In file included from ././common/inc/nv-linux.h:34,
  37176. from nvidia-uvm/uvm_linux.h:40:
  37177. ././common/inc/nv-mm.h: At top level:
  37178. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  37179. 29 | typedef int vm_fault_t;
  37180. | ^~~~~~~~~~
  37181. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  37182. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  37183. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  37184. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  37185. from ././common/inc/nv-lock.h:35,
  37186. from ././common/inc/nv-linux.h:32:
  37187. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  37188. 1311 | typedef __bitwise unsigned int vm_fault_t;
  37189. | ^~~~~~~~~~
  37190. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  37191. from ././common/inc/nv-time.h:28:
  37192. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  37193. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37194. 52 | #define current get_current()
  37195. | ^~~~~~~~~~~~~
  37196. | |
  37197. | struct task_struct *
  37198. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  37199. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37200. | ^~~~~~~
  37201. In file included from ././common/inc/nv-pgprot.h:30,
  37202. from ././common/inc/nv-linux.h:33:
  37203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  37204. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37205. | ~~~~~~~~~~~~~~^~~~~
  37206. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37207. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37208. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37209. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37210. | ~~~~~~~~~~~~~~^~~~~~~~
  37211. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37212. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37213. | ^~~~~~~~
  37214. | |
  37215. | long unsigned int
  37216. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37217. 2535 | unsigned int gup_flags, struct page **pages);
  37218. | ~~~~~~~~~~~~~~^~~~~
  37219. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37220. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37221. | ^~~~~~~~~~~~~~ ~~~~~
  37222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37223. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37224. | ^~~~~~~~~~~~~~
  37225. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  37226. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  37227. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  37228. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  37229. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  37230. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  37231. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37232. 8 | #define NULL ((void *)0)
  37233. | ^~~~~~~~~~~
  37234. | |
  37235. | void *
  37236. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  37237. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37238. | ^~~~
  37239. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  37240. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37241. | ~~~~~~~~~~~~~~^~~~~
  37242. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37243. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37244. | ^~
  37245. | |
  37246. | struct mm_struct *
  37247. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37248. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37249. | ~~~~~~~~~~~~~~^~~~~~~~
  37250. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37251. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37252. | ^~~~~~~~
  37253. | |
  37254. | long unsigned int
  37255. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37256. 2535 | unsigned int gup_flags, struct page **pages);
  37257. | ~~~~~~~~~~~~~~^~~~~
  37258. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37259. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37260. | ^~~~~~~~~~~~~~ ~~~~~
  37261. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37262. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37263. | ^~~~~~~~~~~~~~
  37264. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  37265. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  37266. 237 | return (unsigned long)(vmf->virtual_address);
  37267. | ^~~~~~~~~~~~~~~
  37268. | real_address
  37269. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  37270. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37271. 246 | down_read(&mm->mmap_sem);
  37272. | ^~~~~~~~
  37273. | mmap_base
  37274. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  37275. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37276. 255 | up_read(&mm->mmap_sem);
  37277. | ^~~~~~~~
  37278. | mmap_base
  37279. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  37280. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37281. 264 | down_write(&mm->mmap_sem);
  37282. | ^~~~~~~~
  37283. | mmap_base
  37284. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  37285. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37286. 273 | up_write(&mm->mmap_sem);
  37287. | ^~~~~~~~
  37288. | mmap_base
  37289. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  37290. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37291. 282 | return rwsem_is_locked(&mm->mmap_sem);
  37292. | ^~~~~~~~
  37293. | mmap_base
  37294. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  37295. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37296. 291 | return &mm->mmap_sem;
  37297. | ^~~~~~~~
  37298. | mmap_base
  37299. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  37300. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  37301. 300 | vma->vm_flags |= flags;
  37302. | ^~
  37303. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  37304. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  37305. 309 | vma->vm_flags &= ~flags;
  37306. | ^~
  37307. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  37308. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  37309. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  37310. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  37311. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  37312. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  37313. | ^
  37314. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  37315. 573 | NV_MEMDBG_ADD(ptr, size);
  37316. | ^
  37317. ././common/inc/nv-linux.h: In function 'nv_vmap':
  37318. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  37319. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  37320. | ^
  37321. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  37322. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  37323. 736 | return phys_to_dma(dev, pa);
  37324. | ^~~~~~~~~~~
  37325. | nv_phys_to_dma
  37326. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  37327. 40 | struct timespec64 {
  37328. | ^~~~~~~~~~
  37329. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  37330. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  37331. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  37332. from ././common/inc/nv-time.h:29:
  37333. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  37334. 13 | struct timespec64 {
  37335. | ^~~~~~~~~~
  37336. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  37337. 77 | static inline struct timespec64 timespec64_add
  37338. | ^~~~~~~~~~~~~~
  37339. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  37340. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  37341. | ^~~~~~~~~~~~~~
  37342. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  37343. 95 | static inline struct timespec64 timespec64_sub
  37344. | ^~~~~~~~~~~~~~
  37345. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  37346. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  37347. | ^~~~~~~~~~~~~~
  37348. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  37349. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  37350. | ^~~~~~~~~~~~~~~~
  37351. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  37352. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  37353. | ^~~~~~~~~~~~~~~~
  37354. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  37355. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  37356. 122 | ktime_get_raw_ts64(&ts);
  37357. | ^~~
  37358. | |
  37359. | struct timespec64 *
  37360. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  37361. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  37362. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  37363. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  37364. from ././common/inc/nv-time.h:30:
  37365. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  37366. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  37367. | ~~~~~~~~~~~~~~~~~~~^~
  37368. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  37369. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  37370. 185 | ktime_get_raw_ts64(&tm_aux);
  37371. | ^~~~~~~
  37372. | |
  37373. | struct timespec64 *
  37374. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  37375. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  37376. | ~~~~~~~~~~~~~~~~~~~^~
  37377. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  37378. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  37379. 533 | ptr = ioremap_cache_shared(phys, size);
  37380. | ^~~~~~~~~~~~~~~~~~~~
  37381. | ioremap_cache
  37382. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  37383. 533 | ptr = ioremap_cache_shared(phys, size);
  37384. | ^
  37385. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  37386. 221 | ktime_get_raw_ts64(&tm_aux);
  37387. | ^~~~~~~
  37388. | |
  37389. | struct timespec64 *
  37390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  37391. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  37392. | ~~~~~~~~~~~~~~~~~~~^~
  37393. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  37394. 556 | NV_MEMDBG_ADD(ptr, size);
  37395. | ^
  37396. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  37397. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  37398. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  37399. | ^~~~~~~~~~~~~
  37400. | d_is_dir
  37401. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  37402. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  37403. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  37404. | ^~~~~~~~~~~~~~~~~~~~~~~
  37405. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  37406. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  37407. 520 | NV_MEMDBG_ADD(ptr, size);
  37408. | ^
  37409. In file included from ././common/inc/nv-linux.h:34,
  37410. from nvidia-uvm/uvm_linux.h:40:
  37411. ././common/inc/nv-mm.h: At top level:
  37412. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  37413. 29 | typedef int vm_fault_t;
  37414. | ^~~~~~~~~~
  37415. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  37416. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  37417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  37418. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  37419. from ././common/inc/nv-lock.h:35,
  37420. from ././common/inc/nv-linux.h:32:
  37421. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  37422. 1311 | typedef __bitwise unsigned int vm_fault_t;
  37423. | ^~~~~~~~~~
  37424. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  37425. from ././common/inc/nv-time.h:28:
  37426. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  37427. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37428. 52 | #define current get_current()
  37429. | ^~~~~~~~~~~~~
  37430. | |
  37431. | struct task_struct *
  37432. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  37433. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37434. | ^~~~~~~
  37435. In file included from ././common/inc/nv-pgprot.h:30,
  37436. from ././common/inc/nv-linux.h:33:
  37437. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  37438. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37439. | ~~~~~~~~~~~~~~^~~~~
  37440. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37441. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37443. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37444. | ~~~~~~~~~~~~~~^~~~~~~~
  37445. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37446. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37447. | ^~~~~~~~
  37448. | |
  37449. | long unsigned int
  37450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37451. 2535 | unsigned int gup_flags, struct page **pages);
  37452. | ~~~~~~~~~~~~~~^~~~~
  37453. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37454. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37455. | ^~~~~~~~~~~~~~ ~~~~~
  37456. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37457. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37458. | ^~~~~~~~~~~~~~
  37459. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  37460. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  37461. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  37462. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  37463. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  37464. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  37465. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  37466. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/atomic.h:5,
  37467. from nvidia-uvm/uvm_push_test.c:24:
  37468. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  37469. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37470. 8 | #define NULL ((void *)0)
  37471. | ^~~~~~~~~~~
  37472. | |
  37473. | void *
  37474. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  37475. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37476. | ^~~~
  37477. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  37478. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37479. | ~~~~~~~~~~~~~~^~~~~
  37480. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37481. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37482. | ^~
  37483. | |
  37484. | struct mm_struct *
  37485. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37486. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37487. | ~~~~~~~~~~~~~~^~~~~~~~
  37488. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37489. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37490. | ^~~~~~~~
  37491. | |
  37492. | long unsigned int
  37493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37494. 2535 | unsigned int gup_flags, struct page **pages);
  37495. | ~~~~~~~~~~~~~~^~~~~
  37496. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37497. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37498. | ^~~~~~~~~~~~~~ ~~~~~
  37499. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37500. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37501. | ^~~~~~~~~~~~~~
  37502. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  37503. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  37504. 237 | return (unsigned long)(vmf->virtual_address);
  37505. | ^~~~~~~~~~~~~~~
  37506. | real_address
  37507. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  37508. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37509. 246 | down_read(&mm->mmap_sem);
  37510. | ^~~~~~~~
  37511. | mmap_base
  37512. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  37513. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37514. 255 | up_read(&mm->mmap_sem);
  37515. | ^~~~~~~~
  37516. | mmap_base
  37517. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  37518. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37519. 264 | down_write(&mm->mmap_sem);
  37520. | ^~~~~~~~
  37521. | mmap_base
  37522. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  37523. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37524. 273 | up_write(&mm->mmap_sem);
  37525. | ^~~~~~~~
  37526. | mmap_base
  37527. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  37528. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37529. 282 | return rwsem_is_locked(&mm->mmap_sem);
  37530. | ^~~~~~~~
  37531. | mmap_base
  37532. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  37533. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37534. 291 | return &mm->mmap_sem;
  37535. | ^~~~~~~~
  37536. | mmap_base
  37537. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  37538. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  37539. 300 | vma->vm_flags |= flags;
  37540. | ^~
  37541. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  37542. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  37543. 309 | vma->vm_flags &= ~flags;
  37544. | ^~
  37545. In file included from ././common/inc/nv-linux.h:34,
  37546. from nvidia-uvm/uvm_linux.h:40:
  37547. ././common/inc/nv-mm.h: At top level:
  37548. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  37549. 29 | typedef int vm_fault_t;
  37550. | ^~~~~~~~~~
  37551. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  37552. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  37553. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  37554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  37555. from ././common/inc/nv-lock.h:35,
  37556. from ././common/inc/nv-linux.h:32:
  37557. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  37558. 1311 | typedef __bitwise unsigned int vm_fault_t;
  37559. | ^~~~~~~~~~
  37560. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  37561. from ././common/inc/nv-time.h:28:
  37562. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  37563. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37564. 52 | #define current get_current()
  37565. | ^~~~~~~~~~~~~
  37566. | |
  37567. | struct task_struct *
  37568. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  37569. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37570. | ^~~~~~~
  37571. In file included from ././common/inc/nv-pgprot.h:30,
  37572. from ././common/inc/nv-linux.h:33:
  37573. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  37574. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37575. | ~~~~~~~~~~~~~~^~~~~
  37576. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37577. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37578. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37579. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37580. | ~~~~~~~~~~~~~~^~~~~~~~
  37581. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37582. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37583. | ^~~~~~~~
  37584. | |
  37585. | long unsigned int
  37586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37587. 2535 | unsigned int gup_flags, struct page **pages);
  37588. | ~~~~~~~~~~~~~~^~~~~
  37589. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37590. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37591. | ^~~~~~~~~~~~~~ ~~~~~
  37592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37593. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37594. | ^~~~~~~~~~~~~~
  37595. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  37596. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  37597. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  37598. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  37599. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  37600. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  37601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37602. 8 | #define NULL ((void *)0)
  37603. | ^~~~~~~~~~~
  37604. | |
  37605. | void *
  37606. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  37607. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37608. | ^~~~
  37609. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  37610. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37611. | ~~~~~~~~~~~~~~^~~~~
  37612. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37613. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37614. | ^~
  37615. | |
  37616. | struct mm_struct *
  37617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37618. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37619. | ~~~~~~~~~~~~~~^~~~~~~~
  37620. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37621. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37622. | ^~~~~~~~
  37623. | |
  37624. | long unsigned int
  37625. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37626. 2535 | unsigned int gup_flags, struct page **pages);
  37627. | ~~~~~~~~~~~~~~^~~~~
  37628. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37629. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37630. | ^~~~~~~~~~~~~~ ~~~~~
  37631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37632. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37633. | ^~~~~~~~~~~~~~
  37634. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  37635. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  37636. 237 | return (unsigned long)(vmf->virtual_address);
  37637. | ^~~~~~~~~~~~~~~
  37638. | real_address
  37639. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  37640. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37641. 246 | down_read(&mm->mmap_sem);
  37642. | ^~~~~~~~
  37643. | mmap_base
  37644. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  37645. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37646. 255 | up_read(&mm->mmap_sem);
  37647. | ^~~~~~~~
  37648. | mmap_base
  37649. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  37650. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37651. 264 | down_write(&mm->mmap_sem);
  37652. | ^~~~~~~~
  37653. | mmap_base
  37654. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  37655. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37656. 273 | up_write(&mm->mmap_sem);
  37657. | ^~~~~~~~
  37658. | mmap_base
  37659. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  37660. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37661. 282 | return rwsem_is_locked(&mm->mmap_sem);
  37662. | ^~~~~~~~
  37663. | mmap_base
  37664. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  37665. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37666. 291 | return &mm->mmap_sem;
  37667. | ^~~~~~~~
  37668. | mmap_base
  37669. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  37670. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  37671. 300 | vma->vm_flags |= flags;
  37672. | ^~
  37673. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  37674. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  37675. 309 | vma->vm_flags &= ~flags;
  37676. | ^~
  37677. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  37678. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  37679. 287 | ktime_get_raw_ts64(&tm);
  37680. | ^~~
  37681. | |
  37682. | struct timespec64 *
  37683. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  37684. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  37685. | ~~~~~~~~~~~~~~~~~~~^~
  37686. nvidia-uvm/uvm_linux.h: At top level:
  37687. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  37688. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  37689. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  37690. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  37691. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  37692. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  37693. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  37694. 449 | #error "Unknown number of arguments"
  37695. | ^~~~~
  37696. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  37697. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  37698. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  37699. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  37700. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  37701. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  37702. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  37703. 485 | #error "Unknown number of arguments"
  37704. | ^~~~~
  37705. In file included from ././common/inc/nv-linux.h:34,
  37706. from nvidia-uvm/uvm_linux.h:40:
  37707. ././common/inc/nv-mm.h: At top level:
  37708. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  37709. 29 | typedef int vm_fault_t;
  37710. | ^~~~~~~~~~
  37711. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  37712. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  37713. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  37714. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  37715. from ././common/inc/nv-lock.h:35,
  37716. from ././common/inc/nv-linux.h:32:
  37717. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  37718. 1311 | typedef __bitwise unsigned int vm_fault_t;
  37719. | ^~~~~~~~~~
  37720. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  37721. from ././common/inc/nv-time.h:28:
  37722. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  37723. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37724. 52 | #define current get_current()
  37725. | ^~~~~~~~~~~~~
  37726. | |
  37727. | struct task_struct *
  37728. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  37729. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37730. | ^~~~~~~
  37731. In file included from ././common/inc/nv-pgprot.h:30,
  37732. from ././common/inc/nv-linux.h:33:
  37733. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  37734. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37735. | ~~~~~~~~~~~~~~^~~~~
  37736. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37737. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37738. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37739. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37740. | ~~~~~~~~~~~~~~^~~~~~~~
  37741. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37742. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37743. | ^~~~~~~~
  37744. | |
  37745. | long unsigned int
  37746. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37747. 2535 | unsigned int gup_flags, struct page **pages);
  37748. | ~~~~~~~~~~~~~~^~~~~
  37749. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37750. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37751. | ^~~~~~~~~~~~~~ ~~~~~
  37752. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37753. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37754. | ^~~~~~~~~~~~~~
  37755. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  37756. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  37757. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  37758. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  37759. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  37760. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  37761. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37762. 8 | #define NULL ((void *)0)
  37763. | ^~~~~~~~~~~
  37764. | |
  37765. | void *
  37766. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  37767. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37768. | ^~~~
  37769. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  37770. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37771. | ~~~~~~~~~~~~~~^~~~~
  37772. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37773. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37774. | ^~
  37775. | |
  37776. | struct mm_struct *
  37777. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37778. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37779. | ~~~~~~~~~~~~~~^~~~~~~~
  37780. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37781. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37782. | ^~~~~~~~
  37783. | |
  37784. | long unsigned int
  37785. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37786. 2535 | unsigned int gup_flags, struct page **pages);
  37787. | ~~~~~~~~~~~~~~^~~~~
  37788. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37789. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37790. | ^~~~~~~~~~~~~~ ~~~~~
  37791. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37792. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37793. | ^~~~~~~~~~~~~~
  37794. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  37795. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  37796. 237 | return (unsigned long)(vmf->virtual_address);
  37797. | ^~~~~~~~~~~~~~~
  37798. | real_address
  37799. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  37800. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37801. 246 | down_read(&mm->mmap_sem);
  37802. | ^~~~~~~~
  37803. | mmap_base
  37804. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  37805. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37806. 255 | up_read(&mm->mmap_sem);
  37807. | ^~~~~~~~
  37808. | mmap_base
  37809. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  37810. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37811. 264 | down_write(&mm->mmap_sem);
  37812. | ^~~~~~~~
  37813. | mmap_base
  37814. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  37815. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37816. 273 | up_write(&mm->mmap_sem);
  37817. | ^~~~~~~~
  37818. | mmap_base
  37819. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  37820. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37821. 282 | return rwsem_is_locked(&mm->mmap_sem);
  37822. | ^~~~~~~~
  37823. | mmap_base
  37824. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  37825. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37826. 291 | return &mm->mmap_sem;
  37827. | ^~~~~~~~
  37828. | mmap_base
  37829. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  37830. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  37831. 300 | vma->vm_flags |= flags;
  37832. | ^~
  37833. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  37834. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  37835. 309 | vma->vm_flags &= ~flags;
  37836. | ^~
  37837. In file included from ././common/inc/nv-linux.h:34,
  37838. from nvidia-uvm/uvm_linux.h:40:
  37839. ././common/inc/nv-mm.h: At top level:
  37840. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  37841. 29 | typedef int vm_fault_t;
  37842. | ^~~~~~~~~~
  37843. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  37844. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  37845. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  37846. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  37847. from ././common/inc/nv-lock.h:35,
  37848. from ././common/inc/nv-linux.h:32:
  37849. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  37850. 1311 | typedef __bitwise unsigned int vm_fault_t;
  37851. | ^~~~~~~~~~
  37852. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  37853. from ././common/inc/nv-time.h:28:
  37854. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  37855. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37856. 52 | #define current get_current()
  37857. | ^~~~~~~~~~~~~
  37858. | |
  37859. | struct task_struct *
  37860. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  37861. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37862. | ^~~~~~~
  37863. In file included from ././common/inc/nv-pgprot.h:30,
  37864. from ././common/inc/nv-linux.h:33:
  37865. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  37866. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37867. | ~~~~~~~~~~~~~~^~~~~
  37868. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37869. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37870. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37871. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37872. | ~~~~~~~~~~~~~~^~~~~~~~
  37873. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37874. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37875. | ^~~~~~~~
  37876. | |
  37877. | long unsigned int
  37878. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37879. 2535 | unsigned int gup_flags, struct page **pages);
  37880. | ~~~~~~~~~~~~~~^~~~~
  37881. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37882. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  37883. | ^~~~~~~~~~~~~~ ~~~~~
  37884. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37885. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37886. | ^~~~~~~~~~~~~~
  37887. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  37888. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  37889. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  37890. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  37891. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  37892. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  37893. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37894. 8 | #define NULL ((void *)0)
  37895. | ^~~~~~~~~~~
  37896. | |
  37897. | void *
  37898. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  37899. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37900. | ^~~~
  37901. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  37902. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37903. | ~~~~~~~~~~~~~~^~~~~
  37904. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  37905. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37906. | ^~
  37907. | |
  37908. | struct mm_struct *
  37909. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  37910. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37911. | ~~~~~~~~~~~~~~^~~~~~~~
  37912. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  37913. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37914. | ^~~~~~~~
  37915. | |
  37916. | long unsigned int
  37917. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  37918. 2535 | unsigned int gup_flags, struct page **pages);
  37919. | ~~~~~~~~~~~~~~^~~~~
  37920. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  37921. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  37922. | ^~~~~~~~~~~~~~ ~~~~~
  37923. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  37924. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  37925. | ^~~~~~~~~~~~~~
  37926. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  37927. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  37928. 237 | return (unsigned long)(vmf->virtual_address);
  37929. | ^~~~~~~~~~~~~~~
  37930. | real_address
  37931. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  37932. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37933. 246 | down_read(&mm->mmap_sem);
  37934. | ^~~~~~~~
  37935. | mmap_base
  37936. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  37937. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37938. 255 | up_read(&mm->mmap_sem);
  37939. | ^~~~~~~~
  37940. | mmap_base
  37941. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  37942. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37943. 264 | down_write(&mm->mmap_sem);
  37944. | ^~~~~~~~
  37945. | mmap_base
  37946. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  37947. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37948. 273 | up_write(&mm->mmap_sem);
  37949. | ^~~~~~~~
  37950. | mmap_base
  37951. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  37952. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37953. 282 | return rwsem_is_locked(&mm->mmap_sem);
  37954. | ^~~~~~~~
  37955. | mmap_base
  37956. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  37957. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  37958. 291 | return &mm->mmap_sem;
  37959. | ^~~~~~~~
  37960. | mmap_base
  37961. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  37962. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  37963. 300 | vma->vm_flags |= flags;
  37964. | ^~
  37965. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  37966. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  37967. 309 | vma->vm_flags &= ~flags;
  37968. | ^~
  37969. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  37970. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  37971. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  37972. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  37973. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  37974. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  37975. | ^
  37976. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  37977. 573 | NV_MEMDBG_ADD(ptr, size);
  37978. | ^
  37979. ././common/inc/nv-linux.h: In function 'nv_vmap':
  37980. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  37981. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  37982. | ^
  37983. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  37984. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  37985. 736 | return phys_to_dma(dev, pa);
  37986. | ^~~~~~~~~~~
  37987. | nv_phys_to_dma
  37988. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  37989. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  37990. 502 | NV_MEMDBG_ADD(ptr, size);
  37991. | ^
  37992. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  37993. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  37994. 533 | ptr = ioremap_cache_shared(phys, size);
  37995. | ^~~~~~~~~~~~~~~~~~~~
  37996. | ioremap_cache
  37997. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  37998. 533 | ptr = ioremap_cache_shared(phys, size);
  37999. | ^
  38000. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38001. 556 | NV_MEMDBG_ADD(ptr, size);
  38002. | ^
  38003. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  38004. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  38005. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  38006. | ^~~~~~~~~~~~~
  38007. | d_is_dir
  38008. In file included from nvidia-uvm/uvm_api.h:31:
  38009. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  38010. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  38011. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  38012. | ^~~~~~~~~~~~~~~~~~~~
  38013. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  38014. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38015. 502 | NV_MEMDBG_ADD(ptr, size);
  38016. | ^
  38017. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  38018. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  38019. 287 | ktime_get_raw_ts64(&tm);
  38020. | ^~~
  38021. | |
  38022. | struct timespec64 *
  38023. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  38024. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  38025. | ~~~~~~~~~~~~~~~~~~~^~
  38026. nvidia-uvm/uvm_linux.h: At top level:
  38027. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38028. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  38029. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38030. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38031. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  38032. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38033. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  38034. 449 | #error "Unknown number of arguments"
  38035. | ^~~~~
  38036. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38037. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  38038. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38039. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38040. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  38041. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38042. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  38043. 485 | #error "Unknown number of arguments"
  38044. | ^~~~~
  38045. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  38046. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38047. 502 | NV_MEMDBG_ADD(ptr, size);
  38048. | ^
  38049. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38050. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38051. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38052. | ^~~~~~~~~~~~~~~~~~~~~~~
  38053. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38054. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38055. 520 | NV_MEMDBG_ADD(ptr, size);
  38056. | ^
  38057. In file included from ././common/inc/nv-linux.h:34,
  38058. from nvidia-uvm/uvm_linux.h:40:
  38059. ././common/inc/nv-mm.h: At top level:
  38060. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  38061. 29 | typedef int vm_fault_t;
  38062. | ^~~~~~~~~~
  38063. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  38064. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  38065. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  38066. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  38067. from ././common/inc/nv-lock.h:35,
  38068. from ././common/inc/nv-linux.h:32:
  38069. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  38070. 1311 | typedef __bitwise unsigned int vm_fault_t;
  38071. | ^~~~~~~~~~
  38072. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  38073. from ././common/inc/nv-time.h:28:
  38074. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  38075. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38076. 52 | #define current get_current()
  38077. | ^~~~~~~~~~~~~
  38078. | |
  38079. | struct task_struct *
  38080. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  38081. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38082. | ^~~~~~~
  38083. In file included from ././common/inc/nv-pgprot.h:30,
  38084. from ././common/inc/nv-linux.h:33:
  38085. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  38086. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38087. | ~~~~~~~~~~~~~~^~~~~
  38088. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38089. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38090. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  38091. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38092. | ~~~~~~~~~~~~~~^~~~~~~~
  38093. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  38094. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38095. | ^~~~~~~~
  38096. | |
  38097. | long unsigned int
  38098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  38099. 2535 | unsigned int gup_flags, struct page **pages);
  38100. | ~~~~~~~~~~~~~~^~~~~
  38101. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  38102. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38103. | ^~~~~~~~~~~~~~ ~~~~~
  38104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  38105. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38106. | ^~~~~~~~~~~~~~
  38107. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  38108. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  38109. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  38110. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  38111. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  38112. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  38113. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38114. 8 | #define NULL ((void *)0)
  38115. | ^~~~~~~~~~~
  38116. | |
  38117. | void *
  38118. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  38119. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38120. | ^~~~
  38121. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  38122. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38123. | ~~~~~~~~~~~~~~^~~~~
  38124. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38125. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38126. | ^~
  38127. | |
  38128. | struct mm_struct *
  38129. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  38130. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38131. | ~~~~~~~~~~~~~~^~~~~~~~
  38132. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  38133. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38134. | ^~~~~~~~
  38135. | |
  38136. | long unsigned int
  38137. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  38138. 2535 | unsigned int gup_flags, struct page **pages);
  38139. | ~~~~~~~~~~~~~~^~~~~
  38140. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  38141. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38142. | ^~~~~~~~~~~~~~ ~~~~~
  38143. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  38144. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38145. | ^~~~~~~~~~~~~~
  38146. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  38147. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  38148. 237 | return (unsigned long)(vmf->virtual_address);
  38149. | ^~~~~~~~~~~~~~~
  38150. | real_address
  38151. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  38152. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38153. 246 | down_read(&mm->mmap_sem);
  38154. | ^~~~~~~~
  38155. | mmap_base
  38156. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  38157. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38158. 255 | up_read(&mm->mmap_sem);
  38159. | ^~~~~~~~
  38160. | mmap_base
  38161. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  38162. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38163. 264 | down_write(&mm->mmap_sem);
  38164. | ^~~~~~~~
  38165. | mmap_base
  38166. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  38167. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38168. 273 | up_write(&mm->mmap_sem);
  38169. | ^~~~~~~~
  38170. | mmap_base
  38171. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  38172. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38173. 282 | return rwsem_is_locked(&mm->mmap_sem);
  38174. | ^~~~~~~~
  38175. | mmap_base
  38176. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  38177. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38178. 291 | return &mm->mmap_sem;
  38179. | ^~~~~~~~
  38180. | mmap_base
  38181. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  38182. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  38183. 300 | vma->vm_flags |= flags;
  38184. | ^~
  38185. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  38186. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  38187. 309 | vma->vm_flags &= ~flags;
  38188. | ^~
  38189. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  38190. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38191. 502 | NV_MEMDBG_ADD(ptr, size);
  38192. | ^
  38193. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  38194. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  38195. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38196. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  38197. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38198. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38199. | ^
  38200. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38201. 573 | NV_MEMDBG_ADD(ptr, size);
  38202. | ^
  38203. ././common/inc/nv-linux.h: In function 'nv_vmap':
  38204. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38205. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  38206. | ^
  38207. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  38208. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38209. 502 | NV_MEMDBG_ADD(ptr, size);
  38210. | ^
  38211. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38212. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38213. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38214. | ^~~~~~~~~~~~~~~~~~~~~~~
  38215. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38216. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38217. 520 | NV_MEMDBG_ADD(ptr, size);
  38218. | ^
  38219. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  38220. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  38221. 736 | return phys_to_dma(dev, pa);
  38222. | ^~~~~~~~~~~
  38223. | nv_phys_to_dma
  38224. In file included from nvidia-uvm/uvm_api.h:31:
  38225. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  38226. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  38227. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  38228. | ^~~~~~~~~~~~~~~~~~~~
  38229. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38230. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38231. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38232. | ^~~~~~~~~~~~~~~~~~~~~~~
  38233. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38234. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38235. 520 | NV_MEMDBG_ADD(ptr, size);
  38236. | ^
  38237. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  38238. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  38239. 533 | ptr = ioremap_cache_shared(phys, size);
  38240. | ^~~~~~~~~~~~~~~~~~~~
  38241. | ioremap_cache
  38242. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38243. 533 | ptr = ioremap_cache_shared(phys, size);
  38244. | ^
  38245. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38246. 556 | NV_MEMDBG_ADD(ptr, size);
  38247. | ^
  38248. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  38249. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  38250. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  38251. | ^~~~~~~~~~~~~
  38252. | d_is_dir
  38253. In file included from ././common/inc/nv-linux.h:34,
  38254. from nvidia-uvm/uvm_linux.h:40:
  38255. ././common/inc/nv-mm.h: At top level:
  38256. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  38257. 29 | typedef int vm_fault_t;
  38258. | ^~~~~~~~~~
  38259. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  38260. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  38261. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  38262. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  38263. from ././common/inc/nv-lock.h:35,
  38264. from ././common/inc/nv-linux.h:32:
  38265. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  38266. 1311 | typedef __bitwise unsigned int vm_fault_t;
  38267. | ^~~~~~~~~~
  38268. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  38269. from ././common/inc/nv-time.h:28:
  38270. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  38271. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38272. 52 | #define current get_current()
  38273. | ^~~~~~~~~~~~~
  38274. | |
  38275. | struct task_struct *
  38276. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  38277. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38278. | ^~~~~~~
  38279. In file included from ././common/inc/nv-pgprot.h:30,
  38280. from ././common/inc/nv-linux.h:33:
  38281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  38282. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38283. | ~~~~~~~~~~~~~~^~~~~
  38284. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38285. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38286. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  38287. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38288. | ~~~~~~~~~~~~~~^~~~~~~~
  38289. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  38290. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38291. | ^~~~~~~~
  38292. | |
  38293. | long unsigned int
  38294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  38295. 2535 | unsigned int gup_flags, struct page **pages);
  38296. | ~~~~~~~~~~~~~~^~~~~
  38297. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  38298. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38299. | ^~~~~~~~~~~~~~ ~~~~~
  38300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  38301. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38302. | ^~~~~~~~~~~~~~
  38303. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  38304. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  38305. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  38306. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  38307. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  38308. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  38309. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38310. 8 | #define NULL ((void *)0)
  38311. | ^~~~~~~~~~~
  38312. | |
  38313. | void *
  38314. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  38315. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38316. | ^~~~
  38317. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  38318. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38319. | ~~~~~~~~~~~~~~^~~~~
  38320. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38321. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38322. | ^~
  38323. | |
  38324. | struct mm_struct *
  38325. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  38326. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38327. | ~~~~~~~~~~~~~~^~~~~~~~
  38328. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  38329. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38330. | ^~~~~~~~
  38331. | |
  38332. | long unsigned int
  38333. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  38334. 2535 | unsigned int gup_flags, struct page **pages);
  38335. | ~~~~~~~~~~~~~~^~~~~
  38336. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  38337. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38338. | ^~~~~~~~~~~~~~ ~~~~~
  38339. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  38340. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38341. | ^~~~~~~~~~~~~~
  38342. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  38343. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  38344. 237 | return (unsigned long)(vmf->virtual_address);
  38345. | ^~~~~~~~~~~~~~~
  38346. | real_address
  38347. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  38348. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38349. 246 | down_read(&mm->mmap_sem);
  38350. | ^~~~~~~~
  38351. | mmap_base
  38352. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  38353. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38354. 255 | up_read(&mm->mmap_sem);
  38355. | ^~~~~~~~
  38356. | mmap_base
  38357. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  38358. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38359. 264 | down_write(&mm->mmap_sem);
  38360. | ^~~~~~~~
  38361. | mmap_base
  38362. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  38363. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38364. 273 | up_write(&mm->mmap_sem);
  38365. | ^~~~~~~~
  38366. | mmap_base
  38367. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  38368. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38369. 282 | return rwsem_is_locked(&mm->mmap_sem);
  38370. | ^~~~~~~~
  38371. | mmap_base
  38372. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  38373. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38374. 291 | return &mm->mmap_sem;
  38375. | ^~~~~~~~
  38376. | mmap_base
  38377. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  38378. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  38379. 300 | vma->vm_flags |= flags;
  38380. | ^~
  38381. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  38382. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  38383. 309 | vma->vm_flags &= ~flags;
  38384. | ^~
  38385. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  38386. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38387. 502 | NV_MEMDBG_ADD(ptr, size);
  38388. | ^
  38389. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38390. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38391. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38392. | ^~~~~~~~~~~~~~~~~~~~~~~
  38393. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38394. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38395. 520 | NV_MEMDBG_ADD(ptr, size);
  38396. | ^
  38397. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  38398. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  38399. 533 | ptr = ioremap_cache_shared(phys, size);
  38400. | ^~~~~~~~~~~~~~~~~~~~
  38401. | ioremap_cache
  38402. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38403. 533 | ptr = ioremap_cache_shared(phys, size);
  38404. | ^
  38405. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38406. 556 | NV_MEMDBG_ADD(ptr, size);
  38407. | ^
  38408. cc1: some warnings being treated as errors
  38409. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  38410. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  38411. 287 | ktime_get_raw_ts64(&tm);
  38412. | ^~~
  38413. | |
  38414. | struct timespec64 *
  38415. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  38416. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  38417. | ~~~~~~~~~~~~~~~~~~~^~
  38418. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38419. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38420. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38421. | ^~~~~~~~~~~~~~~~~~~~~~~
  38422. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38423. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38424. 520 | NV_MEMDBG_ADD(ptr, size);
  38425. | ^
  38426. nvidia-uvm/uvm_linux.h: At top level:
  38427. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38428. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  38429. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38430. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38431. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  38432. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38433. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  38434. 449 | #error "Unknown number of arguments"
  38435. | ^~~~~
  38436. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  38437. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38438. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  38439. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38440. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38441. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  38442. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38443. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  38444. 485 | #error "Unknown number of arguments"
  38445. | ^~~~~
  38446. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38447. 502 | NV_MEMDBG_ADD(ptr, size);
  38448. | ^
  38449. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_faults.o] Error 1
  38450. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  38451. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38452. 502 | NV_MEMDBG_ADD(ptr, size);
  38453. | ^
  38454. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  38455. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  38456. 533 | ptr = ioremap_cache_shared(phys, size);
  38457. | ^~~~~~~~~~~~~~~~~~~~
  38458. | ioremap_cache
  38459. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38460. 533 | ptr = ioremap_cache_shared(phys, size);
  38461. | ^
  38462. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38463. 556 | NV_MEMDBG_ADD(ptr, size);
  38464. | ^
  38465. CC [M] nvidia-uvm/uvm_kvmalloc_test.o
  38466. In file included from ././common/inc/nv-linux.h:34,
  38467. from nvidia-uvm/uvm_linux.h:40:
  38468. ././common/inc/nv-mm.h: At top level:
  38469. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  38470. 29 | typedef int vm_fault_t;
  38471. | ^~~~~~~~~~
  38472. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  38473. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  38474. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  38475. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  38476. from ././common/inc/nv-lock.h:35,
  38477. from ././common/inc/nv-linux.h:32:
  38478. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  38479. 1311 | typedef __bitwise unsigned int vm_fault_t;
  38480. | ^~~~~~~~~~
  38481. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  38482. from ././common/inc/nv-time.h:28:
  38483. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  38484. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38485. 52 | #define current get_current()
  38486. | ^~~~~~~~~~~~~
  38487. | |
  38488. | struct task_struct *
  38489. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  38490. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38491. | ^~~~~~~
  38492. In file included from ././common/inc/nv-pgprot.h:30,
  38493. from ././common/inc/nv-linux.h:33:
  38494. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  38495. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38496. | ~~~~~~~~~~~~~~^~~~~
  38497. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38498. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38499. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  38500. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38501. | ~~~~~~~~~~~~~~^~~~~~~~
  38502. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  38503. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38504. | ^~~~~~~~
  38505. | |
  38506. | long unsigned int
  38507. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  38508. 2535 | unsigned int gup_flags, struct page **pages);
  38509. | ~~~~~~~~~~~~~~^~~~~
  38510. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  38511. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  38512. | ^~~~~~~~~~~~~~ ~~~~~
  38513. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  38514. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38515. | ^~~~~~~~~~~~~~
  38516. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  38517. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  38518. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  38519. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  38520. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  38521. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  38522. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38523. 8 | #define NULL ((void *)0)
  38524. | ^~~~~~~~~~~
  38525. | |
  38526. | void *
  38527. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  38528. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38529. | ^~~~
  38530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  38531. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38532. | ~~~~~~~~~~~~~~^~~~~
  38533. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  38534. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38535. | ^~
  38536. | |
  38537. | struct mm_struct *
  38538. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  38539. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38540. | ~~~~~~~~~~~~~~^~~~~~~~
  38541. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  38542. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38543. | ^~~~~~~~
  38544. | |
  38545. | long unsigned int
  38546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  38547. 2535 | unsigned int gup_flags, struct page **pages);
  38548. | ~~~~~~~~~~~~~~^~~~~
  38549. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  38550. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  38551. | ^~~~~~~~~~~~~~ ~~~~~
  38552. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  38553. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  38554. | ^~~~~~~~~~~~~~
  38555. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  38556. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  38557. 237 | return (unsigned long)(vmf->virtual_address);
  38558. | ^~~~~~~~~~~~~~~
  38559. | real_address
  38560. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  38561. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38562. 246 | down_read(&mm->mmap_sem);
  38563. | ^~~~~~~~
  38564. | mmap_base
  38565. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  38566. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38567. 255 | up_read(&mm->mmap_sem);
  38568. | ^~~~~~~~
  38569. | mmap_base
  38570. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  38571. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38572. 264 | down_write(&mm->mmap_sem);
  38573. | ^~~~~~~~
  38574. | mmap_base
  38575. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  38576. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38577. 273 | up_write(&mm->mmap_sem);
  38578. | ^~~~~~~~
  38579. | mmap_base
  38580. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  38581. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38582. 282 | return rwsem_is_locked(&mm->mmap_sem);
  38583. | ^~~~~~~~
  38584. | mmap_base
  38585. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  38586. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  38587. 291 | return &mm->mmap_sem;
  38588. | ^~~~~~~~
  38589. | mmap_base
  38590. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  38591. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  38592. 300 | vma->vm_flags |= flags;
  38593. | ^~
  38594. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  38595. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  38596. 309 | vma->vm_flags &= ~flags;
  38597. | ^~
  38598. cc1: some warnings being treated as errors
  38599. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_test_rng.o] Error 1
  38600. CC [M] nvidia-uvm/uvm_pmm_test.o
  38601. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  38602. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  38603. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38604. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  38605. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38606. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38607. | ^
  38608. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38609. 573 | NV_MEMDBG_ADD(ptr, size);
  38610. | ^
  38611. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  38612. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38613. 502 | NV_MEMDBG_ADD(ptr, size);
  38614. | ^
  38615. ././common/inc/nv-linux.h: In function 'nv_vmap':
  38616. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38617. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  38618. | ^
  38619. In file included from ././common/inc/conftest.h:28,
  38620. from ././common/inc/nv-time.h:27,
  38621. from nvidia-uvm/uvm_linux.h:37,
  38622. from nvidia-uvm/uvm_common.h:43,
  38623. from nvidia-uvm/uvm_kvmalloc_test.c:24:
  38624. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  38625. 74 | #error dma_buf_export() conftest failed!
  38626. | ^~~~~
  38627. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  38628. 87 | #error wait_on_bit_lock() conftest failed!
  38629. | ^~~~~
  38630. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  38631. 90 | #error radix_tree_replace_slot() conftest failed!
  38632. | ^~~~~
  38633. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38634. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38635. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38636. | ^~~~~~~~~~~~~~~~~~~~~~~
  38637. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38638. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38639. 520 | NV_MEMDBG_ADD(ptr, size);
  38640. | ^
  38641. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  38642. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  38643. 533 | ptr = ioremap_cache_shared(phys, size);
  38644. | ^~~~~~~~~~~~~~~~~~~~
  38645. | ioremap_cache
  38646. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38647. 533 | ptr = ioremap_cache_shared(phys, size);
  38648. | ^
  38649. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38650. 556 | NV_MEMDBG_ADD(ptr, size);
  38651. | ^
  38652. In file included from ././common/inc/conftest.h:28,
  38653. from ././common/inc/nv-time.h:27,
  38654. from nvidia-uvm/uvm_linux.h:37,
  38655. from nvidia-uvm/uvm_common.h:43,
  38656. from nvidia-uvm/uvm_pmm_test.c:24:
  38657. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  38658. 74 | #error dma_buf_export() conftest failed!
  38659. | ^~~~~
  38660. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  38661. 87 | #error wait_on_bit_lock() conftest failed!
  38662. | ^~~~~
  38663. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  38664. 90 | #error radix_tree_replace_slot() conftest failed!
  38665. | ^~~~~
  38666. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  38667. 40 | struct timespec64 {
  38668. | ^~~~~~~~~~
  38669. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  38670. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  38671. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  38672. from ././common/inc/nv-time.h:29:
  38673. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  38674. 13 | struct timespec64 {
  38675. | ^~~~~~~~~~
  38676. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  38677. 77 | static inline struct timespec64 timespec64_add
  38678. | ^~~~~~~~~~~~~~
  38679. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  38680. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  38681. | ^~~~~~~~~~~~~~
  38682. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  38683. 95 | static inline struct timespec64 timespec64_sub
  38684. | ^~~~~~~~~~~~~~
  38685. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  38686. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  38687. | ^~~~~~~~~~~~~~
  38688. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  38689. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  38690. | ^~~~~~~~~~~~~~~~
  38691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  38692. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  38693. | ^~~~~~~~~~~~~~~~
  38694. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  38695. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  38696. 122 | ktime_get_raw_ts64(&ts);
  38697. | ^~~
  38698. | |
  38699. | struct timespec64 *
  38700. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  38701. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  38702. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  38703. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  38704. from ././common/inc/nv-time.h:30:
  38705. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  38706. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  38707. | ~~~~~~~~~~~~~~~~~~~^~
  38708. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  38709. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  38710. 533 | ptr = ioremap_cache_shared(phys, size);
  38711. | ^~~~~~~~~~~~~~~~~~~~
  38712. | ioremap_cache
  38713. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  38714. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  38715. 185 | ktime_get_raw_ts64(&tm_aux);
  38716. | ^~~~~~~
  38717. | |
  38718. | struct timespec64 *
  38719. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38720. 533 | ptr = ioremap_cache_shared(phys, size);
  38721. | ^
  38722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  38723. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  38724. | ~~~~~~~~~~~~~~~~~~~^~
  38725. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38726. 556 | NV_MEMDBG_ADD(ptr, size);
  38727. | ^
  38728. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  38729. 221 | ktime_get_raw_ts64(&tm_aux);
  38730. | ^~~~~~~
  38731. | |
  38732. | struct timespec64 *
  38733. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  38734. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  38735. | ~~~~~~~~~~~~~~~~~~~^~
  38736. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38737. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38738. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38739. | ^~~~~~~~~~~~~~~~~~~~~~~
  38740. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38741. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38742. 520 | NV_MEMDBG_ADD(ptr, size);
  38743. | ^
  38744. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  38745. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  38746. 736 | return phys_to_dma(dev, pa);
  38747. | ^~~~~~~~~~~
  38748. | nv_phys_to_dma
  38749. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38750. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38751. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38752. | ^~~~~~~~~~~~~~~~~~~~~~~
  38753. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38754. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38755. 520 | NV_MEMDBG_ADD(ptr, size);
  38756. | ^
  38757. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  38758. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  38759. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38760. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  38761. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38762. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38763. | ^
  38764. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38765. 573 | NV_MEMDBG_ADD(ptr, size);
  38766. | ^
  38767. ././common/inc/nv-linux.h: In function 'nv_vmap':
  38768. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38769. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  38770. | ^
  38771. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  38772. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  38773. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38774. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  38775. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38776. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38777. | ^
  38778. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38779. 573 | NV_MEMDBG_ADD(ptr, size);
  38780. | ^
  38781. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  38782. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  38783. 736 | return phys_to_dma(dev, pa);
  38784. | ^~~~~~~~~~~
  38785. | nv_phys_to_dma
  38786. ././common/inc/nv-linux.h: In function 'nv_vmap':
  38787. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38788. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  38789. | ^
  38790. cc1: some warnings being treated as errors
  38791. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  38792. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  38793. 736 | return phys_to_dma(dev, pa);
  38794. | ^~~~~~~~~~~
  38795. | nv_phys_to_dma
  38796. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  38797. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38798. 502 | NV_MEMDBG_ADD(ptr, size);
  38799. | ^
  38800. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  38801. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  38802. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  38803. | ^~~~~~~~~~~~~
  38804. | d_is_dir
  38805. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  38806. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  38807. 533 | ptr = ioremap_cache_shared(phys, size);
  38808. | ^~~~~~~~~~~~~~~~~~~~
  38809. | ioremap_cache
  38810. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38811. 533 | ptr = ioremap_cache_shared(phys, size);
  38812. | ^
  38813. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38814. 556 | NV_MEMDBG_ADD(ptr, size);
  38815. | ^
  38816. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_test.o] Error 1
  38817. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  38818. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  38819. 533 | ptr = ioremap_cache_shared(phys, size);
  38820. | ^~~~~~~~~~~~~~~~~~~~
  38821. | ioremap_cache
  38822. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38823. 533 | ptr = ioremap_cache_shared(phys, size);
  38824. | ^
  38825. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38826. 556 | NV_MEMDBG_ADD(ptr, size);
  38827. | ^
  38828. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38829. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38830. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38831. | ^~~~~~~~~~~~~~~~~~~~~~~
  38832. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38833. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38834. 520 | NV_MEMDBG_ADD(ptr, size);
  38835. | ^
  38836. CC [M] nvidia-uvm/uvm_pmm_sysmem_test.o
  38837. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  38838. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  38839. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  38840. | ^~~~~~~~~~~~~
  38841. | d_is_dir
  38842. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  38843. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  38844. 287 | ktime_get_raw_ts64(&tm);
  38845. | ^~~
  38846. | |
  38847. | struct timespec64 *
  38848. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  38849. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  38850. | ~~~~~~~~~~~~~~~~~~~^~
  38851. nvidia-uvm/uvm_linux.h: At top level:
  38852. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38853. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  38854. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38855. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38856. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  38857. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38858. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  38859. 449 | #error "Unknown number of arguments"
  38860. | ^~~~~
  38861. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38862. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  38863. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38864. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38865. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  38866. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38867. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  38868. 485 | #error "Unknown number of arguments"
  38869. | ^~~~~
  38870. In file included from ././common/inc/conftest.h:28,
  38871. from ././common/inc/nv-time.h:27,
  38872. from nvidia-uvm/uvm_linux.h:37,
  38873. from nvidia-uvm/uvm_test.h:27,
  38874. from nvidia-uvm/uvm_pmm_sysmem_test.c:24:
  38875. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  38876. 74 | #error dma_buf_export() conftest failed!
  38877. | ^~~~~
  38878. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  38879. 87 | #error wait_on_bit_lock() conftest failed!
  38880. | ^~~~~
  38881. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  38882. 90 | #error radix_tree_replace_slot() conftest failed!
  38883. | ^~~~~
  38884. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  38885. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  38886. 533 | ptr = ioremap_cache_shared(phys, size);
  38887. | ^~~~~~~~~~~~~~~~~~~~
  38888. | ioremap_cache
  38889. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38890. 533 | ptr = ioremap_cache_shared(phys, size);
  38891. | ^
  38892. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38893. 556 | NV_MEMDBG_ADD(ptr, size);
  38894. | ^
  38895. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  38896. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  38897. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38898. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  38899. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38900. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38901. | ^
  38902. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38903. 573 | NV_MEMDBG_ADD(ptr, size);
  38904. | ^
  38905. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  38906. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  38907. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38908. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  38909. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38910. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  38911. | ^
  38912. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38913. 573 | NV_MEMDBG_ADD(ptr, size);
  38914. | ^
  38915. ././common/inc/nv-linux.h: In function 'nv_vmap':
  38916. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38917. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  38918. | ^
  38919. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  38920. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  38921. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  38922. | ^~~~~~~~~~~~~
  38923. | d_is_dir
  38924. ././common/inc/nv-linux.h: In function 'nv_vmap':
  38925. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  38926. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  38927. | ^
  38928. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  38929. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  38930. 287 | ktime_get_raw_ts64(&tm);
  38931. | ^~~
  38932. | |
  38933. | struct timespec64 *
  38934. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  38935. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  38936. | ~~~~~~~~~~~~~~~~~~~^~
  38937. nvidia-uvm/uvm_linux.h: At top level:
  38938. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38939. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  38940. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38941. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38942. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  38943. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38944. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  38945. 449 | #error "Unknown number of arguments"
  38946. | ^~~~~
  38947. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38948. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  38949. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38950. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38951. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  38952. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38953. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  38954. 485 | #error "Unknown number of arguments"
  38955. | ^~~~~
  38956. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  38957. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  38958. 736 | return phys_to_dma(dev, pa);
  38959. | ^~~~~~~~~~~
  38960. | nv_phys_to_dma
  38961. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  38962. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  38963. 736 | return phys_to_dma(dev, pa);
  38964. | ^~~~~~~~~~~
  38965. | nv_phys_to_dma
  38966. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  38967. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  38968. 287 | ktime_get_raw_ts64(&tm);
  38969. | ^~~
  38970. | |
  38971. | struct timespec64 *
  38972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  38973. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  38974. | ~~~~~~~~~~~~~~~~~~~^~
  38975. nvidia-uvm/uvm_linux.h: At top level:
  38976. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38977. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  38978. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38979. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38980. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  38981. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38982. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  38983. 449 | #error "Unknown number of arguments"
  38984. | ^~~~~
  38985. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38986. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  38987. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38988. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  38989. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  38990. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38991. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  38992. 485 | #error "Unknown number of arguments"
  38993. | ^~~~~
  38994. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  38995. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  38996. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  38997. | ^~~~~~~~~~~~~~~~~~~~~~~
  38998. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  38999. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39000. 520 | NV_MEMDBG_ADD(ptr, size);
  39001. | ^
  39002. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  39003. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  39004. 533 | ptr = ioremap_cache_shared(phys, size);
  39005. | ^~~~~~~~~~~~~~~~~~~~
  39006. | ioremap_cache
  39007. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39008. 533 | ptr = ioremap_cache_shared(phys, size);
  39009. | ^
  39010. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39011. 556 | NV_MEMDBG_ADD(ptr, size);
  39012. | ^
  39013. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  39014. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  39015. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  39016. | ^~~~~~~~~~~~~
  39017. | d_is_dir
  39018. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  39019. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  39020. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39021. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  39022. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39023. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39024. | ^
  39025. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39026. 573 | NV_MEMDBG_ADD(ptr, size);
  39027. | ^
  39028. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  39029. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  39030. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39031. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  39032. ././common/inc/nv-linux.h: In function 'nv_vmap':
  39033. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39034. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  39035. | ^
  39036. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39037. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39038. | ^
  39039. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39040. 573 | NV_MEMDBG_ADD(ptr, size);
  39041. | ^
  39042. ././common/inc/nv-linux.h: In function 'nv_vmap':
  39043. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39044. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  39045. | ^
  39046. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  39047. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  39048. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  39049. | ^~~~~~~~~~~~~
  39050. | d_is_dir
  39051. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  39052. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39053. 502 | NV_MEMDBG_ADD(ptr, size);
  39054. | ^
  39055. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  39056. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  39057. 736 | return phys_to_dma(dev, pa);
  39058. | ^~~~~~~~~~~
  39059. | nv_phys_to_dma
  39060. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  39061. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  39062. 736 | return phys_to_dma(dev, pa);
  39063. | ^~~~~~~~~~~
  39064. | nv_phys_to_dma
  39065. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  39066. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39067. 287 | ktime_get_raw_ts64(&tm);
  39068. | ^~~
  39069. | |
  39070. | struct timespec64 *
  39071. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39072. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39073. | ~~~~~~~~~~~~~~~~~~~^~
  39074. nvidia-uvm/uvm_linux.h: At top level:
  39075. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39076. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  39077. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39078. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39079. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  39080. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39081. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  39082. 449 | #error "Unknown number of arguments"
  39083. | ^~~~~
  39084. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39085. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  39086. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39087. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39088. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  39089. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39090. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  39091. 485 | #error "Unknown number of arguments"
  39092. | ^~~~~
  39093. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  39094. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39095. 287 | ktime_get_raw_ts64(&tm);
  39096. | ^~~
  39097. | |
  39098. | struct timespec64 *
  39099. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39100. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39101. | ~~~~~~~~~~~~~~~~~~~^~
  39102. nvidia-uvm/uvm_linux.h: At top level:
  39103. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39104. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  39105. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39106. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39107. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  39108. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39109. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  39110. 449 | #error "Unknown number of arguments"
  39111. | ^~~~~
  39112. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39113. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  39114. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39115. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39116. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  39117. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39118. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  39119. 485 | #error "Unknown number of arguments"
  39120. | ^~~~~
  39121. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  39122. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  39123. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39124. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  39125. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39126. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39127. | ^
  39128. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39129. 573 | NV_MEMDBG_ADD(ptr, size);
  39130. | ^
  39131. ././common/inc/nv-linux.h: In function 'nv_vmap':
  39132. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39133. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  39134. | ^
  39135. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  39136. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39137. 502 | NV_MEMDBG_ADD(ptr, size);
  39138. | ^
  39139. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  39140. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  39141. 533 | ptr = ioremap_cache_shared(phys, size);
  39142. | ^~~~~~~~~~~~~~~~~~~~
  39143. | ioremap_cache
  39144. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39145. 533 | ptr = ioremap_cache_shared(phys, size);
  39146. | ^
  39147. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39148. 556 | NV_MEMDBG_ADD(ptr, size);
  39149. | ^
  39150. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  39151. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  39152. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  39153. | ^~~~~~~~~~~~~
  39154. | d_is_dir
  39155. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  39156. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  39157. 736 | return phys_to_dma(dev, pa);
  39158. | ^~~~~~~~~~~
  39159. | nv_phys_to_dma
  39160. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  39161. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  39162. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  39163. | ^~~~~~~~~~~~~
  39164. | d_is_dir
  39165. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  39166. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39167. 287 | ktime_get_raw_ts64(&tm);
  39168. | ^~~
  39169. | |
  39170. | struct timespec64 *
  39171. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  39172. from nvidia-uvm/uvm_gpu.h:37,
  39173. from nvidia-uvm/uvm_global.h:32:
  39174. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  39175. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39176. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39177. | ~~~~~~~~~~~~~~~~~~~^~
  39178. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  39179. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  39180. | ^~~~~~~~~~~~~~~~~~~~
  39181. nvidia-uvm/uvm_linux.h: At top level:
  39182. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39183. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  39184. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39185. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39186. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  39187. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39188. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  39189. 449 | #error "Unknown number of arguments"
  39190. | ^~~~~
  39191. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39192. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  39193. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39194. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39195. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  39196. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39197. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  39198. 485 | #error "Unknown number of arguments"
  39199. | ^~~~~
  39200. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  39201. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  39202. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39203. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  39204. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39205. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39206. | ^
  39207. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39208. 573 | NV_MEMDBG_ADD(ptr, size);
  39209. | ^
  39210. ././common/inc/nv-linux.h: In function 'nv_vmap':
  39211. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39212. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  39213. | ^
  39214. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  39215. from nvidia-uvm/uvm_gpu.h:37,
  39216. from nvidia-uvm/uvm_global.h:32,
  39217. from nvidia-uvm/uvm_va_space.h:28,
  39218. from nvidia-uvm/uvm_rm_mem_test.c:27:
  39219. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  39220. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  39221. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  39222. | ^~~~~~~~~~~~~~~~~~~~
  39223. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  39224. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  39225. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  39226. | ^~~~~~~~~~~~~
  39227. | d_is_dir
  39228. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  39229. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  39230. 736 | return phys_to_dma(dev, pa);
  39231. | ^~~~~~~~~~~
  39232. | nv_phys_to_dma
  39233. cc1: some warnings being treated as errors
  39234. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  39235. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39236. 287 | ktime_get_raw_ts64(&tm);
  39237. | ^~~
  39238. | |
  39239. | struct timespec64 *
  39240. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  39241. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  39242. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  39243. | ^~~~~~~~~~~~~~~~~~~~~~~
  39244. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39245. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39246. 520 | NV_MEMDBG_ADD(ptr, size);
  39247. | ^
  39248. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39249. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39250. | ~~~~~~~~~~~~~~~~~~~^~
  39251. nvidia-uvm/uvm_linux.h: At top level:
  39252. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39253. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  39254. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39255. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39256. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  39257. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39258. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  39259. 449 | #error "Unknown number of arguments"
  39260. | ^~~~~
  39261. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39262. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  39263. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39264. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39265. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  39266. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39267. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  39268. 485 | #error "Unknown number of arguments"
  39269. | ^~~~~
  39270. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_tree_test.o] Error 1
  39271. CC [M] nvidia-uvm/uvm_perf_events_test.o
  39272. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  39273. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  39274. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  39275. | ^~~~~~~~~~~~~~~~~~~~~~~
  39276. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39277. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39278. 520 | NV_MEMDBG_ADD(ptr, size);
  39279. | ^
  39280. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  39281. 40 | struct timespec64 {
  39282. | ^~~~~~~~~~
  39283. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  39284. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  39285. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  39286. from ././common/inc/nv-time.h:29:
  39287. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  39288. 13 | struct timespec64 {
  39289. | ^~~~~~~~~~
  39290. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  39291. 77 | static inline struct timespec64 timespec64_add
  39292. | ^~~~~~~~~~~~~~
  39293. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  39294. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  39295. | ^~~~~~~~~~~~~~
  39296. In file included from nvidia-uvm/uvm_range_allocator.h:28,
  39297. from nvidia-uvm/uvm_range_allocator_test.c:26:
  39298. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  39299. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  39300. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  39301. 95 | static inline struct timespec64 timespec64_sub
  39302. | ^~~~~~~~~~~~~~
  39303. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  39304. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  39305. | ^~~~~~~~~~~~~~
  39306. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39307. 287 | ktime_get_raw_ts64(&tm);
  39308. | ^~~
  39309. | |
  39310. | struct timespec64 *
  39311. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  39312. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  39313. | ^~~~~~~~~~~~~~~~~~~~
  39314. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  39315. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  39316. | ^~~~~~~~~~~~~~~~
  39317. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39318. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39319. | ~~~~~~~~~~~~~~~~~~~^~
  39320. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  39321. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  39322. | ^~~~~~~~~~~~~~~~
  39323. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  39324. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39325. 122 | ktime_get_raw_ts64(&ts);
  39326. | ^~~
  39327. | |
  39328. | struct timespec64 *
  39329. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  39330. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  39331. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  39332. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  39333. from ././common/inc/nv-time.h:30:
  39334. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39335. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39336. | ~~~~~~~~~~~~~~~~~~~^~
  39337. nvidia-uvm/uvm_linux.h: At top level:
  39338. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39339. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  39340. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39341. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39342. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  39343. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39344. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  39345. 449 | #error "Unknown number of arguments"
  39346. | ^~~~~
  39347. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39348. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  39349. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39350. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39351. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  39352. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39353. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  39354. 485 | #error "Unknown number of arguments"
  39355. | ^~~~~
  39356. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  39357. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39358. 185 | ktime_get_raw_ts64(&tm_aux);
  39359. | ^~~~~~~
  39360. | |
  39361. | struct timespec64 *
  39362. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39363. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39364. | ~~~~~~~~~~~~~~~~~~~^~
  39365. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39366. 221 | ktime_get_raw_ts64(&tm_aux);
  39367. | ^~~~~~~
  39368. | |
  39369. | struct timespec64 *
  39370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39371. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39372. | ~~~~~~~~~~~~~~~~~~~^~
  39373. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  39374. 40 | struct timespec64 {
  39375. | ^~~~~~~~~~
  39376. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  39377. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  39378. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  39379. from ././common/inc/nv-time.h:29:
  39380. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  39381. 13 | struct timespec64 {
  39382. | ^~~~~~~~~~
  39383. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  39384. 77 | static inline struct timespec64 timespec64_add
  39385. | ^~~~~~~~~~~~~~
  39386. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  39387. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  39388. | ^~~~~~~~~~~~~~
  39389. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  39390. 95 | static inline struct timespec64 timespec64_sub
  39391. | ^~~~~~~~~~~~~~
  39392. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  39393. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  39394. | ^~~~~~~~~~~~~~
  39395. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  39396. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  39397. | ^~~~~~~~~~~~~~~~
  39398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  39399. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  39400. | ^~~~~~~~~~~~~~~~
  39401. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  39402. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39403. 122 | ktime_get_raw_ts64(&ts);
  39404. | ^~~
  39405. | |
  39406. | struct timespec64 *
  39407. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  39408. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  39409. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  39410. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  39411. from ././common/inc/nv-time.h:30:
  39412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39413. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39414. | ~~~~~~~~~~~~~~~~~~~^~
  39415. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  39416. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39417. 185 | ktime_get_raw_ts64(&tm_aux);
  39418. | ^~~~~~~
  39419. | |
  39420. | struct timespec64 *
  39421. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39422. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39423. | ~~~~~~~~~~~~~~~~~~~^~
  39424. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39425. 221 | ktime_get_raw_ts64(&tm_aux);
  39426. | ^~~~~~~
  39427. | |
  39428. | struct timespec64 *
  39429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39430. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39431. | ~~~~~~~~~~~~~~~~~~~^~
  39432. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  39433. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  39434. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  39435. | ^~~~~~~~~~~~~
  39436. | d_is_dir
  39437. In file included from ././common/inc/conftest.h:28,
  39438. from ././common/inc/nv-time.h:27,
  39439. from nvidia-uvm/uvm_linux.h:37,
  39440. from nvidia-uvm/uvm_perf_events.h:27,
  39441. from nvidia-uvm/uvm_perf_events_test.c:24:
  39442. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  39443. 74 | #error dma_buf_export() conftest failed!
  39444. | ^~~~~
  39445. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  39446. 87 | #error wait_on_bit_lock() conftest failed!
  39447. | ^~~~~
  39448. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  39449. 90 | #error radix_tree_replace_slot() conftest failed!
  39450. | ^~~~~
  39451. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  39452. from nvidia-uvm/uvm_channel.h:29,
  39453. from nvidia-uvm/uvm_push.h:29,
  39454. from nvidia-uvm/uvm_hal.h:31:
  39455. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  39456. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  39457. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  39458. | ^~~~~~~~~~~~~~~~~~~~
  39459. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  39460. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  39461. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39462. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  39463. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39464. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39465. | ^
  39466. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39467. 573 | NV_MEMDBG_ADD(ptr, size);
  39468. | ^
  39469. ././common/inc/nv-linux.h: In function 'nv_vmap':
  39470. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39471. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  39472. | ^
  39473. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  39474. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  39475. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  39476. 736 | return phys_to_dma(dev, pa);
  39477. | ^~~~~~~~~~~
  39478. | nv_phys_to_dma
  39479. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39480. 287 | ktime_get_raw_ts64(&tm);
  39481. | ^~~
  39482. | |
  39483. | struct timespec64 *
  39484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39485. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39486. | ~~~~~~~~~~~~~~~~~~~^~
  39487. nvidia-uvm/uvm_linux.h: At top level:
  39488. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39489. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  39490. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39491. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39492. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  39493. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39494. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  39495. 449 | #error "Unknown number of arguments"
  39496. | ^~~~~
  39497. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39498. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  39499. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39500. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39501. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  39502. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39503. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  39504. 485 | #error "Unknown number of arguments"
  39505. | ^~~~~
  39506. cc1: some warnings being treated as errors
  39507. In file included from ././common/inc/nv-linux.h:34,
  39508. from nvidia-uvm/uvm_linux.h:40:
  39509. ././common/inc/nv-mm.h: At top level:
  39510. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  39511. 29 | typedef int vm_fault_t;
  39512. | ^~~~~~~~~~
  39513. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  39514. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  39515. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  39516. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  39517. from ././common/inc/nv-lock.h:35,
  39518. from ././common/inc/nv-linux.h:32:
  39519. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  39520. 1311 | typedef __bitwise unsigned int vm_fault_t;
  39521. | ^~~~~~~~~~
  39522. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  39523. from ././common/inc/nv-time.h:28:
  39524. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  39525. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  39526. 52 | #define current get_current()
  39527. | ^~~~~~~~~~~~~
  39528. | |
  39529. | struct task_struct *
  39530. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  39531. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  39532. | ^~~~~~~
  39533. In file included from ././common/inc/nv-pgprot.h:30,
  39534. from ././common/inc/nv-linux.h:33:
  39535. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  39536. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  39537. | ~~~~~~~~~~~~~~^~~~~
  39538. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  39539. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  39540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  39541. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  39542. | ~~~~~~~~~~~~~~^~~~~~~~
  39543. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  39544. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  39545. | ^~~~~~~~
  39546. | |
  39547. | long unsigned int
  39548. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  39549. 2535 | unsigned int gup_flags, struct page **pages);
  39550. | ~~~~~~~~~~~~~~^~~~~
  39551. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  39552. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  39553. | ^~~~~~~~~~~~~~ ~~~~~
  39554. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  39555. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  39556. | ^~~~~~~~~~~~~~
  39557. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  39558. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  39559. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  39560. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  39561. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  39562. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  39563. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  39564. 8 | #define NULL ((void *)0)
  39565. | ^~~~~~~~~~~
  39566. | |
  39567. | void *
  39568. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  39569. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  39570. | ^~~~
  39571. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  39572. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  39573. | ~~~~~~~~~~~~~~^~~~~
  39574. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  39575. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  39576. | ^~
  39577. | |
  39578. | struct mm_struct *
  39579. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  39580. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  39581. | ~~~~~~~~~~~~~~^~~~~~~~
  39582. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  39583. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  39584. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  39585. | ^~~~~~~~
  39586. | |
  39587. | long unsigned int
  39588. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  39589. 533 | ptr = ioremap_cache_shared(phys, size);
  39590. | ^~~~~~~~~~~~~~~~~~~~
  39591. | ioremap_cache
  39592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  39593. 2535 | unsigned int gup_flags, struct page **pages);
  39594. | ~~~~~~~~~~~~~~^~~~~
  39595. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  39596. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  39597. | ^~~~~~~~~~~~~~ ~~~~~
  39598. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39599. 533 | ptr = ioremap_cache_shared(phys, size);
  39600. | ^
  39601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  39602. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  39603. | ^~~~~~~~~~~~~~
  39604. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  39605. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  39606. 237 | return (unsigned long)(vmf->virtual_address);
  39607. | ^~~~~~~~~~~~~~~
  39608. | real_address
  39609. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39610. 556 | NV_MEMDBG_ADD(ptr, size);
  39611. | ^
  39612. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  39613. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  39614. 246 | down_read(&mm->mmap_sem);
  39615. | ^~~~~~~~
  39616. | mmap_base
  39617. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  39618. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  39619. 255 | up_read(&mm->mmap_sem);
  39620. | ^~~~~~~~
  39621. | mmap_base
  39622. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  39623. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  39624. 264 | down_write(&mm->mmap_sem);
  39625. | ^~~~~~~~
  39626. | mmap_base
  39627. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  39628. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  39629. 273 | up_write(&mm->mmap_sem);
  39630. | ^~~~~~~~
  39631. | mmap_base
  39632. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  39633. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  39634. 282 | return rwsem_is_locked(&mm->mmap_sem);
  39635. | ^~~~~~~~
  39636. | mmap_base
  39637. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  39638. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  39639. 291 | return &mm->mmap_sem;
  39640. | ^~~~~~~~
  39641. | mmap_base
  39642. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  39643. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  39644. 300 | vma->vm_flags |= flags;
  39645. | ^~
  39646. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  39647. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  39648. 309 | vma->vm_flags &= ~flags;
  39649. | ^~
  39650. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  39651. from nvidia-uvm/uvm_gpu.h:37,
  39652. from nvidia-uvm/uvm_global.h:32:
  39653. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  39654. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  39655. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  39656. | ^~~~~~~~~~~~~~~~~~~~
  39657. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_allocator_test.o] Error 1
  39658. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  39659. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  39660. 533 | ptr = ioremap_cache_shared(phys, size);
  39661. | ^~~~~~~~~~~~~~~~~~~~
  39662. | ioremap_cache
  39663. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39664. 533 | ptr = ioremap_cache_shared(phys, size);
  39665. | ^
  39666. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39667. 556 | NV_MEMDBG_ADD(ptr, size);
  39668. | ^
  39669. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  39670. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  39671. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  39672. | ^~~~~~~~~~~~~
  39673. | d_is_dir
  39674. CC [M] nvidia-uvm/uvm_perf_module_test.o
  39675. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  39676. 40 | struct timespec64 {
  39677. | ^~~~~~~~~~
  39678. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  39679. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  39680. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  39681. from ././common/inc/nv-time.h:29:
  39682. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  39683. 13 | struct timespec64 {
  39684. | ^~~~~~~~~~
  39685. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  39686. 77 | static inline struct timespec64 timespec64_add
  39687. | ^~~~~~~~~~~~~~
  39688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  39689. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  39690. | ^~~~~~~~~~~~~~
  39691. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  39692. 95 | static inline struct timespec64 timespec64_sub
  39693. | ^~~~~~~~~~~~~~
  39694. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  39695. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  39696. | ^~~~~~~~~~~~~~
  39697. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  39698. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  39699. | ^~~~~~~~~~~~~~~~
  39700. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  39701. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  39702. | ^~~~~~~~~~~~~~~~
  39703. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  39704. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39705. 122 | ktime_get_raw_ts64(&ts);
  39706. | ^~~
  39707. | |
  39708. | struct timespec64 *
  39709. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  39710. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  39711. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  39712. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  39713. from ././common/inc/nv-time.h:30:
  39714. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39715. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39716. | ~~~~~~~~~~~~~~~~~~~^~
  39717. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  39718. from nvidia-uvm/uvm_gpu.h:37,
  39719. from nvidia-uvm/uvm_global.h:32:
  39720. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  39721. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  39722. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39723. 185 | ktime_get_raw_ts64(&tm_aux);
  39724. | ^~~~~~~
  39725. | |
  39726. | struct timespec64 *
  39727. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39728. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39729. | ~~~~~~~~~~~~~~~~~~~^~
  39730. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  39731. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  39732. | ^~~~~~~~~~~~~~~~~~~~
  39733. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39734. 221 | ktime_get_raw_ts64(&tm_aux);
  39735. | ^~~~~~~
  39736. | |
  39737. | struct timespec64 *
  39738. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39739. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39740. | ~~~~~~~~~~~~~~~~~~~^~
  39741. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  39742. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  39743. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  39744. | ^~~~~~~~~~~~~~~~~~~~
  39745. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  39746. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39747. 287 | ktime_get_raw_ts64(&tm);
  39748. | ^~~
  39749. | |
  39750. | struct timespec64 *
  39751. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39752. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39753. | ~~~~~~~~~~~~~~~~~~~^~
  39754. nvidia-uvm/uvm_linux.h: At top level:
  39755. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39756. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  39757. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39758. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39759. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  39760. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39761. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  39762. 449 | #error "Unknown number of arguments"
  39763. | ^~~~~
  39764. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39765. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  39766. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39767. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39768. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  39769. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39770. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  39771. 485 | #error "Unknown number of arguments"
  39772. | ^~~~~
  39773. cc1: some warnings being treated as errors
  39774. cc1: some warnings being treated as errors
  39775. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_semaphore_test.o] Error 1
  39776. CC [M] nvidia-uvm/uvm_get_rm_ptes_test.o
  39777. In file included from ././common/inc/conftest.h:28,
  39778. from ././common/inc/nv-time.h:27,
  39779. from nvidia-uvm/uvm_linux.h:37,
  39780. from nvidia-uvm/uvm_kvmalloc.h:27,
  39781. from nvidia-uvm/uvm_perf_module_test.c:24:
  39782. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  39783. 74 | #error dma_buf_export() conftest failed!
  39784. | ^~~~~
  39785. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  39786. 87 | #error wait_on_bit_lock() conftest failed!
  39787. | ^~~~~
  39788. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  39789. 90 | #error radix_tree_replace_slot() conftest failed!
  39790. | ^~~~~
  39791. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rm_mem_test.o] Error 1
  39792. CC [M] nvidia-uvm/uvm_fault_buffer_flush_test.o
  39793. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  39794. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  39795. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39796. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  39797. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39798. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39799. | ^
  39800. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39801. 573 | NV_MEMDBG_ADD(ptr, size);
  39802. | ^
  39803. ././common/inc/nv-linux.h: In function 'nv_vmap':
  39804. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39805. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  39806. | ^
  39807. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  39808. from nvidia-uvm/uvm_gpu.h:37,
  39809. from nvidia-uvm/uvm_page_tree_test.c:26:
  39810. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  39811. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  39812. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  39813. | ^~~~~~~~~~~~~~~~~~~~
  39814. In file included from ././common/inc/conftest.h:28,
  39815. from ././common/inc/nv-time.h:27,
  39816. from nvidia-uvm/uvm_linux.h:37,
  39817. from nvidia-uvm/uvm_common.h:43,
  39818. from nvidia-uvm/uvm_fault_buffer_flush_test.c:24:
  39819. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  39820. 74 | #error dma_buf_export() conftest failed!
  39821. | ^~~~~
  39822. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  39823. 87 | #error wait_on_bit_lock() conftest failed!
  39824. | ^~~~~
  39825. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  39826. 90 | #error radix_tree_replace_slot() conftest failed!
  39827. | ^~~~~
  39828. In file included from ././common/inc/conftest.h:28,
  39829. from ././common/inc/nv-time.h:27,
  39830. from nvidia-uvm/uvm_linux.h:37,
  39831. from nvidia-uvm/uvm_test.h:27,
  39832. from nvidia-uvm/uvm_get_rm_ptes_test.c:23:
  39833. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  39834. 74 | #error dma_buf_export() conftest failed!
  39835. | ^~~~~
  39836. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  39837. 87 | #error wait_on_bit_lock() conftest failed!
  39838. | ^~~~~
  39839. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  39840. 90 | #error radix_tree_replace_slot() conftest failed!
  39841. | ^~~~~
  39842. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  39843. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  39844. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39845. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  39846. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  39847. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  39848. | ^
  39849. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39850. 573 | NV_MEMDBG_ADD(ptr, size);
  39851. | ^
  39852. ././common/inc/nv-linux.h: In function 'nv_vmap':
  39853. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39854. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  39855. | ^
  39856. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  39857. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  39858. 736 | return phys_to_dma(dev, pa);
  39859. | ^~~~~~~~~~~
  39860. | nv_phys_to_dma
  39861. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  39862. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  39863. 736 | return phys_to_dma(dev, pa);
  39864. | ^~~~~~~~~~~
  39865. | nv_phys_to_dma
  39866. nvidia-uvm/uvm_channel_test.c: At top level:
  39867. nvidia-uvm/uvm_channel_test.c:687:11: warning: no previous prototype for 'test_conf_computing_channel_selection' [-Wmissing-prototypes]
  39868. 687 | NV_STATUS test_conf_computing_channel_selection(uvm_va_space_t *va_space)
  39869. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39870. nvidia-uvm/uvm_channel_test.c:749:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_noop' [-Wmissing-prototypes]
  39871. 749 | NV_STATUS test_write_ctrl_gpfifo_noop(uvm_va_space_t *va_space)
  39872. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  39873. nvidia-uvm/uvm_channel_test.c:788:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_and_pushes' [-Wmissing-prototypes]
  39874. 788 | NV_STATUS test_write_ctrl_gpfifo_and_pushes(uvm_va_space_t *va_space)
  39875. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39876. nvidia-uvm/uvm_channel_test.c:836:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_tight' [-Wmissing-prototypes]
  39877. 836 | NV_STATUS test_write_ctrl_gpfifo_tight(uvm_va_space_t *va_space)
  39878. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39879. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  39880. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  39881. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  39882. | ^~~~~~~~~~~~~~~~~~~~
  39883. cc1: some warnings being treated as errors
  39884. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  39885. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  39886. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  39887. | ^~~~~~~~~~~~~
  39888. | d_is_dir
  39889. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  39890. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  39891. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  39892. | ^~~~~~~~~~~~~
  39893. | d_is_dir
  39894. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mem_test.o] Error 1
  39895. CC [M] nvidia-uvm/uvm_peer_identity_mappings_test.o
  39896. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  39897. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39898. 287 | ktime_get_raw_ts64(&tm);
  39899. | ^~~
  39900. | |
  39901. | struct timespec64 *
  39902. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39903. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39904. | ~~~~~~~~~~~~~~~~~~~^~
  39905. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  39906. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  39907. 287 | ktime_get_raw_ts64(&tm);
  39908. | ^~~
  39909. | |
  39910. | struct timespec64 *
  39911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  39912. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  39913. | ~~~~~~~~~~~~~~~~~~~^~
  39914. nvidia-uvm/uvm_linux.h: At top level:
  39915. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39916. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  39917. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39918. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39919. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  39920. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39921. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  39922. 449 | #error "Unknown number of arguments"
  39923. | ^~~~~
  39924. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39925. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  39926. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39927. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39928. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  39929. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39930. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  39931. 485 | #error "Unknown number of arguments"
  39932. | ^~~~~
  39933. nvidia-uvm/uvm_linux.h: At top level:
  39934. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39935. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  39936. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39937. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39938. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  39939. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39940. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  39941. 449 | #error "Unknown number of arguments"
  39942. | ^~~~~
  39943. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39944. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  39945. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39946. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  39947. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  39948. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  39949. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  39950. 485 | #error "Unknown number of arguments"
  39951. | ^~~~~
  39952. cc1: some warnings being treated as errors
  39953. In file included from ././common/inc/conftest.h:28,
  39954. from ././common/inc/nv-time.h:27,
  39955. from nvidia-uvm/uvm_linux.h:37,
  39956. from nvidia-uvm/uvm_test.h:27,
  39957. from nvidia-uvm/uvm_peer_identity_mappings_test.c:24:
  39958. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  39959. 74 | #error dma_buf_export() conftest failed!
  39960. | ^~~~~
  39961. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  39962. 87 | #error wait_on_bit_lock() conftest failed!
  39963. | ^~~~~
  39964. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  39965. 90 | #error radix_tree_replace_slot() conftest failed!
  39966. | ^~~~~
  39967. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_channel_test.o] Error 1
  39968. CC [M] nvidia-uvm/uvm_va_block_test.o
  39969. cc1: some warnings being treated as errors
  39970. In file included from ././common/inc/conftest.h:28,
  39971. from ././common/inc/nv-time.h:27,
  39972. from nvidia-uvm/uvm_linux.h:37,
  39973. from nvidia-uvm/uvm_common.h:43,
  39974. from nvidia-uvm/uvm_va_block_test.c:24:
  39975. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  39976. 74 | #error dma_buf_export() conftest failed!
  39977. | ^~~~~
  39978. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  39979. 87 | #error wait_on_bit_lock() conftest failed!
  39980. | ^~~~~
  39981. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  39982. 90 | #error radix_tree_replace_slot() conftest failed!
  39983. | ^~~~~
  39984. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_push_test.o] Error 1
  39985. CC [M] nvidia-uvm/uvm_range_group_tree_test.o
  39986. cc1: some warnings being treated as errors
  39987. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  39988. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  39989. 502 | NV_MEMDBG_ADD(ptr, size);
  39990. | ^
  39991. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tracker_test.o] Error 1
  39992. CC [M] nvidia-uvm/uvm_thread_context_test.o
  39993. In file included from ././common/inc/conftest.h:28,
  39994. from ././common/inc/nv-time.h:27,
  39995. from nvidia-uvm/uvm_linux.h:37,
  39996. from nvidia-uvm/uvm_test.h:27,
  39997. from nvidia-uvm/uvm_range_group_tree_test.c:24:
  39998. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  39999. 74 | #error dma_buf_export() conftest failed!
  40000. | ^~~~~
  40001. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  40002. 87 | #error wait_on_bit_lock() conftest failed!
  40003. | ^~~~~
  40004. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  40005. 90 | #error radix_tree_replace_slot() conftest failed!
  40006. | ^~~~~
  40007. In file included from nvidia-uvm/uvm_lock_test.c:25:
  40008. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  40009. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  40010. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  40011. | ^~~~~~~~~~~~~~~~~~~~
  40012. nvidia-uvm/uvm_page_tree_test.c: At top level:
  40013. nvidia-uvm/uvm_page_tree_test.c:1514:8: warning: no previous prototype for 'get_page_sizes' [-Wmissing-prototypes]
  40014. 1514 | size_t get_page_sizes(uvm_gpu_t *gpu, NvU32 *page_sizes)
  40015. | ^~~~~~~~~~~~~~
  40016. In file included from ././common/inc/conftest.h:28,
  40017. from ././common/inc/nv-time.h:27,
  40018. from nvidia-uvm/uvm_linux.h:37,
  40019. from nvidia-uvm/uvm_common.h:43,
  40020. from nvidia-uvm/uvm_api.h:28,
  40021. from nvidia-uvm/uvm_thread_context_test.c:23:
  40022. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  40023. 74 | #error dma_buf_export() conftest failed!
  40024. | ^~~~~
  40025. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  40026. 40 | struct timespec64 {
  40027. | ^~~~~~~~~~
  40028. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  40029. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  40030. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  40031. from ././common/inc/nv-time.h:29:
  40032. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  40033. 13 | struct timespec64 {
  40034. | ^~~~~~~~~~
  40035. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40036. 77 | static inline struct timespec64 timespec64_add
  40037. | ^~~~~~~~~~~~~~
  40038. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40039. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  40040. | ^~~~~~~~~~~~~~
  40041. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40042. 95 | static inline struct timespec64 timespec64_sub
  40043. | ^~~~~~~~~~~~~~
  40044. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40045. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  40046. | ^~~~~~~~~~~~~~
  40047. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  40048. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  40049. | ^~~~~~~~~~~~~~~~
  40050. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  40051. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  40052. | ^~~~~~~~~~~~~~~~
  40053. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  40054. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40055. 122 | ktime_get_raw_ts64(&ts);
  40056. | ^~~
  40057. | |
  40058. | struct timespec64 *
  40059. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  40060. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  40061. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  40062. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  40063. from ././common/inc/nv-time.h:30:
  40064. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40065. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40066. | ~~~~~~~~~~~~~~~~~~~^~
  40067. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  40068. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40069. 185 | ktime_get_raw_ts64(&tm_aux);
  40070. | ^~~~~~~
  40071. | |
  40072. | struct timespec64 *
  40073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40074. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40075. | ~~~~~~~~~~~~~~~~~~~^~
  40076. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40077. 221 | ktime_get_raw_ts64(&tm_aux);
  40078. | ^~~~~~~
  40079. | |
  40080. | struct timespec64 *
  40081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40082. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40083. | ~~~~~~~~~~~~~~~~~~~^~
  40084. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  40085. 87 | #error wait_on_bit_lock() conftest failed!
  40086. | ^~~~~
  40087. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  40088. 90 | #error radix_tree_replace_slot() conftest failed!
  40089. | ^~~~~
  40090. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  40091. from nvidia-uvm/uvm_gpu.h:37,
  40092. from nvidia-uvm/uvm_global.h:32:
  40093. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  40094. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  40095. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  40096. | ^~~~~~~~~~~~~~~~~~~~
  40097. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  40098. 40 | struct timespec64 {
  40099. | ^~~~~~~~~~
  40100. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  40101. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  40102. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  40103. from ././common/inc/nv-time.h:29:
  40104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  40105. 13 | struct timespec64 {
  40106. | ^~~~~~~~~~
  40107. In file included from ././common/inc/nv-linux.h:34,
  40108. from nvidia-uvm/uvm_linux.h:40:
  40109. ././common/inc/nv-mm.h: At top level:
  40110. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  40111. 29 | typedef int vm_fault_t;
  40112. | ^~~~~~~~~~
  40113. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  40114. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  40115. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  40116. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  40117. from ././common/inc/nv-lock.h:35,
  40118. from ././common/inc/nv-linux.h:32:
  40119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  40120. 1311 | typedef __bitwise unsigned int vm_fault_t;
  40121. | ^~~~~~~~~~
  40122. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  40123. from ././common/inc/nv-time.h:28:
  40124. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  40125. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40126. 52 | #define current get_current()
  40127. | ^~~~~~~~~~~~~
  40128. | |
  40129. | struct task_struct *
  40130. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  40131. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40132. | ^~~~~~~
  40133. In file included from ././common/inc/nv-pgprot.h:30,
  40134. from ././common/inc/nv-linux.h:33:
  40135. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  40136. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40137. | ~~~~~~~~~~~~~~^~~~~
  40138. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40139. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40140. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  40141. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40142. | ~~~~~~~~~~~~~~^~~~~~~~
  40143. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  40144. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40145. | ^~~~~~~~
  40146. | |
  40147. | long unsigned int
  40148. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  40149. 2535 | unsigned int gup_flags, struct page **pages);
  40150. | ~~~~~~~~~~~~~~^~~~~
  40151. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  40152. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40153. | ^~~~~~~~~~~~~~ ~~~~~
  40154. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  40155. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40156. | ^~~~~~~~~~~~~~
  40157. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  40158. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  40159. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  40160. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  40161. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  40162. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  40163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40164. 8 | #define NULL ((void *)0)
  40165. | ^~~~~~~~~~~
  40166. | |
  40167. | void *
  40168. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  40169. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40170. | ^~~~
  40171. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  40172. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40173. | ~~~~~~~~~~~~~~^~~~~
  40174. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40175. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40176. | ^~
  40177. | |
  40178. | struct mm_struct *
  40179. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  40180. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40181. | ~~~~~~~~~~~~~~^~~~~~~~
  40182. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  40183. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40184. | ^~~~~~~~
  40185. | |
  40186. | long unsigned int
  40187. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  40188. 2535 | unsigned int gup_flags, struct page **pages);
  40189. | ~~~~~~~~~~~~~~^~~~~
  40190. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  40191. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40192. | ^~~~~~~~~~~~~~ ~~~~~
  40193. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  40194. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40195. | ^~~~~~~~~~~~~~
  40196. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  40197. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  40198. 237 | return (unsigned long)(vmf->virtual_address);
  40199. | ^~~~~~~~~~~~~~~
  40200. | real_address
  40201. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  40202. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40203. 246 | down_read(&mm->mmap_sem);
  40204. | ^~~~~~~~
  40205. | mmap_base
  40206. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  40207. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40208. 255 | up_read(&mm->mmap_sem);
  40209. | ^~~~~~~~
  40210. | mmap_base
  40211. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40212. 77 | static inline struct timespec64 timespec64_add
  40213. | ^~~~~~~~~~~~~~
  40214. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  40215. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40216. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  40217. | ^~~~~~~~~~~~~~
  40218. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40219. 264 | down_write(&mm->mmap_sem);
  40220. | ^~~~~~~~
  40221. | mmap_base
  40222. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  40223. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40224. 273 | up_write(&mm->mmap_sem);
  40225. | ^~~~~~~~
  40226. | mmap_base
  40227. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  40228. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40229. 282 | return rwsem_is_locked(&mm->mmap_sem);
  40230. | ^~~~~~~~
  40231. | mmap_base
  40232. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40233. 95 | static inline struct timespec64 timespec64_sub
  40234. | ^~~~~~~~~~~~~~
  40235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40236. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  40237. | ^~~~~~~~~~~~~~
  40238. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  40239. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40240. 291 | return &mm->mmap_sem;
  40241. | ^~~~~~~~
  40242. | mmap_base
  40243. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  40244. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  40245. 300 | vma->vm_flags |= flags;
  40246. | ^~
  40247. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  40248. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  40249. | ^~~~~~~~~~~~~~~~
  40250. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  40251. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  40252. | ^~~~~~~~~~~~~~~~
  40253. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  40254. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  40255. 309 | vma->vm_flags &= ~flags;
  40256. | ^~
  40257. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  40258. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40259. 122 | ktime_get_raw_ts64(&ts);
  40260. | ^~~
  40261. | |
  40262. | struct timespec64 *
  40263. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  40264. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  40265. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  40266. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  40267. from ././common/inc/nv-time.h:30:
  40268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40269. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40270. | ~~~~~~~~~~~~~~~~~~~^~
  40271. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  40272. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40273. 185 | ktime_get_raw_ts64(&tm_aux);
  40274. | ^~~~~~~
  40275. | |
  40276. | struct timespec64 *
  40277. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40278. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40279. | ~~~~~~~~~~~~~~~~~~~^~
  40280. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40281. 221 | ktime_get_raw_ts64(&tm_aux);
  40282. | ^~~~~~~
  40283. | |
  40284. | struct timespec64 *
  40285. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40286. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40287. | ~~~~~~~~~~~~~~~~~~~^~
  40288. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  40289. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  40290. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  40291. | ^~~~~~~~~~~~~~~~~~~~~~~
  40292. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  40293. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  40294. 520 | NV_MEMDBG_ADD(ptr, size);
  40295. | ^
  40296. In file included from ././common/inc/nv-linux.h:34,
  40297. from nvidia-uvm/uvm_linux.h:40:
  40298. ././common/inc/nv-mm.h: At top level:
  40299. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  40300. 29 | typedef int vm_fault_t;
  40301. | ^~~~~~~~~~
  40302. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  40303. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  40304. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  40305. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  40306. from ././common/inc/nv-lock.h:35,
  40307. from ././common/inc/nv-linux.h:32:
  40308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  40309. 1311 | typedef __bitwise unsigned int vm_fault_t;
  40310. | ^~~~~~~~~~
  40311. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  40312. from ././common/inc/nv-time.h:28:
  40313. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  40314. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40315. 52 | #define current get_current()
  40316. | ^~~~~~~~~~~~~
  40317. | |
  40318. | struct task_struct *
  40319. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  40320. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40321. | ^~~~~~~
  40322. In file included from ././common/inc/nv-pgprot.h:30,
  40323. from ././common/inc/nv-linux.h:33:
  40324. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  40325. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40326. | ~~~~~~~~~~~~~~^~~~~
  40327. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40328. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40329. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  40330. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40331. | ~~~~~~~~~~~~~~^~~~~~~~
  40332. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  40333. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40334. | ^~~~~~~~
  40335. | |
  40336. | long unsigned int
  40337. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  40338. 2535 | unsigned int gup_flags, struct page **pages);
  40339. | ~~~~~~~~~~~~~~^~~~~
  40340. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  40341. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40342. | ^~~~~~~~~~~~~~ ~~~~~
  40343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  40344. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40345. | ^~~~~~~~~~~~~~
  40346. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  40347. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  40348. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  40349. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  40350. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  40351. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  40352. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40353. 8 | #define NULL ((void *)0)
  40354. | ^~~~~~~~~~~
  40355. | |
  40356. | void *
  40357. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  40358. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40359. | ^~~~
  40360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  40361. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40362. | ~~~~~~~~~~~~~~^~~~~
  40363. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40364. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40365. | ^~
  40366. | |
  40367. | struct mm_struct *
  40368. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  40369. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40370. | ~~~~~~~~~~~~~~^~~~~~~~
  40371. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  40372. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40373. | ^~~~~~~~
  40374. | |
  40375. | long unsigned int
  40376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  40377. 2535 | unsigned int gup_flags, struct page **pages);
  40378. | ~~~~~~~~~~~~~~^~~~~
  40379. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  40380. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40381. | ^~~~~~~~~~~~~~ ~~~~~
  40382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  40383. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40384. | ^~~~~~~~~~~~~~
  40385. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  40386. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  40387. 237 | return (unsigned long)(vmf->virtual_address);
  40388. | ^~~~~~~~~~~~~~~
  40389. | real_address
  40390. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  40391. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40392. 246 | down_read(&mm->mmap_sem);
  40393. | ^~~~~~~~
  40394. | mmap_base
  40395. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  40396. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40397. 255 | up_read(&mm->mmap_sem);
  40398. | ^~~~~~~~
  40399. | mmap_base
  40400. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  40401. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40402. 264 | down_write(&mm->mmap_sem);
  40403. | ^~~~~~~~
  40404. | mmap_base
  40405. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  40406. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40407. 273 | up_write(&mm->mmap_sem);
  40408. | ^~~~~~~~
  40409. | mmap_base
  40410. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  40411. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40412. 282 | return rwsem_is_locked(&mm->mmap_sem);
  40413. | ^~~~~~~~
  40414. | mmap_base
  40415. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  40416. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40417. 291 | return &mm->mmap_sem;
  40418. | ^~~~~~~~
  40419. | mmap_base
  40420. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  40421. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  40422. 300 | vma->vm_flags |= flags;
  40423. | ^~
  40424. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  40425. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  40426. 309 | vma->vm_flags &= ~flags;
  40427. | ^~
  40428. cc1: some warnings being treated as errors
  40429. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  40430. 40 | struct timespec64 {
  40431. | ^~~~~~~~~~
  40432. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  40433. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  40434. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  40435. from ././common/inc/nv-time.h:29:
  40436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  40437. 13 | struct timespec64 {
  40438. | ^~~~~~~~~~
  40439. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40440. 77 | static inline struct timespec64 timespec64_add
  40441. | ^~~~~~~~~~~~~~
  40442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40443. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  40444. | ^~~~~~~~~~~~~~
  40445. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40446. 95 | static inline struct timespec64 timespec64_sub
  40447. | ^~~~~~~~~~~~~~
  40448. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40449. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  40450. | ^~~~~~~~~~~~~~
  40451. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  40452. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  40453. | ^~~~~~~~~~~~~~~~
  40454. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  40455. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  40456. | ^~~~~~~~~~~~~~~~
  40457. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  40458. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40459. 122 | ktime_get_raw_ts64(&ts);
  40460. | ^~~
  40461. | |
  40462. | struct timespec64 *
  40463. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  40464. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  40465. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  40466. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  40467. from ././common/inc/nv-time.h:30:
  40468. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40469. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40470. | ~~~~~~~~~~~~~~~~~~~^~
  40471. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  40472. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40473. 185 | ktime_get_raw_ts64(&tm_aux);
  40474. | ^~~~~~~
  40475. | |
  40476. | struct timespec64 *
  40477. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40478. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40479. | ~~~~~~~~~~~~~~~~~~~^~
  40480. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40481. 221 | ktime_get_raw_ts64(&tm_aux);
  40482. | ^~~~~~~
  40483. | |
  40484. | struct timespec64 *
  40485. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40486. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40487. | ~~~~~~~~~~~~~~~~~~~^~
  40488. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ce_test.o] Error 1
  40489. CC [M] nvidia-uvm/uvm_rb_tree_test.o
  40490. In file included from ././common/inc/nv-linux.h:34,
  40491. from nvidia-uvm/uvm_linux.h:40:
  40492. ././common/inc/nv-mm.h: At top level:
  40493. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  40494. 29 | typedef int vm_fault_t;
  40495. | ^~~~~~~~~~
  40496. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  40497. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  40498. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  40499. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  40500. from ././common/inc/nv-lock.h:35,
  40501. from ././common/inc/nv-linux.h:32:
  40502. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  40503. 1311 | typedef __bitwise unsigned int vm_fault_t;
  40504. | ^~~~~~~~~~
  40505. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  40506. from ././common/inc/nv-time.h:28:
  40507. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  40508. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40509. 52 | #define current get_current()
  40510. | ^~~~~~~~~~~~~
  40511. | |
  40512. | struct task_struct *
  40513. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  40514. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40515. | ^~~~~~~
  40516. In file included from ././common/inc/nv-pgprot.h:30,
  40517. from ././common/inc/nv-linux.h:33:
  40518. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  40519. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40520. | ~~~~~~~~~~~~~~^~~~~
  40521. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40522. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40523. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  40524. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40525. | ~~~~~~~~~~~~~~^~~~~~~~
  40526. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  40527. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40528. | ^~~~~~~~
  40529. | |
  40530. | long unsigned int
  40531. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  40532. 2535 | unsigned int gup_flags, struct page **pages);
  40533. | ~~~~~~~~~~~~~~^~~~~
  40534. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  40535. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  40536. | ^~~~~~~~~~~~~~ ~~~~~
  40537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  40538. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40539. | ^~~~~~~~~~~~~~
  40540. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  40541. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  40542. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  40543. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  40544. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  40545. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  40546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40547. 8 | #define NULL ((void *)0)
  40548. | ^~~~~~~~~~~
  40549. | |
  40550. | void *
  40551. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  40552. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40553. | ^~~~
  40554. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  40555. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40556. | ~~~~~~~~~~~~~~^~~~~
  40557. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  40558. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40559. | ^~
  40560. | |
  40561. | struct mm_struct *
  40562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  40563. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40564. | ~~~~~~~~~~~~~~^~~~~~~~
  40565. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  40566. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40567. | ^~~~~~~~
  40568. | |
  40569. | long unsigned int
  40570. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  40571. 2535 | unsigned int gup_flags, struct page **pages);
  40572. | ~~~~~~~~~~~~~~^~~~~
  40573. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  40574. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  40575. | ^~~~~~~~~~~~~~ ~~~~~
  40576. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  40577. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  40578. | ^~~~~~~~~~~~~~
  40579. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  40580. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  40581. 237 | return (unsigned long)(vmf->virtual_address);
  40582. | ^~~~~~~~~~~~~~~
  40583. | real_address
  40584. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  40585. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40586. 246 | down_read(&mm->mmap_sem);
  40587. | ^~~~~~~~
  40588. | mmap_base
  40589. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  40590. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40591. 255 | up_read(&mm->mmap_sem);
  40592. | ^~~~~~~~
  40593. | mmap_base
  40594. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  40595. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40596. 264 | down_write(&mm->mmap_sem);
  40597. | ^~~~~~~~
  40598. | mmap_base
  40599. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  40600. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40601. 273 | up_write(&mm->mmap_sem);
  40602. | ^~~~~~~~
  40603. | mmap_base
  40604. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  40605. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40606. 282 | return rwsem_is_locked(&mm->mmap_sem);
  40607. | ^~~~~~~~
  40608. | mmap_base
  40609. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  40610. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  40611. 291 | return &mm->mmap_sem;
  40612. | ^~~~~~~~
  40613. | mmap_base
  40614. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  40615. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  40616. 300 | vma->vm_flags |= flags;
  40617. | ^~
  40618. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  40619. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  40620. 309 | vma->vm_flags &= ~flags;
  40621. | ^~
  40622. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  40623. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  40624. 533 | ptr = ioremap_cache_shared(phys, size);
  40625. | ^~~~~~~~~~~~~~~~~~~~
  40626. | ioremap_cache
  40627. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  40628. 533 | ptr = ioremap_cache_shared(phys, size);
  40629. | ^
  40630. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  40631. 556 | NV_MEMDBG_ADD(ptr, size);
  40632. | ^
  40633. In file included from ././common/inc/conftest.h:28,
  40634. from ././common/inc/nv-time.h:27,
  40635. from nvidia-uvm/uvm_linux.h:37,
  40636. from nvidia-uvm/uvm_common.h:43,
  40637. from nvidia-uvm/uvm_rb_tree_test.c:24:
  40638. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  40639. 74 | #error dma_buf_export() conftest failed!
  40640. | ^~~~~
  40641. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  40642. 87 | #error wait_on_bit_lock() conftest failed!
  40643. | ^~~~~
  40644. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  40645. 90 | #error radix_tree_replace_slot() conftest failed!
  40646. | ^~~~~
  40647. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  40648. 40 | struct timespec64 {
  40649. | ^~~~~~~~~~
  40650. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  40651. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  40652. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  40653. from ././common/inc/nv-time.h:29:
  40654. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  40655. 13 | struct timespec64 {
  40656. | ^~~~~~~~~~
  40657. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40658. 77 | static inline struct timespec64 timespec64_add
  40659. | ^~~~~~~~~~~~~~
  40660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40661. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  40662. | ^~~~~~~~~~~~~~
  40663. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40664. 95 | static inline struct timespec64 timespec64_sub
  40665. | ^~~~~~~~~~~~~~
  40666. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40667. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  40668. | ^~~~~~~~~~~~~~
  40669. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  40670. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  40671. | ^~~~~~~~~~~~~~~~
  40672. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  40673. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  40674. | ^~~~~~~~~~~~~~~~
  40675. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  40676. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40677. 122 | ktime_get_raw_ts64(&ts);
  40678. | ^~~
  40679. | |
  40680. | struct timespec64 *
  40681. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  40682. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  40683. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  40684. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  40685. from ././common/inc/nv-time.h:30:
  40686. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40687. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40688. | ~~~~~~~~~~~~~~~~~~~^~
  40689. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  40690. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40691. 185 | ktime_get_raw_ts64(&tm_aux);
  40692. | ^~~~~~~
  40693. | |
  40694. | struct timespec64 *
  40695. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40696. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40697. | ~~~~~~~~~~~~~~~~~~~^~
  40698. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40699. 221 | ktime_get_raw_ts64(&tm_aux);
  40700. | ^~~~~~~
  40701. | |
  40702. | struct timespec64 *
  40703. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40704. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40705. | ~~~~~~~~~~~~~~~~~~~^~
  40706. cc1: some warnings being treated as errors
  40707. cc1: some warnings being treated as errors
  40708. cc1: some warnings being treated as errors
  40709. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_lock_test.o] Error 1
  40710. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_page_tree_test.o] Error 1
  40711. CC [M] nvidia-modeset/nvidia-modeset-linux.o
  40712. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_host_test.o] Error 1
  40713. CC [M] nvidia-modeset/nv-kthread-q.o
  40714. CC [M] nvidia-drm/nvidia-drm.o
  40715. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  40716. 40 | struct timespec64 {
  40717. | ^~~~~~~~~~
  40718. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  40719. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  40720. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  40721. from ././common/inc/nv-time.h:29:
  40722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  40723. 13 | struct timespec64 {
  40724. | ^~~~~~~~~~
  40725. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40726. 77 | static inline struct timespec64 timespec64_add
  40727. | ^~~~~~~~~~~~~~
  40728. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40729. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  40730. | ^~~~~~~~~~~~~~
  40731. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40732. 95 | static inline struct timespec64 timespec64_sub
  40733. | ^~~~~~~~~~~~~~
  40734. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40735. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  40736. | ^~~~~~~~~~~~~~
  40737. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  40738. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  40739. | ^~~~~~~~~~~~~~~~
  40740. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  40741. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  40742. | ^~~~~~~~~~~~~~~~
  40743. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  40744. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40745. 122 | ktime_get_raw_ts64(&ts);
  40746. | ^~~
  40747. | |
  40748. | struct timespec64 *
  40749. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  40750. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  40751. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  40752. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  40753. from ././common/inc/nv-time.h:30:
  40754. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40755. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40756. | ~~~~~~~~~~~~~~~~~~~^~
  40757. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  40758. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40759. 185 | ktime_get_raw_ts64(&tm_aux);
  40760. | ^~~~~~~
  40761. | |
  40762. | struct timespec64 *
  40763. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40764. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40765. | ~~~~~~~~~~~~~~~~~~~^~
  40766. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40767. 221 | ktime_get_raw_ts64(&tm_aux);
  40768. | ^~~~~~~
  40769. | |
  40770. | struct timespec64 *
  40771. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40772. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40773. | ~~~~~~~~~~~~~~~~~~~^~
  40774. In file included from ././common/inc/conftest.h:28,
  40775. from nvidia-drm/nvidia-drm-conftest.h:26,
  40776. from nvidia-drm/nvidia-drm.h:26,
  40777. from nvidia-drm/nvidia-drm.c:23:
  40778. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  40779. 74 | #error dma_buf_export() conftest failed!
  40780. | ^~~~~
  40781. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  40782. 87 | #error wait_on_bit_lock() conftest failed!
  40783. | ^~~~~
  40784. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  40785. 90 | #error radix_tree_replace_slot() conftest failed!
  40786. | ^~~~~
  40787. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  40788. 40 | struct timespec64 {
  40789. | ^~~~~~~~~~
  40790. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  40791. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  40792. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  40793. from ././common/inc/nv-time.h:29:
  40794. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  40795. 13 | struct timespec64 {
  40796. | ^~~~~~~~~~
  40797. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40798. 77 | static inline struct timespec64 timespec64_add
  40799. | ^~~~~~~~~~~~~~
  40800. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40801. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  40802. | ^~~~~~~~~~~~~~
  40803. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40804. 95 | static inline struct timespec64 timespec64_sub
  40805. | ^~~~~~~~~~~~~~
  40806. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40807. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  40808. | ^~~~~~~~~~~~~~
  40809. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  40810. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  40811. | ^~~~~~~~~~~~~~~~
  40812. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  40813. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  40814. | ^~~~~~~~~~~~~~~~
  40815. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  40816. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40817. 122 | ktime_get_raw_ts64(&ts);
  40818. | ^~~
  40819. | |
  40820. | struct timespec64 *
  40821. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  40822. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  40823. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  40824. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  40825. from ././common/inc/nv-time.h:30:
  40826. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40827. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40828. | ~~~~~~~~~~~~~~~~~~~^~
  40829. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  40830. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40831. 185 | ktime_get_raw_ts64(&tm_aux);
  40832. | ^~~~~~~
  40833. | |
  40834. | struct timespec64 *
  40835. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40836. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40837. | ~~~~~~~~~~~~~~~~~~~^~
  40838. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40839. 221 | ktime_get_raw_ts64(&tm_aux);
  40840. | ^~~~~~~
  40841. | |
  40842. | struct timespec64 *
  40843. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40844. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40845. | ~~~~~~~~~~~~~~~~~~~^~
  40846. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm.o] Error 1
  40847. CC [M] nvidia-drm/nvidia-drm-drv.o
  40848. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  40849. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  40850. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  40851. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  40852. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  40853. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  40854. | ^
  40855. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  40856. 573 | NV_MEMDBG_ADD(ptr, size);
  40857. | ^
  40858. ././common/inc/nv-linux.h: In function 'nv_vmap':
  40859. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  40860. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  40861. | ^
  40862. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  40863. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  40864. 736 | return phys_to_dma(dev, pa);
  40865. | ^~~~~~~~~~~
  40866. | nv_phys_to_dma
  40867. In file included from ././common/inc/conftest.h:28,
  40868. from nvidia-drm/nvidia-drm-conftest.h:26,
  40869. from nvidia-drm/nvidia-drm-drv.c:23:
  40870. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  40871. 74 | #error dma_buf_export() conftest failed!
  40872. | ^~~~~
  40873. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  40874. 87 | #error wait_on_bit_lock() conftest failed!
  40875. | ^~~~~
  40876. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  40877. 90 | #error radix_tree_replace_slot() conftest failed!
  40878. | ^~~~~
  40879. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-drv.o] Error 1
  40880. CC [M] nvidia-drm/nvidia-drm-utils.o
  40881. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  40882. 40 | struct timespec64 {
  40883. | ^~~~~~~~~~
  40884. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  40885. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  40886. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  40887. from ././common/inc/nv-time.h:29:
  40888. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  40889. 13 | struct timespec64 {
  40890. | ^~~~~~~~~~
  40891. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40892. 77 | static inline struct timespec64 timespec64_add
  40893. | ^~~~~~~~~~~~~~
  40894. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40895. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  40896. | ^~~~~~~~~~~~~~
  40897. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40898. 95 | static inline struct timespec64 timespec64_sub
  40899. | ^~~~~~~~~~~~~~
  40900. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40901. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  40902. | ^~~~~~~~~~~~~~
  40903. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  40904. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  40905. | ^~~~~~~~~~~~~~~~
  40906. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  40907. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  40908. | ^~~~~~~~~~~~~~~~
  40909. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  40910. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40911. 122 | ktime_get_raw_ts64(&ts);
  40912. | ^~~
  40913. | |
  40914. | struct timespec64 *
  40915. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  40916. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  40917. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  40918. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  40919. from ././common/inc/nv-time.h:30:
  40920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40921. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40922. | ~~~~~~~~~~~~~~~~~~~^~
  40923. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  40924. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40925. 185 | ktime_get_raw_ts64(&tm_aux);
  40926. | ^~~~~~~
  40927. | |
  40928. | struct timespec64 *
  40929. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40930. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40931. | ~~~~~~~~~~~~~~~~~~~^~
  40932. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40933. 221 | ktime_get_raw_ts64(&tm_aux);
  40934. | ^~~~~~~
  40935. | |
  40936. | struct timespec64 *
  40937. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  40938. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  40939. | ~~~~~~~~~~~~~~~~~~~^~
  40940. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  40941. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  40942. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  40943. | ^~~~~~~~~~~~~
  40944. | d_is_dir
  40945. In file included from ././common/inc/conftest.h:28,
  40946. from nvidia-drm/nvidia-drm-conftest.h:26,
  40947. from nvidia-drm/nvidia-drm-utils.c:23:
  40948. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  40949. 74 | #error dma_buf_export() conftest failed!
  40950. | ^~~~~
  40951. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  40952. 87 | #error wait_on_bit_lock() conftest failed!
  40953. | ^~~~~
  40954. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  40955. 90 | #error radix_tree_replace_slot() conftest failed!
  40956. | ^~~~~
  40957. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-utils.o] Error 1
  40958. CC [M] nvidia-drm/nvidia-drm-crtc.o
  40959. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  40960. 40 | struct timespec64 {
  40961. | ^~~~~~~~~~
  40962. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  40963. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40964. 287 | ktime_get_raw_ts64(&tm);
  40965. | ^~~
  40966. | |
  40967. | struct timespec64 *
  40968. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  40969. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  40970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  40971. from ././common/inc/nv-time.h:29:
  40972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  40973. 13 | struct timespec64 {
  40974. | ^~~~~~~~~~
  40975. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40976. 77 | static inline struct timespec64 timespec64_add
  40977. | ^~~~~~~~~~~~~~
  40978. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40979. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  40980. | ^~~~~~~~~~~~~~
  40981. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  40982. 95 | static inline struct timespec64 timespec64_sub
  40983. | ^~~~~~~~~~~~~~
  40984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  40985. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  40986. | ^~~~~~~~~~~~~~
  40987. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  40988. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  40989. | ^~~~~~~~~~~~~~~~
  40990. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  40991. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  40992. | ^~~~~~~~~~~~~~~~
  40993. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  40994. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  40995. 122 | ktime_get_raw_ts64(&ts);
  40996. | ^~~
  40997. | |
  40998. | struct timespec64 *
  40999. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  41000. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  41001. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  41002. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  41003. from ././common/inc/nv-time.h:30:
  41004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  41005. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  41006. | ~~~~~~~~~~~~~~~~~~~^~
  41007. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  41008. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  41009. 185 | ktime_get_raw_ts64(&tm_aux);
  41010. | ^~~~~~~
  41011. | |
  41012. | struct timespec64 *
  41013. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  41014. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  41015. | ~~~~~~~~~~~~~~~~~~~^~
  41016. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  41017. 221 | ktime_get_raw_ts64(&tm_aux);
  41018. | ^~~~~~~
  41019. | |
  41020. | struct timespec64 *
  41021. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  41022. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  41023. | ~~~~~~~~~~~~~~~~~~~^~
  41024. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  41025. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  41026. | ~~~~~~~~~~~~~~~~~~~^~
  41027. nvidia-uvm/uvm_linux.h: At top level:
  41028. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  41029. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  41030. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  41031. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  41032. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  41033. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  41034. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  41035. 449 | #error "Unknown number of arguments"
  41036. | ^~~~~
  41037. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  41038. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  41039. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  41040. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  41041. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  41042. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  41043. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  41044. 485 | #error "Unknown number of arguments"
  41045. | ^~~~~
  41046. In file included from ././common/inc/conftest.h:28,
  41047. from nvidia-drm/nvidia-drm-conftest.h:26,
  41048. from nvidia-drm/nvidia-drm-crtc.c:23:
  41049. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  41050. 74 | #error dma_buf_export() conftest failed!
  41051. | ^~~~~
  41052. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  41053. 87 | #error wait_on_bit_lock() conftest failed!
  41054. | ^~~~~
  41055. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  41056. 90 | #error radix_tree_replace_slot() conftest failed!
  41057. | ^~~~~
  41058. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-crtc.o] Error 1
  41059. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  41060. CC [M] nvidia-drm/nvidia-drm-encoder.o
  41061. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41062. 502 | NV_MEMDBG_ADD(ptr, size);
  41063. | ^
  41064. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  41065. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41066. 502 | NV_MEMDBG_ADD(ptr, size);
  41067. | ^
  41068. In file included from ././common/inc/conftest.h:28,
  41069. from nvidia-drm/nvidia-drm-conftest.h:26,
  41070. from nvidia-drm/nvidia-drm-encoder.c:23:
  41071. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  41072. 74 | #error dma_buf_export() conftest failed!
  41073. | ^~~~~
  41074. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  41075. 87 | #error wait_on_bit_lock() conftest failed!
  41076. | ^~~~~
  41077. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  41078. 90 | #error radix_tree_replace_slot() conftest failed!
  41079. | ^~~~~
  41080. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-encoder.o] Error 1
  41081. CC [M] nvidia-drm/nvidia-drm-connector.o
  41082. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  41083. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41084. 502 | NV_MEMDBG_ADD(ptr, size);
  41085. | ^
  41086. In file included from ././common/inc/conftest.h:28,
  41087. from nvidia-drm/nvidia-drm-conftest.h:26,
  41088. from nvidia-drm/nvidia-drm-connector.c:23:
  41089. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  41090. 74 | #error dma_buf_export() conftest failed!
  41091. | ^~~~~
  41092. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  41093. 87 | #error wait_on_bit_lock() conftest failed!
  41094. | ^~~~~
  41095. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  41096. 90 | #error radix_tree_replace_slot() conftest failed!
  41097. | ^~~~~
  41098. In file included from ././common/inc/nv-linux.h:34,
  41099. from nvidia-uvm/uvm_linux.h:40:
  41100. ././common/inc/nv-mm.h: At top level:
  41101. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  41102. 29 | typedef int vm_fault_t;
  41103. | ^~~~~~~~~~
  41104. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  41105. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  41106. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  41107. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  41108. from ././common/inc/nv-lock.h:35,
  41109. from ././common/inc/nv-linux.h:32:
  41110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  41111. 1311 | typedef __bitwise unsigned int vm_fault_t;
  41112. | ^~~~~~~~~~
  41113. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  41114. from ././common/inc/nv-time.h:28:
  41115. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  41116. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41117. 52 | #define current get_current()
  41118. | ^~~~~~~~~~~~~
  41119. | |
  41120. | struct task_struct *
  41121. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  41122. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41123. | ^~~~~~~
  41124. In file included from ././common/inc/nv-pgprot.h:30,
  41125. from ././common/inc/nv-linux.h:33:
  41126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  41127. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41128. | ~~~~~~~~~~~~~~^~~~~
  41129. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41130. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41132. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41133. | ~~~~~~~~~~~~~~^~~~~~~~
  41134. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41135. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41136. | ^~~~~~~~
  41137. | |
  41138. | long unsigned int
  41139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41140. 2535 | unsigned int gup_flags, struct page **pages);
  41141. | ~~~~~~~~~~~~~~^~~~~
  41142. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41143. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41144. | ^~~~~~~~~~~~~~ ~~~~~
  41145. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41146. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41147. | ^~~~~~~~~~~~~~
  41148. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  41149. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  41150. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  41151. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  41152. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  41153. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  41154. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41155. 8 | #define NULL ((void *)0)
  41156. | ^~~~~~~~~~~
  41157. | |
  41158. | void *
  41159. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  41160. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41161. | ^~~~
  41162. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  41163. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41164. | ~~~~~~~~~~~~~~^~~~~
  41165. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41166. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41167. | ^~
  41168. | |
  41169. | struct mm_struct *
  41170. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41171. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41172. | ~~~~~~~~~~~~~~^~~~~~~~
  41173. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41174. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41175. | ^~~~~~~~
  41176. | |
  41177. | long unsigned int
  41178. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41179. 2535 | unsigned int gup_flags, struct page **pages);
  41180. | ~~~~~~~~~~~~~~^~~~~
  41181. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41182. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41183. | ^~~~~~~~~~~~~~ ~~~~~
  41184. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41185. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41186. | ^~~~~~~~~~~~~~
  41187. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  41188. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  41189. 237 | return (unsigned long)(vmf->virtual_address);
  41190. | ^~~~~~~~~~~~~~~
  41191. | real_address
  41192. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  41193. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41194. 246 | down_read(&mm->mmap_sem);
  41195. | ^~~~~~~~
  41196. | mmap_base
  41197. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  41198. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41199. 255 | up_read(&mm->mmap_sem);
  41200. | ^~~~~~~~
  41201. | mmap_base
  41202. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  41203. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41204. 264 | down_write(&mm->mmap_sem);
  41205. | ^~~~~~~~
  41206. | mmap_base
  41207. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  41208. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41209. 273 | up_write(&mm->mmap_sem);
  41210. | ^~~~~~~~
  41211. | mmap_base
  41212. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  41213. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41214. 282 | return rwsem_is_locked(&mm->mmap_sem);
  41215. | ^~~~~~~~
  41216. | mmap_base
  41217. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  41218. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41219. 291 | return &mm->mmap_sem;
  41220. | ^~~~~~~~
  41221. | mmap_base
  41222. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  41223. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  41224. 300 | vma->vm_flags |= flags;
  41225. | ^~
  41226. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  41227. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  41228. 309 | vma->vm_flags &= ~flags;
  41229. | ^~
  41230. In file included from ././common/inc/nv-linux.h:34,
  41231. from nvidia-uvm/uvm_linux.h:40:
  41232. ././common/inc/nv-mm.h: At top level:
  41233. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  41234. 29 | typedef int vm_fault_t;
  41235. | ^~~~~~~~~~
  41236. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  41237. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  41238. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  41239. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  41240. from ././common/inc/nv-lock.h:35,
  41241. from ././common/inc/nv-linux.h:32:
  41242. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  41243. 1311 | typedef __bitwise unsigned int vm_fault_t;
  41244. | ^~~~~~~~~~
  41245. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  41246. from ././common/inc/nv-time.h:28:
  41247. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  41248. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41249. 52 | #define current get_current()
  41250. | ^~~~~~~~~~~~~
  41251. | |
  41252. | struct task_struct *
  41253. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  41254. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41255. | ^~~~~~~
  41256. In file included from ././common/inc/nv-pgprot.h:30,
  41257. from ././common/inc/nv-linux.h:33:
  41258. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  41259. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41260. | ~~~~~~~~~~~~~~^~~~~
  41261. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41262. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41264. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41265. | ~~~~~~~~~~~~~~^~~~~~~~
  41266. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41267. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41268. | ^~~~~~~~
  41269. | |
  41270. | long unsigned int
  41271. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41272. 2535 | unsigned int gup_flags, struct page **pages);
  41273. | ~~~~~~~~~~~~~~^~~~~
  41274. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41275. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41276. | ^~~~~~~~~~~~~~ ~~~~~
  41277. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41278. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41279. | ^~~~~~~~~~~~~~
  41280. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  41281. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  41282. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  41283. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  41284. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  41285. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  41286. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41287. 8 | #define NULL ((void *)0)
  41288. | ^~~~~~~~~~~
  41289. | |
  41290. | void *
  41291. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  41292. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41293. | ^~~~
  41294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  41295. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41296. | ~~~~~~~~~~~~~~^~~~~
  41297. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41298. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41299. | ^~
  41300. | |
  41301. | struct mm_struct *
  41302. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41303. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41304. | ~~~~~~~~~~~~~~^~~~~~~~
  41305. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41306. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41307. | ^~~~~~~~
  41308. | |
  41309. | long unsigned int
  41310. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41311. 2535 | unsigned int gup_flags, struct page **pages);
  41312. | ~~~~~~~~~~~~~~^~~~~
  41313. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41314. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41315. | ^~~~~~~~~~~~~~ ~~~~~
  41316. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41317. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41318. | ^~~~~~~~~~~~~~
  41319. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  41320. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  41321. 237 | return (unsigned long)(vmf->virtual_address);
  41322. | ^~~~~~~~~~~~~~~
  41323. | real_address
  41324. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  41325. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41326. 246 | down_read(&mm->mmap_sem);
  41327. | ^~~~~~~~
  41328. | mmap_base
  41329. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  41330. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41331. 255 | up_read(&mm->mmap_sem);
  41332. | ^~~~~~~~
  41333. | mmap_base
  41334. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  41335. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41336. 264 | down_write(&mm->mmap_sem);
  41337. | ^~~~~~~~
  41338. | mmap_base
  41339. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  41340. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41341. 273 | up_write(&mm->mmap_sem);
  41342. | ^~~~~~~~
  41343. | mmap_base
  41344. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-connector.o] Error 1
  41345. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  41346. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41347. 282 | return rwsem_is_locked(&mm->mmap_sem);
  41348. | ^~~~~~~~
  41349. | mmap_base
  41350. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  41351. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41352. 291 | return &mm->mmap_sem;
  41353. | ^~~~~~~~
  41354. | mmap_base
  41355. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  41356. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  41357. 300 | vma->vm_flags |= flags;
  41358. | ^~
  41359. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  41360. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  41361. 309 | vma->vm_flags &= ~flags;
  41362. | ^~
  41363. CC [M] nvidia-drm/nvidia-drm-gem.o
  41364. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  41365. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  41366. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  41367. | ^~~~~~~~~~~~~~~~~~~~~~~
  41368. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  41369. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41370. 520 | NV_MEMDBG_ADD(ptr, size);
  41371. | ^
  41372. In file included from ././common/inc/nv-linux.h:34,
  41373. from nvidia-uvm/uvm_linux.h:40:
  41374. ././common/inc/nv-mm.h: At top level:
  41375. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  41376. 29 | typedef int vm_fault_t;
  41377. | ^~~~~~~~~~
  41378. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  41379. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  41380. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  41381. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  41382. from ././common/inc/nv-lock.h:35,
  41383. from ././common/inc/nv-linux.h:32:
  41384. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  41385. 1311 | typedef __bitwise unsigned int vm_fault_t;
  41386. | ^~~~~~~~~~
  41387. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  41388. from ././common/inc/nv-time.h:28:
  41389. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  41390. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41391. 52 | #define current get_current()
  41392. | ^~~~~~~~~~~~~
  41393. | |
  41394. | struct task_struct *
  41395. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  41396. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41397. | ^~~~~~~
  41398. In file included from ././common/inc/nv-pgprot.h:30,
  41399. from ././common/inc/nv-linux.h:33:
  41400. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  41401. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41402. | ~~~~~~~~~~~~~~^~~~~
  41403. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41404. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41405. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41406. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41407. | ~~~~~~~~~~~~~~^~~~~~~~
  41408. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41409. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41410. | ^~~~~~~~
  41411. | |
  41412. | long unsigned int
  41413. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41414. 2535 | unsigned int gup_flags, struct page **pages);
  41415. | ~~~~~~~~~~~~~~^~~~~
  41416. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41417. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41418. | ^~~~~~~~~~~~~~ ~~~~~
  41419. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41420. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41421. | ^~~~~~~~~~~~~~
  41422. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  41423. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  41424. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  41425. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  41426. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  41427. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  41428. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41429. 8 | #define NULL ((void *)0)
  41430. | ^~~~~~~~~~~
  41431. | |
  41432. | void *
  41433. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  41434. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41435. | ^~~~
  41436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  41437. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41438. | ~~~~~~~~~~~~~~^~~~~
  41439. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41440. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41441. | ^~
  41442. | |
  41443. | struct mm_struct *
  41444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41445. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41446. | ~~~~~~~~~~~~~~^~~~~~~~
  41447. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41448. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41449. | ^~~~~~~~
  41450. | |
  41451. | long unsigned int
  41452. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41453. 2535 | unsigned int gup_flags, struct page **pages);
  41454. | ~~~~~~~~~~~~~~^~~~~
  41455. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41456. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41457. | ^~~~~~~~~~~~~~ ~~~~~
  41458. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41459. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41460. | ^~~~~~~~~~~~~~
  41461. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  41462. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  41463. 237 | return (unsigned long)(vmf->virtual_address);
  41464. | ^~~~~~~~~~~~~~~
  41465. | real_address
  41466. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  41467. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41468. 246 | down_read(&mm->mmap_sem);
  41469. | ^~~~~~~~
  41470. | mmap_base
  41471. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  41472. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41473. 255 | up_read(&mm->mmap_sem);
  41474. | ^~~~~~~~
  41475. | mmap_base
  41476. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  41477. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41478. 264 | down_write(&mm->mmap_sem);
  41479. | ^~~~~~~~
  41480. | mmap_base
  41481. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  41482. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41483. 273 | up_write(&mm->mmap_sem);
  41484. | ^~~~~~~~
  41485. | mmap_base
  41486. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  41487. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41488. 282 | return rwsem_is_locked(&mm->mmap_sem);
  41489. | ^~~~~~~~
  41490. | mmap_base
  41491. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  41492. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41493. 291 | return &mm->mmap_sem;
  41494. | ^~~~~~~~
  41495. | mmap_base
  41496. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  41497. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  41498. 300 | vma->vm_flags |= flags;
  41499. | ^~
  41500. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  41501. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  41502. 309 | vma->vm_flags &= ~flags;
  41503. | ^~
  41504. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  41505. 40 | struct timespec64 {
  41506. | ^~~~~~~~~~
  41507. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  41508. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  41509. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  41510. from ././common/inc/nv-time.h:29:
  41511. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  41512. 13 | struct timespec64 {
  41513. | ^~~~~~~~~~
  41514. In file included from nvidia-uvm/uvm_perf_events.h:31,
  41515. from nvidia-uvm/uvm_perf_module.h:29,
  41516. from nvidia-uvm/uvm_va_block.h:32,
  41517. from nvidia-uvm/uvm_perf_utils_test.c:25:
  41518. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  41519. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  41520. 77 | static inline struct timespec64 timespec64_add
  41521. | ^~~~~~~~~~~~~~
  41522. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  41523. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  41524. | ^~~~~~~~~~~~~~
  41525. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  41526. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  41527. | ^~~~~~~~~~~~~~~~~~~~
  41528. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  41529. 95 | static inline struct timespec64 timespec64_sub
  41530. | ^~~~~~~~~~~~~~
  41531. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  41532. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  41533. | ^~~~~~~~~~~~~~
  41534. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  41535. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  41536. | ^~~~~~~~~~~~~~~~
  41537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  41538. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  41539. | ^~~~~~~~~~~~~~~~
  41540. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  41541. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  41542. 122 | ktime_get_raw_ts64(&ts);
  41543. | ^~~
  41544. | |
  41545. | struct timespec64 *
  41546. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  41547. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  41548. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  41549. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  41550. from ././common/inc/nv-time.h:30:
  41551. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  41552. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  41553. | ~~~~~~~~~~~~~~~~~~~^~
  41554. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  41555. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  41556. 185 | ktime_get_raw_ts64(&tm_aux);
  41557. | ^~~~~~~
  41558. | |
  41559. | struct timespec64 *
  41560. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  41561. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  41562. | ~~~~~~~~~~~~~~~~~~~^~
  41563. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  41564. 221 | ktime_get_raw_ts64(&tm_aux);
  41565. | ^~~~~~~
  41566. | |
  41567. | struct timespec64 *
  41568. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  41569. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  41570. | ~~~~~~~~~~~~~~~~~~~^~
  41571. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  41572. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  41573. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  41574. | ^~~~~~~~~~~~~~~~~~~~~~~
  41575. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  41576. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41577. 520 | NV_MEMDBG_ADD(ptr, size);
  41578. | ^
  41579. In file included from ././common/inc/conftest.h:28,
  41580. from ././common/inc/nv-kthread-q.h:33,
  41581. from nvidia-modeset/nv-kthread-q.c:24:
  41582. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  41583. 74 | #error dma_buf_export() conftest failed!
  41584. | ^~~~~
  41585. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  41586. 87 | #error wait_on_bit_lock() conftest failed!
  41587. | ^~~~~
  41588. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  41589. 90 | #error radix_tree_replace_slot() conftest failed!
  41590. | ^~~~~
  41591. In file included from ././common/inc/conftest.h:28,
  41592. from nvidia-drm/nvidia-drm-conftest.h:26,
  41593. from nvidia-drm/nvidia-drm-gem.c:23:
  41594. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  41595. 74 | #error dma_buf_export() conftest failed!
  41596. | ^~~~~
  41597. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  41598. 87 | #error wait_on_bit_lock() conftest failed!
  41599. | ^~~~~
  41600. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  41601. 90 | #error radix_tree_replace_slot() conftest failed!
  41602. | ^~~~~
  41603. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  41604. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  41605. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  41606. | ^~~~~~~~~~~~~~~~~~~~~~~
  41607. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  41608. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41609. 520 | NV_MEMDBG_ADD(ptr, size);
  41610. | ^
  41611. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem.o] Error 1
  41612. CC [M] nvidia-drm/nvidia-drm-fb.o
  41613. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  41614. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  41615. 533 | ptr = ioremap_cache_shared(phys, size);
  41616. | ^~~~~~~~~~~~~~~~~~~~
  41617. | ioremap_cache
  41618. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  41619. 533 | ptr = ioremap_cache_shared(phys, size);
  41620. | ^
  41621. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41622. 556 | NV_MEMDBG_ADD(ptr, size);
  41623. | ^
  41624. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  41625. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  41626. 533 | ptr = ioremap_cache_shared(phys, size);
  41627. | ^~~~~~~~~~~~~~~~~~~~
  41628. | ioremap_cache
  41629. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  41630. 533 | ptr = ioremap_cache_shared(phys, size);
  41631. | ^
  41632. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41633. 556 | NV_MEMDBG_ADD(ptr, size);
  41634. | ^
  41635. In file included from ././common/inc/conftest.h:28,
  41636. from nvidia-drm/nvidia-drm-conftest.h:26,
  41637. from nvidia-drm/nvidia-drm-fb.c:23:
  41638. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  41639. 74 | #error dma_buf_export() conftest failed!
  41640. | ^~~~~
  41641. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  41642. 87 | #error wait_on_bit_lock() conftest failed!
  41643. | ^~~~~
  41644. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  41645. 90 | #error radix_tree_replace_slot() conftest failed!
  41646. | ^~~~~
  41647. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-fb.o] Error 1
  41648. CC [M] nvidia-drm/nvidia-drm-modeset.o
  41649. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  41650. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  41651. 533 | ptr = ioremap_cache_shared(phys, size);
  41652. | ^~~~~~~~~~~~~~~~~~~~
  41653. | ioremap_cache
  41654. In file included from ././common/inc/nv-linux.h:34,
  41655. from nvidia-uvm/uvm_linux.h:40:
  41656. ././common/inc/nv-mm.h: At top level:
  41657. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  41658. 29 | typedef int vm_fault_t;
  41659. | ^~~~~~~~~~
  41660. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  41661. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  41662. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  41663. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  41664. from ././common/inc/nv-lock.h:35,
  41665. from ././common/inc/nv-linux.h:32:
  41666. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  41667. 1311 | typedef __bitwise unsigned int vm_fault_t;
  41668. | ^~~~~~~~~~
  41669. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  41670. from ././common/inc/nv-time.h:28:
  41671. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  41672. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41673. 52 | #define current get_current()
  41674. | ^~~~~~~~~~~~~
  41675. | |
  41676. | struct task_struct *
  41677. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  41678. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41679. | ^~~~~~~
  41680. In file included from ././common/inc/nv-pgprot.h:30,
  41681. from ././common/inc/nv-linux.h:33:
  41682. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  41683. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41684. | ~~~~~~~~~~~~~~^~~~~
  41685. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41686. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41687. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41688. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41689. | ~~~~~~~~~~~~~~^~~~~~~~
  41690. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41691. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41692. | ^~~~~~~~
  41693. | |
  41694. | long unsigned int
  41695. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41696. 2535 | unsigned int gup_flags, struct page **pages);
  41697. | ~~~~~~~~~~~~~~^~~~~
  41698. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41699. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41700. | ^~~~~~~~~~~~~~ ~~~~~
  41701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41702. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41703. | ^~~~~~~~~~~~~~
  41704. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  41705. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  41706. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  41707. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  41708. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  41709. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  41710. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41711. 8 | #define NULL ((void *)0)
  41712. | ^~~~~~~~~~~
  41713. | |
  41714. | void *
  41715. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  41716. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41717. | ^~~~
  41718. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  41719. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41720. | ~~~~~~~~~~~~~~^~~~~
  41721. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41722. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41723. | ^~
  41724. | |
  41725. | struct mm_struct *
  41726. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41727. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41728. | ~~~~~~~~~~~~~~^~~~~~~~
  41729. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41730. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41731. | ^~~~~~~~
  41732. | |
  41733. | long unsigned int
  41734. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41735. 2535 | unsigned int gup_flags, struct page **pages);
  41736. | ~~~~~~~~~~~~~~^~~~~
  41737. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41738. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41739. | ^~~~~~~~~~~~~~ ~~~~~
  41740. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41741. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41742. | ^~~~~~~~~~~~~~
  41743. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  41744. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  41745. 237 | return (unsigned long)(vmf->virtual_address);
  41746. | ^~~~~~~~~~~~~~~
  41747. | real_address
  41748. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  41749. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  41750. 533 | ptr = ioremap_cache_shared(phys, size);
  41751. | ^
  41752. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41753. 246 | down_read(&mm->mmap_sem);
  41754. | ^~~~~~~~
  41755. | mmap_base
  41756. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  41757. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41758. 556 | NV_MEMDBG_ADD(ptr, size);
  41759. | ^
  41760. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41761. 255 | up_read(&mm->mmap_sem);
  41762. | ^~~~~~~~
  41763. | mmap_base
  41764. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  41765. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41766. 264 | down_write(&mm->mmap_sem);
  41767. | ^~~~~~~~
  41768. | mmap_base
  41769. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  41770. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41771. 273 | up_write(&mm->mmap_sem);
  41772. | ^~~~~~~~
  41773. | mmap_base
  41774. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  41775. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41776. 282 | return rwsem_is_locked(&mm->mmap_sem);
  41777. | ^~~~~~~~
  41778. | mmap_base
  41779. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  41780. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41781. 291 | return &mm->mmap_sem;
  41782. | ^~~~~~~~
  41783. | mmap_base
  41784. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  41785. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  41786. 300 | vma->vm_flags |= flags;
  41787. | ^~
  41788. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  41789. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  41790. 309 | vma->vm_flags &= ~flags;
  41791. | ^~
  41792. In file included from ././common/inc/conftest.h:28,
  41793. from nvidia-drm/nvidia-drm-conftest.h:26,
  41794. from nvidia-drm/nvidia-drm-modeset.c:23:
  41795. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  41796. 74 | #error dma_buf_export() conftest failed!
  41797. | ^~~~~
  41798. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  41799. 87 | #error wait_on_bit_lock() conftest failed!
  41800. | ^~~~~
  41801. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  41802. 90 | #error radix_tree_replace_slot() conftest failed!
  41803. | ^~~~~
  41804. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-modeset.o] Error 1
  41805. CC [M] nvidia-drm/nvidia-drm-fence.o
  41806. In file included from ././common/inc/nv-linux.h:34,
  41807. from nvidia-uvm/uvm_linux.h:40:
  41808. ././common/inc/nv-mm.h: At top level:
  41809. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  41810. 29 | typedef int vm_fault_t;
  41811. | ^~~~~~~~~~
  41812. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  41813. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  41814. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  41815. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  41816. from ././common/inc/nv-lock.h:35,
  41817. from ././common/inc/nv-linux.h:32:
  41818. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  41819. 1311 | typedef __bitwise unsigned int vm_fault_t;
  41820. | ^~~~~~~~~~
  41821. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  41822. from ././common/inc/nv-time.h:28:
  41823. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  41824. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41825. 52 | #define current get_current()
  41826. | ^~~~~~~~~~~~~
  41827. | |
  41828. | struct task_struct *
  41829. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  41830. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41831. | ^~~~~~~
  41832. In file included from ././common/inc/nv-pgprot.h:30,
  41833. from ././common/inc/nv-linux.h:33:
  41834. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  41835. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41836. | ~~~~~~~~~~~~~~^~~~~
  41837. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41838. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41839. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41840. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41841. | ~~~~~~~~~~~~~~^~~~~~~~
  41842. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41843. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41844. | ^~~~~~~~
  41845. | |
  41846. | long unsigned int
  41847. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41848. 2535 | unsigned int gup_flags, struct page **pages);
  41849. | ~~~~~~~~~~~~~~^~~~~
  41850. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41851. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41852. | ^~~~~~~~~~~~~~ ~~~~~
  41853. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41854. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41855. | ^~~~~~~~~~~~~~
  41856. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  41857. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  41858. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  41859. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  41860. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  41861. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  41862. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41863. 8 | #define NULL ((void *)0)
  41864. | ^~~~~~~~~~~
  41865. | |
  41866. | void *
  41867. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  41868. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41869. | ^~~~
  41870. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  41871. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41872. | ~~~~~~~~~~~~~~^~~~~
  41873. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41874. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41875. | ^~
  41876. | |
  41877. | struct mm_struct *
  41878. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41879. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41880. | ~~~~~~~~~~~~~~^~~~~~~~
  41881. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41882. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41883. | ^~~~~~~~
  41884. | |
  41885. | long unsigned int
  41886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  41887. 2535 | unsigned int gup_flags, struct page **pages);
  41888. | ~~~~~~~~~~~~~~^~~~~
  41889. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  41890. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  41891. | ^~~~~~~~~~~~~~ ~~~~~
  41892. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  41893. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41894. | ^~~~~~~~~~~~~~
  41895. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  41896. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  41897. 237 | return (unsigned long)(vmf->virtual_address);
  41898. | ^~~~~~~~~~~~~~~
  41899. | real_address
  41900. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  41901. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41902. 246 | down_read(&mm->mmap_sem);
  41903. | ^~~~~~~~
  41904. | mmap_base
  41905. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  41906. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41907. 255 | up_read(&mm->mmap_sem);
  41908. | ^~~~~~~~
  41909. | mmap_base
  41910. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  41911. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41912. 264 | down_write(&mm->mmap_sem);
  41913. | ^~~~~~~~
  41914. | mmap_base
  41915. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  41916. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41917. 273 | up_write(&mm->mmap_sem);
  41918. | ^~~~~~~~
  41919. | mmap_base
  41920. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  41921. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41922. 282 | return rwsem_is_locked(&mm->mmap_sem);
  41923. | ^~~~~~~~
  41924. | mmap_base
  41925. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  41926. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  41927. 291 | return &mm->mmap_sem;
  41928. | ^~~~~~~~
  41929. | mmap_base
  41930. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  41931. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  41932. 300 | vma->vm_flags |= flags;
  41933. | ^~
  41934. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  41935. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  41936. 309 | vma->vm_flags &= ~flags;
  41937. | ^~
  41938. In file included from ././common/inc/conftest.h:28,
  41939. from nvidia-drm/nvidia-drm-conftest.h:26,
  41940. from nvidia-drm/nvidia-drm-fence.c:23:
  41941. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  41942. 74 | #error dma_buf_export() conftest failed!
  41943. | ^~~~~
  41944. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  41945. 87 | #error wait_on_bit_lock() conftest failed!
  41946. | ^~~~~
  41947. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  41948. 90 | #error radix_tree_replace_slot() conftest failed!
  41949. | ^~~~~
  41950. In file included from ././common/inc/nv-linux.h:34,
  41951. from nvidia-uvm/uvm_linux.h:40:
  41952. ././common/inc/nv-mm.h: At top level:
  41953. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  41954. 29 | typedef int vm_fault_t;
  41955. | ^~~~~~~~~~
  41956. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  41957. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  41958. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  41959. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  41960. from ././common/inc/nv-lock.h:35,
  41961. from ././common/inc/nv-linux.h:32:
  41962. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  41963. 1311 | typedef __bitwise unsigned int vm_fault_t;
  41964. | ^~~~~~~~~~
  41965. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  41966. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  41967. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  41968. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  41969. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  41970. from ././common/inc/nv-time.h:28:
  41971. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  41972. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  41973. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  41974. | ^
  41975. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41976. 52 | #define current get_current()
  41977. | ^~~~~~~~~~~~~
  41978. | |
  41979. | struct task_struct *
  41980. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  41981. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41982. | ^~~~~~~
  41983. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  41984. 573 | NV_MEMDBG_ADD(ptr, size);
  41985. | ^
  41986. In file included from ././common/inc/nv-pgprot.h:30,
  41987. from ././common/inc/nv-linux.h:33:
  41988. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  41989. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41990. | ~~~~~~~~~~~~~~^~~~~
  41991. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  41992. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41993. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  41994. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  41995. | ~~~~~~~~~~~~~~^~~~~~~~
  41996. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  41997. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  41998. | ^~~~~~~~
  41999. | |
  42000. | long unsigned int
  42001. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  42002. 2535 | unsigned int gup_flags, struct page **pages);
  42003. | ~~~~~~~~~~~~~~^~~~~
  42004. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  42005. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42006. | ^~~~~~~~~~~~~~ ~~~~~
  42007. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  42008. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42009. | ^~~~~~~~~~~~~~
  42010. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  42011. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  42012. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  42013. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  42014. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  42015. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  42016. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42017. 8 | #define NULL ((void *)0)
  42018. | ^~~~~~~~~~~
  42019. | |
  42020. | void *
  42021. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  42022. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42023. | ^~~~
  42024. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  42025. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42026. | ~~~~~~~~~~~~~~^~~~~
  42027. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42028. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42029. | ^~
  42030. | |
  42031. | struct mm_struct *
  42032. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  42033. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42034. | ~~~~~~~~~~~~~~^~~~~~~~
  42035. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  42036. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42037. | ^~~~~~~~
  42038. | |
  42039. | long unsigned int
  42040. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  42041. 2535 | unsigned int gup_flags, struct page **pages);
  42042. | ~~~~~~~~~~~~~~^~~~~
  42043. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  42044. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42045. | ^~~~~~~~~~~~~~ ~~~~~
  42046. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  42047. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42048. | ^~~~~~~~~~~~~~
  42049. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  42050. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  42051. 237 | return (unsigned long)(vmf->virtual_address);
  42052. | ^~~~~~~~~~~~~~~
  42053. | real_address
  42054. ././common/inc/nv-linux.h: In function 'nv_vmap':
  42055. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42056. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  42057. | ^
  42058. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  42059. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42060. 246 | down_read(&mm->mmap_sem);
  42061. | ^~~~~~~~
  42062. | mmap_base
  42063. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  42064. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42065. 255 | up_read(&mm->mmap_sem);
  42066. | ^~~~~~~~
  42067. | mmap_base
  42068. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  42069. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42070. 264 | down_write(&mm->mmap_sem);
  42071. | ^~~~~~~~
  42072. | mmap_base
  42073. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  42074. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42075. 273 | up_write(&mm->mmap_sem);
  42076. | ^~~~~~~~
  42077. | mmap_base
  42078. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  42079. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42080. 282 | return rwsem_is_locked(&mm->mmap_sem);
  42081. | ^~~~~~~~
  42082. | mmap_base
  42083. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  42084. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42085. 291 | return &mm->mmap_sem;
  42086. | ^~~~~~~~
  42087. | mmap_base
  42088. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  42089. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  42090. 300 | vma->vm_flags |= flags;
  42091. | ^~
  42092. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  42093. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  42094. 309 | vma->vm_flags &= ~flags;
  42095. | ^~
  42096. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-fence.o] Error 1
  42097. CC [M] nvidia-drm/nvidia-drm-linux.o
  42098. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  42099. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  42100. 736 | return phys_to_dma(dev, pa);
  42101. | ^~~~~~~~~~~
  42102. | nv_phys_to_dma
  42103. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  42104. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  42105. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  42106. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  42107. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42108. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  42109. | ^
  42110. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42111. 573 | NV_MEMDBG_ADD(ptr, size);
  42112. | ^
  42113. In file included from ././common/inc/nv-linux.h:34,
  42114. from nvidia-uvm/uvm_linux.h:40:
  42115. ././common/inc/nv-mm.h: At top level:
  42116. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  42117. 29 | typedef int vm_fault_t;
  42118. | ^~~~~~~~~~
  42119. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  42120. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  42121. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  42122. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  42123. from ././common/inc/nv-lock.h:35,
  42124. from ././common/inc/nv-linux.h:32:
  42125. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  42126. 1311 | typedef __bitwise unsigned int vm_fault_t;
  42127. | ^~~~~~~~~~
  42128. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  42129. from ././common/inc/nv-time.h:28:
  42130. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  42131. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42132. 52 | #define current get_current()
  42133. | ^~~~~~~~~~~~~
  42134. | |
  42135. | struct task_struct *
  42136. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  42137. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42138. | ^~~~~~~
  42139. In file included from ././common/inc/nv-pgprot.h:30,
  42140. from ././common/inc/nv-linux.h:33:
  42141. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  42142. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42143. | ~~~~~~~~~~~~~~^~~~~
  42144. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42145. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42146. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  42147. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42148. | ~~~~~~~~~~~~~~^~~~~~~~
  42149. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  42150. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42151. | ^~~~~~~~
  42152. | |
  42153. | long unsigned int
  42154. ././common/inc/nv-linux.h: In function 'nv_vmap':
  42155. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42156. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  42157. | ^
  42158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  42159. 2535 | unsigned int gup_flags, struct page **pages);
  42160. | ~~~~~~~~~~~~~~^~~~~
  42161. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  42162. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42163. | ^~~~~~~~~~~~~~ ~~~~~
  42164. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  42165. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42166. | ^~~~~~~~~~~~~~
  42167. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  42168. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  42169. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  42170. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  42171. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  42172. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  42173. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42174. 8 | #define NULL ((void *)0)
  42175. | ^~~~~~~~~~~
  42176. | |
  42177. | void *
  42178. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  42179. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42180. | ^~~~
  42181. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  42182. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42183. | ~~~~~~~~~~~~~~^~~~~
  42184. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42185. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42186. | ^~
  42187. | |
  42188. | struct mm_struct *
  42189. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  42190. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42191. | ~~~~~~~~~~~~~~^~~~~~~~
  42192. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  42193. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42194. | ^~~~~~~~
  42195. | |
  42196. | long unsigned int
  42197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  42198. 2535 | unsigned int gup_flags, struct page **pages);
  42199. | ~~~~~~~~~~~~~~^~~~~
  42200. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  42201. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42202. | ^~~~~~~~~~~~~~ ~~~~~
  42203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  42204. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42205. | ^~~~~~~~~~~~~~
  42206. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  42207. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  42208. 237 | return (unsigned long)(vmf->virtual_address);
  42209. | ^~~~~~~~~~~~~~~
  42210. | real_address
  42211. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  42212. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42213. 246 | down_read(&mm->mmap_sem);
  42214. | ^~~~~~~~
  42215. | mmap_base
  42216. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  42217. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42218. 255 | up_read(&mm->mmap_sem);
  42219. | ^~~~~~~~
  42220. | mmap_base
  42221. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  42222. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42223. 264 | down_write(&mm->mmap_sem);
  42224. | ^~~~~~~~
  42225. | mmap_base
  42226. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  42227. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42228. 273 | up_write(&mm->mmap_sem);
  42229. | ^~~~~~~~
  42230. | mmap_base
  42231. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  42232. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42233. 282 | return rwsem_is_locked(&mm->mmap_sem);
  42234. | ^~~~~~~~
  42235. | mmap_base
  42236. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  42237. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42238. 291 | return &mm->mmap_sem;
  42239. | ^~~~~~~~
  42240. | mmap_base
  42241. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  42242. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  42243. 300 | vma->vm_flags |= flags;
  42244. | ^~
  42245. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  42246. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  42247. 309 | vma->vm_flags &= ~flags;
  42248. | ^~
  42249. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  42250. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  42251. 736 | return phys_to_dma(dev, pa);
  42252. | ^~~~~~~~~~~
  42253. | nv_phys_to_dma
  42254. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  42255. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  42256. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  42257. | ^~~~~~~~~~~~~
  42258. | d_is_dir
  42259. cc1: some warnings being treated as errors
  42260. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  42261. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42262. 502 | NV_MEMDBG_ADD(ptr, size);
  42263. | ^
  42264. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_utils_test.o] Error 1
  42265. CC [M] nvidia-drm/nvidia-drm-helper.o
  42266. In file included from ././common/inc/nv-linux.h:34,
  42267. from nvidia-uvm/uvm_linux.h:40:
  42268. ././common/inc/nv-mm.h: At top level:
  42269. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  42270. 29 | typedef int vm_fault_t;
  42271. | ^~~~~~~~~~
  42272. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  42273. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  42274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  42275. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  42276. from ././common/inc/nv-lock.h:35,
  42277. from ././common/inc/nv-linux.h:32:
  42278. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  42279. 1311 | typedef __bitwise unsigned int vm_fault_t;
  42280. | ^~~~~~~~~~
  42281. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  42282. from ././common/inc/nv-time.h:28:
  42283. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  42284. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  42285. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42286. 52 | #define current get_current()
  42287. | ^~~~~~~~~~~~~
  42288. | |
  42289. | struct task_struct *
  42290. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  42291. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42292. | ^~~~~~~
  42293. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  42294. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  42295. | ^~~~~~~~~~~~~
  42296. | d_is_dir
  42297. In file included from ././common/inc/nv-pgprot.h:30,
  42298. from ././common/inc/nv-linux.h:33:
  42299. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  42300. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42301. | ~~~~~~~~~~~~~~^~~~~
  42302. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42303. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42304. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  42305. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42306. | ~~~~~~~~~~~~~~^~~~~~~~
  42307. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  42308. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42309. | ^~~~~~~~
  42310. | |
  42311. | long unsigned int
  42312. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  42313. 2535 | unsigned int gup_flags, struct page **pages);
  42314. | ~~~~~~~~~~~~~~^~~~~
  42315. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  42316. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42317. | ^~~~~~~~~~~~~~ ~~~~~
  42318. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  42319. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42320. | ^~~~~~~~~~~~~~
  42321. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  42322. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  42323. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  42324. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  42325. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  42326. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  42327. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42328. 8 | #define NULL ((void *)0)
  42329. | ^~~~~~~~~~~
  42330. | |
  42331. | void *
  42332. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  42333. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42334. | ^~~~
  42335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  42336. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42337. | ~~~~~~~~~~~~~~^~~~~
  42338. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42339. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42340. | ^~
  42341. | |
  42342. | struct mm_struct *
  42343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  42344. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42345. | ~~~~~~~~~~~~~~^~~~~~~~
  42346. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  42347. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42348. | ^~~~~~~~
  42349. | |
  42350. | long unsigned int
  42351. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  42352. 2535 | unsigned int gup_flags, struct page **pages);
  42353. | ~~~~~~~~~~~~~~^~~~~
  42354. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  42355. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42356. | ^~~~~~~~~~~~~~ ~~~~~
  42357. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  42358. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42359. | ^~~~~~~~~~~~~~
  42360. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  42361. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  42362. 237 | return (unsigned long)(vmf->virtual_address);
  42363. | ^~~~~~~~~~~~~~~
  42364. | real_address
  42365. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  42366. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42367. 246 | down_read(&mm->mmap_sem);
  42368. | ^~~~~~~~
  42369. | mmap_base
  42370. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  42371. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42372. 255 | up_read(&mm->mmap_sem);
  42373. | ^~~~~~~~
  42374. | mmap_base
  42375. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  42376. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42377. 264 | down_write(&mm->mmap_sem);
  42378. | ^~~~~~~~
  42379. | mmap_base
  42380. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  42381. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42382. 273 | up_write(&mm->mmap_sem);
  42383. | ^~~~~~~~
  42384. | mmap_base
  42385. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  42386. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42387. 282 | return rwsem_is_locked(&mm->mmap_sem);
  42388. | ^~~~~~~~
  42389. | mmap_base
  42390. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  42391. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42392. 291 | return &mm->mmap_sem;
  42393. | ^~~~~~~~
  42394. | mmap_base
  42395. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  42396. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  42397. 300 | vma->vm_flags |= flags;
  42398. | ^~
  42399. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  42400. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  42401. 309 | vma->vm_flags &= ~flags;
  42402. | ^~
  42403. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  42404. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  42405. 287 | ktime_get_raw_ts64(&tm);
  42406. | ^~~
  42407. | |
  42408. | struct timespec64 *
  42409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  42410. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  42411. | ~~~~~~~~~~~~~~~~~~~^~
  42412. nvidia-uvm/uvm_linux.h: At top level:
  42413. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42414. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  42415. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42416. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42417. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  42418. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42419. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  42420. 449 | #error "Unknown number of arguments"
  42421. | ^~~~~
  42422. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42423. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  42424. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42425. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42426. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  42427. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42428. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  42429. 485 | #error "Unknown number of arguments"
  42430. | ^~~~~
  42431. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  42432. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42433. 502 | NV_MEMDBG_ADD(ptr, size);
  42434. | ^
  42435. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  42436. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  42437. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  42438. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  42439. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42440. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  42441. | ^
  42442. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42443. 573 | NV_MEMDBG_ADD(ptr, size);
  42444. | ^
  42445. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  42446. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  42447. 287 | ktime_get_raw_ts64(&tm);
  42448. | ^~~
  42449. | |
  42450. | struct timespec64 *
  42451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  42452. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  42453. | ~~~~~~~~~~~~~~~~~~~^~
  42454. nvidia-uvm/uvm_linux.h: At top level:
  42455. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42456. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  42457. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42458. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42459. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  42460. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42461. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  42462. 449 | #error "Unknown number of arguments"
  42463. | ^~~~~
  42464. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42465. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  42466. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42467. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42468. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  42469. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42470. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  42471. 485 | #error "Unknown number of arguments"
  42472. | ^~~~~
  42473. ././common/inc/nv-linux.h: In function 'nv_vmap':
  42474. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42475. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  42476. | ^
  42477. In file included from ././common/inc/conftest.h:28,
  42478. from nvidia-drm/nvidia-drm-conftest.h:26,
  42479. from nvidia-drm/nvidia-drm-helper.h:26,
  42480. from nvidia-drm/nvidia-drm-helper.c:30:
  42481. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  42482. 74 | #error dma_buf_export() conftest failed!
  42483. | ^~~~~
  42484. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  42485. 87 | #error wait_on_bit_lock() conftest failed!
  42486. | ^~~~~
  42487. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  42488. 90 | #error radix_tree_replace_slot() conftest failed!
  42489. | ^~~~~
  42490. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  42491. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  42492. 736 | return phys_to_dma(dev, pa);
  42493. | ^~~~~~~~~~~
  42494. | nv_phys_to_dma
  42495. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  42496. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42497. 502 | NV_MEMDBG_ADD(ptr, size);
  42498. | ^
  42499. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-helper.o] Error 1
  42500. cc1: some warnings being treated as errors
  42501. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  42502. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  42503. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  42504. | ^~~~~~~~~~~~~~~~~~~~~~~
  42505. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42506. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42507. 520 | NV_MEMDBG_ADD(ptr, size);
  42508. | ^
  42509. CC [M] nvidia-drm/nv-pci-table.o
  42510. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_kvmalloc_test.o] Error 1
  42511. CC [M] nvidia-drm/nvidia-drm-gem-nvkms-memory.o
  42512. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  42513. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  42514. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  42515. | ^~~~~~~~~~~~~
  42516. | d_is_dir
  42517. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  42518. In file included from ././common/inc/nv-linux.h:34,
  42519. from nvidia-uvm/uvm_linux.h:40:
  42520. ././common/inc/nv-mm.h: At top level:
  42521. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  42522. 29 | typedef int vm_fault_t;
  42523. | ^~~~~~~~~~
  42524. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  42525. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  42526. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  42527. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  42528. from ././common/inc/nv-lock.h:35,
  42529. from ././common/inc/nv-linux.h:32:
  42530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  42531. 1311 | typedef __bitwise unsigned int vm_fault_t;
  42532. | ^~~~~~~~~~
  42533. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  42534. from ././common/inc/nv-time.h:28:
  42535. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  42536. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42537. 52 | #define current get_current()
  42538. | ^~~~~~~~~~~~~
  42539. | |
  42540. | struct task_struct *
  42541. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  42542. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42543. | ^~~~~~~
  42544. In file included from ././common/inc/nv-pgprot.h:30,
  42545. from ././common/inc/nv-linux.h:33:
  42546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  42547. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42548. | ~~~~~~~~~~~~~~^~~~~
  42549. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42550. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42551. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  42552. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42553. | ~~~~~~~~~~~~~~^~~~~~~~
  42554. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  42555. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42556. | ^~~~~~~~
  42557. | |
  42558. | long unsigned int
  42559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  42560. 2535 | unsigned int gup_flags, struct page **pages);
  42561. | ~~~~~~~~~~~~~~^~~~~
  42562. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  42563. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  42564. | ^~~~~~~~~~~~~~ ~~~~~
  42565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  42566. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42567. | ^~~~~~~~~~~~~~
  42568. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  42569. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  42570. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  42571. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  42572. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  42573. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  42574. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42575. 8 | #define NULL ((void *)0)
  42576. | ^~~~~~~~~~~
  42577. | |
  42578. | void *
  42579. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  42580. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42581. | ^~~~
  42582. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  42583. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42584. | ~~~~~~~~~~~~~~^~~~~
  42585. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  42586. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42587. | ^~
  42588. | |
  42589. | struct mm_struct *
  42590. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  42591. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42592. | ~~~~~~~~~~~~~~^~~~~~~~
  42593. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  42594. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42595. | ^~~~~~~~
  42596. | |
  42597. | long unsigned int
  42598. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  42599. 2535 | unsigned int gup_flags, struct page **pages);
  42600. | ~~~~~~~~~~~~~~^~~~~
  42601. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  42602. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  42603. | ^~~~~~~~~~~~~~ ~~~~~
  42604. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  42605. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  42606. | ^~~~~~~~~~~~~~
  42607. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  42608. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  42609. 237 | return (unsigned long)(vmf->virtual_address);
  42610. | ^~~~~~~~~~~~~~~
  42611. | real_address
  42612. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  42613. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42614. 246 | down_read(&mm->mmap_sem);
  42615. | ^~~~~~~~
  42616. | mmap_base
  42617. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  42618. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42619. 255 | up_read(&mm->mmap_sem);
  42620. | ^~~~~~~~
  42621. | mmap_base
  42622. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  42623. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42624. 264 | down_write(&mm->mmap_sem);
  42625. | ^~~~~~~~
  42626. | mmap_base
  42627. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  42628. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42629. 273 | up_write(&mm->mmap_sem);
  42630. | ^~~~~~~~
  42631. | mmap_base
  42632. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  42633. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42634. 282 | return rwsem_is_locked(&mm->mmap_sem);
  42635. | ^~~~~~~~
  42636. | mmap_base
  42637. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  42638. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  42639. 291 | return &mm->mmap_sem;
  42640. | ^~~~~~~~
  42641. | mmap_base
  42642. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  42643. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  42644. 300 | vma->vm_flags |= flags;
  42645. | ^~
  42646. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  42647. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  42648. 309 | vma->vm_flags &= ~flags;
  42649. | ^~
  42650. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  42651. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  42652. | ^~~~~~~~~~~~~~~~~~~~~~~
  42653. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42654. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42655. 520 | NV_MEMDBG_ADD(ptr, size);
  42656. | ^
  42657. In file included from ././common/inc/conftest.h:28,
  42658. from nvidia-drm/nvidia-drm-conftest.h:26,
  42659. from nvidia-drm/nvidia-drm-gem-nvkms-memory.c:23:
  42660. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  42661. 74 | #error dma_buf_export() conftest failed!
  42662. | ^~~~~
  42663. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  42664. 87 | #error wait_on_bit_lock() conftest failed!
  42665. | ^~~~~
  42666. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  42667. 90 | #error radix_tree_replace_slot() conftest failed!
  42668. | ^~~~~
  42669. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  42670. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  42671. 287 | ktime_get_raw_ts64(&tm);
  42672. | ^~~
  42673. | |
  42674. | struct timespec64 *
  42675. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  42676. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  42677. | ~~~~~~~~~~~~~~~~~~~^~
  42678. nvidia-uvm/uvm_linux.h: At top level:
  42679. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42680. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  42681. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42682. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42683. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  42684. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42685. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  42686. 449 | #error "Unknown number of arguments"
  42687. | ^~~~~
  42688. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42689. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  42690. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42691. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42692. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  42693. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42694. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  42695. 485 | #error "Unknown number of arguments"
  42696. | ^~~~~
  42697. 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
  42698. CC [M] nvidia-drm/nvidia-drm-gem-user-memory.o
  42699. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  42700. from nvidia-uvm/uvm_pmm_test.c:25:
  42701. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  42702. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  42703. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  42704. | ^~~~~~~~~~~~~~~~~~~~
  42705. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  42706. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  42707. 533 | ptr = ioremap_cache_shared(phys, size);
  42708. | ^~~~~~~~~~~~~~~~~~~~
  42709. | ioremap_cache
  42710. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42711. 533 | ptr = ioremap_cache_shared(phys, size);
  42712. | ^
  42713. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42714. 556 | NV_MEMDBG_ADD(ptr, size);
  42715. | ^
  42716. In file included from ././common/inc/conftest.h:28,
  42717. from ././common/inc/nv_stdarg.h:29,
  42718. from nvidia-modeset/nvidia-modeset-os-interface.h:40,
  42719. from nvidia-modeset/nvidia-modeset-linux.c:47:
  42720. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  42721. 74 | #error dma_buf_export() conftest failed!
  42722. | ^~~~~
  42723. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  42724. 87 | #error wait_on_bit_lock() conftest failed!
  42725. | ^~~~~
  42726. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  42727. 90 | #error radix_tree_replace_slot() conftest failed!
  42728. | ^~~~~
  42729. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  42730. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  42731. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  42732. | ^~~~~~~~~~~~~~~~~~~~~~~
  42733. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42734. In file included from ././common/inc/conftest.h:28,
  42735. from nvidia-drm/nvidia-drm-conftest.h:26,
  42736. from nvidia-drm/nvidia-drm-gem-user-memory.c:23:
  42737. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  42738. 74 | #error dma_buf_export() conftest failed!
  42739. | ^~~~~
  42740. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  42741. 87 | #error wait_on_bit_lock() conftest failed!
  42742. | ^~~~~
  42743. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42744. 520 | NV_MEMDBG_ADD(ptr, size);
  42745. | ^
  42746. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  42747. 90 | #error radix_tree_replace_slot() conftest failed!
  42748. | ^~~~~
  42749. 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
  42750. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  42751. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42752. 502 | NV_MEMDBG_ADD(ptr, size);
  42753. | ^
  42754. CC [M] nvidia-drm/nvidia-drm-gem-dma-buf.o
  42755. In file included from nvidia-modeset/nvidia-modeset-linux.c:54:
  42756. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  42757. 40 | struct timespec64 {
  42758. | ^~~~~~~~~~
  42759. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  42760. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  42761. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13,
  42762. from nvidia-modeset/nvidia-modeset-linux.c:24:
  42763. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  42764. 13 | struct timespec64 {
  42765. | ^~~~~~~~~~
  42766. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  42767. 77 | static inline struct timespec64 timespec64_add
  42768. | ^~~~~~~~~~~~~~
  42769. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  42770. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  42771. | ^~~~~~~~~~~~~~
  42772. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  42773. 95 | static inline struct timespec64 timespec64_sub
  42774. | ^~~~~~~~~~~~~~
  42775. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  42776. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  42777. | ^~~~~~~~~~~~~~
  42778. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  42779. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  42780. | ^~~~~~~~~~~~~~~~
  42781. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  42782. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  42783. | ^~~~~~~~~~~~~~~~
  42784. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  42785. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  42786. 122 | ktime_get_raw_ts64(&ts);
  42787. | ^~~
  42788. | |
  42789. | struct timespec64 *
  42790. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  42791. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  42792. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  42793. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16,
  42794. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  42795. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  42796. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4,
  42797. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9,
  42798. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17:
  42799. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  42800. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  42801. | ~~~~~~~~~~~~~~~~~~~^~
  42802. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  42803. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  42804. 185 | ktime_get_raw_ts64(&tm_aux);
  42805. | ^~~~~~~
  42806. | |
  42807. | struct timespec64 *
  42808. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  42809. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  42810. | ~~~~~~~~~~~~~~~~~~~^~
  42811. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  42812. 221 | ktime_get_raw_ts64(&tm_aux);
  42813. | ^~~~~~~
  42814. | |
  42815. | struct timespec64 *
  42816. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  42817. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  42818. | ~~~~~~~~~~~~~~~~~~~^~
  42819. In file included from ././common/inc/conftest.h:28,
  42820. from nvidia-drm/nvidia-drm-conftest.h:26,
  42821. from nvidia-drm/nvidia-drm-gem-dma-buf.c:23:
  42822. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  42823. 74 | #error dma_buf_export() conftest failed!
  42824. | ^~~~~
  42825. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  42826. 87 | #error wait_on_bit_lock() conftest failed!
  42827. | ^~~~~
  42828. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  42829. 90 | #error radix_tree_replace_slot() conftest failed!
  42830. | ^~~~~
  42831. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  42832. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42833. 502 | NV_MEMDBG_ADD(ptr, size);
  42834. | ^
  42835. 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
  42836. CC [M] nvidia-drm/nvidia-drm-format.o
  42837. nvidia-modeset/nv-kthread-q.c: In function 'thread_create_on_node':
  42838. nvidia-modeset/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  42839. 179 | const static unsigned attempts = 3;
  42840. | ^~~~~
  42841. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  42842. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42843. 502 | NV_MEMDBG_ADD(ptr, size);
  42844. | ^
  42845. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  42846. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42847. 502 | NV_MEMDBG_ADD(ptr, size);
  42848. | ^
  42849. In file included from ././common/inc/conftest.h:28,
  42850. from nvidia-drm/nvidia-drm-conftest.h:26,
  42851. from nvidia-drm/nvidia-drm-format.c:23:
  42852. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  42853. 74 | #error dma_buf_export() conftest failed!
  42854. | ^~~~~
  42855. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  42856. 87 | #error wait_on_bit_lock() conftest failed!
  42857. | ^~~~~
  42858. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  42859. 90 | #error radix_tree_replace_slot() conftest failed!
  42860. | ^~~~~
  42861. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-modeset/nv-kthread-q.o] Error 1
  42862. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  42863. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  42864. 533 | ptr = ioremap_cache_shared(phys, size);
  42865. | ^~~~~~~~~~~~~~~~~~~~
  42866. | ioremap_cache
  42867. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42868. 533 | ptr = ioremap_cache_shared(phys, size);
  42869. | ^
  42870. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42871. 556 | NV_MEMDBG_ADD(ptr, size);
  42872. | ^
  42873. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-format.o] Error 1
  42874. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  42875. from nvidia-uvm/uvm_gpu.h:37,
  42876. from nvidia-uvm/uvm_global.h:32,
  42877. from nvidia-uvm/uvm_pmm_sysmem_test.c:27:
  42878. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  42879. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  42880. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  42881. | ^~~~~~~~~~~~~~~~~~~~
  42882. CC [M] nvidia-peermem/nvidia-peermem.o
  42883. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  42884. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  42885. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  42886. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  42887. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42888. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  42889. | ^
  42890. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42891. 573 | NV_MEMDBG_ADD(ptr, size);
  42892. | ^
  42893. ././common/inc/nv-linux.h: In function 'nv_vmap':
  42894. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42895. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  42896. | ^
  42897. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  42898. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  42899. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  42900. | ^~~~~~~~~~~~~~~~~~~~~~~
  42901. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42902. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42903. 520 | NV_MEMDBG_ADD(ptr, size);
  42904. | ^
  42905. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  42906. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  42907. 533 | ptr = ioremap_cache_shared(phys, size);
  42908. | ^~~~~~~~~~~~~~~~~~~~
  42909. | ioremap_cache
  42910. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42911. 533 | ptr = ioremap_cache_shared(phys, size);
  42912. | ^
  42913. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42914. 556 | NV_MEMDBG_ADD(ptr, size);
  42915. | ^
  42916. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  42917. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  42918. 736 | return phys_to_dma(dev, pa);
  42919. | ^~~~~~~~~~~
  42920. | nv_phys_to_dma
  42921. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  42922. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  42923. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  42924. | ^~~~~~~~~~~~~~~~~~~~~~~
  42925. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42926. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42927. 520 | NV_MEMDBG_ADD(ptr, size);
  42928. | ^
  42929. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  42930. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  42931. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  42932. | ^~~~~~~~~~~~~
  42933. | d_is_dir
  42934. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  42935. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  42936. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  42937. | ^~~~~~~~~~~~~~~~~~~~~~~
  42938. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42939. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42940. 520 | NV_MEMDBG_ADD(ptr, size);
  42941. | ^
  42942. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  42943. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42944. 502 | NV_MEMDBG_ADD(ptr, size);
  42945. | ^
  42946. nvidia-uvm/uvm_pmm_test.c: At top level:
  42947. nvidia-uvm/uvm_pmm_test.c:909:11: warning: no previous prototype for '__test_pmm_async_alloc_type' [-Wmissing-prototypes]
  42948. 909 | NV_STATUS __test_pmm_async_alloc_type(uvm_va_space_t *va_space,
  42949. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  42950. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  42951. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  42952. 287 | ktime_get_raw_ts64(&tm);
  42953. | ^~~
  42954. | |
  42955. | struct timespec64 *
  42956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  42957. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  42958. | ~~~~~~~~~~~~~~~~~~~^~
  42959. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  42960. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  42961. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  42962. | ^~~~~~~~~~~~~~~~~~~~~~~
  42963. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42964. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42965. 520 | NV_MEMDBG_ADD(ptr, size);
  42966. | ^
  42967. nvidia-uvm/uvm_linux.h: At top level:
  42968. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42969. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  42970. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42971. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42972. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  42973. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42974. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  42975. 449 | #error "Unknown number of arguments"
  42976. | ^~~~~
  42977. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42978. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  42979. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42980. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  42981. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  42982. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42983. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  42984. 485 | #error "Unknown number of arguments"
  42985. | ^~~~~
  42986. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  42987. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  42988. 533 | ptr = ioremap_cache_shared(phys, size);
  42989. | ^~~~~~~~~~~~~~~~~~~~
  42990. | ioremap_cache
  42991. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  42992. 533 | ptr = ioremap_cache_shared(phys, size);
  42993. | ^
  42994. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  42995. 556 | NV_MEMDBG_ADD(ptr, size);
  42996. | ^
  42997. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  42998. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  42999. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43000. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  43001. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43002. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43003. | ^
  43004. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43005. 573 | NV_MEMDBG_ADD(ptr, size);
  43006. | ^
  43007. ././common/inc/nv-linux.h: In function 'nv_vmap':
  43008. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43009. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  43010. | ^
  43011. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  43012. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  43013. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43014. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  43015. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43016. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43017. | ^
  43018. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43019. 573 | NV_MEMDBG_ADD(ptr, size);
  43020. | ^
  43021. ././common/inc/nv-linux.h: In function 'nv_vmap':
  43022. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43023. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  43024. | ^
  43025. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  43026. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  43027. 736 | return phys_to_dma(dev, pa);
  43028. | ^~~~~~~~~~~
  43029. | nv_phys_to_dma
  43030. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  43031. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  43032. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  43033. 533 | ptr = ioremap_cache_shared(phys, size);
  43034. | ^~~~~~~~~~~~~~~~~~~~
  43035. | ioremap_cache
  43036. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43037. 533 | ptr = ioremap_cache_shared(phys, size);
  43038. | ^
  43039. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43040. 556 | NV_MEMDBG_ADD(ptr, size);
  43041. | ^
  43042. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  43043. 533 | ptr = ioremap_cache_shared(phys, size);
  43044. | ^~~~~~~~~~~~~~~~~~~~
  43045. | ioremap_cache
  43046. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43047. 533 | ptr = ioremap_cache_shared(phys, size);
  43048. | ^
  43049. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43050. 556 | NV_MEMDBG_ADD(ptr, size);
  43051. | ^
  43052. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  43053. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  43054. 736 | return phys_to_dma(dev, pa);
  43055. | ^~~~~~~~~~~
  43056. | nv_phys_to_dma
  43057. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  43058. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  43059. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  43060. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  43061. | ^~~~~~~~~~~~~~~~~~~~~~~
  43062. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43063. 502 | NV_MEMDBG_ADD(ptr, size);
  43064. | ^
  43065. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43066. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43067. 520 | NV_MEMDBG_ADD(ptr, size);
  43068. | ^
  43069. cc1: some warnings being treated as errors
  43070. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  43071. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  43072. 533 | ptr = ioremap_cache_shared(phys, size);
  43073. | ^~~~~~~~~~~~~~~~~~~~
  43074. | ioremap_cache
  43075. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43076. 533 | ptr = ioremap_cache_shared(phys, size);
  43077. | ^
  43078. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43079. 556 | NV_MEMDBG_ADD(ptr, size);
  43080. | ^
  43081. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_test.o] Error 1
  43082. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  43083. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  43084. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  43085. | ^~~~~~~~~~~~~
  43086. | d_is_dir
  43087. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  43088. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  43089. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  43090. | ^~~~~~~~~~~~~
  43091. | d_is_dir
  43092. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  43093. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  43094. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43095. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  43096. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43097. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43098. | ^
  43099. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43100. 573 | NV_MEMDBG_ADD(ptr, size);
  43101. | ^
  43102. ././common/inc/nv-linux.h: In function 'nv_vmap':
  43103. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43104. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  43105. | ^
  43106. nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_get_usec':
  43107. nvidia-modeset/nvidia-modeset-linux.c:360:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  43108. 360 | ktime_get_real_ts64(&ts);
  43109. | ^~~
  43110. | |
  43111. | struct timespec64 *
  43112. /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 *'
  43113. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  43114. | ~~~~~~~~~~~~~~~~~~~^~
  43115. nvidia-modeset/nvidia-modeset-linux.c: At top level:
  43116. nvidia-modeset/nvidia-modeset-linux.c:1080:24: warning: no previous prototype for 'nvkms_open_common' [-Wmissing-prototypes]
  43117. 1080 | struct nvkms_per_open *nvkms_open_common(enum NvKmsClientType type,
  43118. | ^~~~~~~~~~~~~~~~~
  43119. nvidia-modeset/nvidia-modeset-linux.c:1132:6: warning: no previous prototype for 'nvkms_close_pm_locked' [-Wmissing-prototypes]
  43120. 1132 | void nvkms_close_pm_locked(struct nvkms_per_open *popen)
  43121. | ^~~~~~~~~~~~~~~~~~~~~
  43122. nvidia-modeset/nvidia-modeset-linux.c:1195:5: warning: no previous prototype for 'nvkms_ioctl_common' [-Wmissing-prototypes]
  43123. 1195 | int nvkms_ioctl_common
  43124. | ^~~~~~~~~~~~~~~~~~
  43125. nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_add_proc_file':
  43126. nvidia-modeset/nvidia-modeset-linux.c:1359:37: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  43127. 1359 | &nv_procfs_nvkms_proc_fops, file->func);
  43128. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  43129. | |
  43130. | const nv_proc_ops_t * {aka const struct file_operations *}
  43131. In file included from ././common/inc/nv-procfs-utils.h:29,
  43132. from ././common/inc/nv-procfs.h:26,
  43133. from nvidia-modeset/nvidia-modeset-linux.c:52:
  43134. /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 *'}
  43135. 111 | const struct proc_ops *,
  43136. | ^~~~~~~~~~~~~~~~~~~~~~~
  43137. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  43138. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  43139. 736 | return phys_to_dma(dev, pa);
  43140. | ^~~~~~~~~~~
  43141. | nv_phys_to_dma
  43142. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  43143. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  43144. 287 | ktime_get_raw_ts64(&tm);
  43145. | ^~~
  43146. | |
  43147. | struct timespec64 *
  43148. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  43149. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  43150. | ~~~~~~~~~~~~~~~~~~~^~
  43151. nvidia-uvm/uvm_linux.h: At top level:
  43152. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43153. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  43154. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43155. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43156. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  43157. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43158. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  43159. 449 | #error "Unknown number of arguments"
  43160. | ^~~~~
  43161. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43162. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  43163. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43164. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43165. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  43166. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43167. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  43168. 485 | #error "Unknown number of arguments"
  43169. | ^~~~~
  43170. nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_config_file_open':
  43171. nvidia-modeset/nvidia-modeset-linux.c:1465:41: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  43172. 1465 | ssize_t ret = kernel_read(file, read_size,
  43173. | ^~~~~~~~~
  43174. | |
  43175. | size_t {aka long unsigned int}
  43176. nvidia-uvm/uvm_pmm_sysmem_test.c: At top level:
  43177. nvidia-uvm/uvm_pmm_sysmem_test.c:1070:11: warning: no previous prototype for 'do_test_cpu_chunk_free' [-Wmissing-prototypes]
  43178. 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)
  43179. | ^~~~~~~~~~~~~~~~~~~~~~
  43180. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compat.h:17,
  43181. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ia32.h:7,
  43182. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/elf.h:10,
  43183. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/elf.h:6,
  43184. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:19:
  43185. /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'}
  43186. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  43187. | ^~~~~~
  43188. nvidia-modeset/nvidia-modeset-linux.c:1466:41: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion]
  43189. 1466 | *buff + read_size,
  43190. | ~~~~~~^~~~~~~~~~~
  43191. | |
  43192. | char *
  43193. /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 *'
  43194. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  43195. | ^~~~~~
  43196. nvidia-modeset/nvidia-modeset-linux.c:1467:45: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  43197. 1467 | file_size - read_size);
  43198. | ~~~~~~~~~~^~~~~~~~~~~
  43199. | |
  43200. | size_t {aka long unsigned int}
  43201. /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'}
  43202. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  43203. | ^~~~~~~~
  43204. nvidia-uvm/uvm_pmm_sysmem_test.c:1166:11: warning: no previous prototype for 'test_cpu_chunk_free' [-Wmissing-prototypes]
  43205. 1166 | NV_STATUS test_cpu_chunk_free(uvm_va_space_t *va_space, uvm_processor_mask_t *test_gpus)
  43206. | ^~~~~~~~~~~~~~~~~~~
  43207. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  43208. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  43209. 287 | ktime_get_raw_ts64(&tm);
  43210. | ^~~
  43211. | |
  43212. | struct timespec64 *
  43213. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  43214. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  43215. | ~~~~~~~~~~~~~~~~~~~^~
  43216. In file included from nvidia-uvm/uvm_perf_events.h:31,
  43217. from nvidia-uvm/uvm_perf_module.h:29,
  43218. from nvidia-uvm/uvm_perf_module_test.c:25:
  43219. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  43220. nvidia-uvm/uvm_linux.h: At top level:
  43221. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  43222. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  43223. | ^~~~~~~~~~~~~~~~~~~~
  43224. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43225. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  43226. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43227. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43228. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  43229. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43230. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  43231. 449 | #error "Unknown number of arguments"
  43232. | ^~~~~
  43233. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43234. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  43235. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43236. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43237. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  43238. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43239. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  43240. 485 | #error "Unknown number of arguments"
  43241. | ^~~~~
  43242. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  43243. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  43244. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43245. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  43246. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43247. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43248. | ^
  43249. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43250. 573 | NV_MEMDBG_ADD(ptr, size);
  43251. | ^
  43252. ././common/inc/nv-linux.h: In function 'nv_vmap':
  43253. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43254. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  43255. | ^
  43256. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  43257. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  43258. 533 | ptr = ioremap_cache_shared(phys, size);
  43259. | ^~~~~~~~~~~~~~~~~~~~
  43260. | ioremap_cache
  43261. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43262. 533 | ptr = ioremap_cache_shared(phys, size);
  43263. | ^
  43264. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43265. 556 | NV_MEMDBG_ADD(ptr, size);
  43266. | ^
  43267. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  43268. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  43269. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  43270. | ^~~~~~~~~~~~~
  43271. | d_is_dir
  43272. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  43273. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  43274. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43275. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  43276. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43277. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43278. | ^
  43279. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43280. 573 | NV_MEMDBG_ADD(ptr, size);
  43281. | ^
  43282. ././common/inc/nv-linux.h: In function 'nv_vmap':
  43283. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43284. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  43285. | ^
  43286. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  43287. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  43288. 736 | return phys_to_dma(dev, pa);
  43289. | ^~~~~~~~~~~
  43290. | nv_phys_to_dma
  43291. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-modeset/nvidia-modeset-linux.o] Error 1
  43292. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  43293. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  43294. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  43295. | ^~~~~~~~~~~~~~~~~~~~~~~
  43296. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43297. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43298. 520 | NV_MEMDBG_ADD(ptr, size);
  43299. | ^
  43300. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  43301. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  43302. 736 | return phys_to_dma(dev, pa);
  43303. | ^~~~~~~~~~~
  43304. | nv_phys_to_dma
  43305. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  43306. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  43307. 287 | ktime_get_raw_ts64(&tm);
  43308. | ^~~
  43309. | |
  43310. | struct timespec64 *
  43311. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  43312. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  43313. | ~~~~~~~~~~~~~~~~~~~^~
  43314. nvidia-uvm/uvm_linux.h: At top level:
  43315. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43316. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  43317. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43318. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43319. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  43320. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43321. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  43322. 449 | #error "Unknown number of arguments"
  43323. | ^~~~~
  43324. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43325. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  43326. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43327. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43328. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  43329. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43330. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  43331. 485 | #error "Unknown number of arguments"
  43332. | ^~~~~
  43333. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  43334. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  43335. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43336. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  43337. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43338. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43339. | ^
  43340. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43341. 573 | NV_MEMDBG_ADD(ptr, size);
  43342. | ^
  43343. cc1: some warnings being treated as errors
  43344. ././common/inc/nv-linux.h: In function 'nv_vmap':
  43345. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43346. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  43347. | ^
  43348. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  43349. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  43350. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  43351. | ^~~~~~~~~~~~~
  43352. | d_is_dir
  43353. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_sysmem_test.o] Error 1
  43354. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  43355. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  43356. 736 | return phys_to_dma(dev, pa);
  43357. | ^~~~~~~~~~~
  43358. | nv_phys_to_dma
  43359. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  43360. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  43361. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  43362. | ^~~~~~~~~~~~~
  43363. | d_is_dir
  43364. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  43365. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  43366. 287 | ktime_get_raw_ts64(&tm);
  43367. | ^~~
  43368. | |
  43369. | struct timespec64 *
  43370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  43371. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  43372. | ~~~~~~~~~~~~~~~~~~~^~
  43373. nvidia-uvm/uvm_linux.h: At top level:
  43374. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43375. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  43376. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43377. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43378. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  43379. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43380. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  43381. from nvidia-uvm/uvm_gpu.h:37,
  43382. from nvidia-uvm/uvm_global.h:32,
  43383. from nvidia-uvm/uvm_fault_buffer_flush_test.c:26:
  43384. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  43385. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  43386. 449 | #error "Unknown number of arguments"
  43387. | ^~~~~
  43388. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43389. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  43390. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43391. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43392. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  43393. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43394. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  43395. 485 | #error "Unknown number of arguments"
  43396. | ^~~~~
  43397. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  43398. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  43399. | ^~~~~~~~~~~~~~~~~~~~
  43400. In file included from nvidia-uvm/uvm_perf_events.h:31:
  43401. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  43402. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  43403. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  43404. | ^~~~~~~~~~~~~~~~~~~~
  43405. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  43406. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  43407. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43408. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  43409. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43410. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43411. | ^
  43412. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43413. 573 | NV_MEMDBG_ADD(ptr, size);
  43414. | ^
  43415. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  43416. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  43417. 287 | ktime_get_raw_ts64(&tm);
  43418. | ^~~
  43419. | |
  43420. | struct timespec64 *
  43421. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  43422. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  43423. | ~~~~~~~~~~~~~~~~~~~^~
  43424. nvidia-uvm/uvm_linux.h: At top level:
  43425. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43426. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  43427. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43428. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43429. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  43430. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43431. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  43432. 449 | #error "Unknown number of arguments"
  43433. | ^~~~~
  43434. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43435. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  43436. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43437. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43438. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  43439. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43440. ././common/inc/nv-linux.h: In function 'nv_vmap':
  43441. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  43442. 485 | #error "Unknown number of arguments"
  43443. | ^~~~~
  43444. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43445. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  43446. | ^
  43447. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  43448. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  43449. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  43450. | ^~~~~~~~~~~~~
  43451. | d_is_dir
  43452. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  43453. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  43454. 533 | ptr = ioremap_cache_shared(phys, size);
  43455. | ^~~~~~~~~~~~~~~~~~~~
  43456. | ioremap_cache
  43457. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43458. 533 | ptr = ioremap_cache_shared(phys, size);
  43459. | ^
  43460. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43461. 556 | NV_MEMDBG_ADD(ptr, size);
  43462. | ^
  43463. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  43464. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  43465. 736 | return phys_to_dma(dev, pa);
  43466. | ^~~~~~~~~~~
  43467. | nv_phys_to_dma
  43468. cc1: some warnings being treated as errors
  43469. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  43470. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  43471. 287 | ktime_get_raw_ts64(&tm);
  43472. | ^~~
  43473. | |
  43474. | struct timespec64 *
  43475. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  43476. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  43477. | ~~~~~~~~~~~~~~~~~~~^~
  43478. nvidia-uvm/uvm_linux.h: At top level:
  43479. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43480. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  43481. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43482. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43483. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  43484. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43485. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  43486. 449 | #error "Unknown number of arguments"
  43487. | ^~~~~
  43488. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43489. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  43490. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43491. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43492. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  43493. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43494. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  43495. 485 | #error "Unknown number of arguments"
  43496. | ^~~~~
  43497. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_module_test.o] Error 1
  43498. In file included from nvidia-uvm/uvm_perf_events.h:31,
  43499. from nvidia-uvm/uvm_perf_module.h:29,
  43500. from nvidia-uvm/uvm_va_block.h:32,
  43501. from nvidia-uvm/uvm_va_block_test.c:28:
  43502. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  43503. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  43504. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  43505. | ^~~~~~~~~~~~~~~~~~~~
  43506. In file included from ././common/inc/conftest.h:28,
  43507. from nvidia-drm/nvidia-drm-conftest.h:26,
  43508. from nvidia-drm/nvidia-drm-os-interface.h:26,
  43509. from nvidia-drm/nvidia-drm-linux.c:27:
  43510. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  43511. 74 | #error dma_buf_export() conftest failed!
  43512. | ^~~~~
  43513. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  43514. 87 | #error wait_on_bit_lock() conftest failed!
  43515. | ^~~~~
  43516. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  43517. 90 | #error radix_tree_replace_slot() conftest failed!
  43518. | ^~~~~
  43519. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  43520. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  43521. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  43522. | ^~~~~~~~~~~~~
  43523. | d_is_dir
  43524. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-linux.o] Error 1
  43525. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  43526. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  43527. 287 | ktime_get_raw_ts64(&tm);
  43528. | ^~~
  43529. | |
  43530. | struct timespec64 *
  43531. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  43532. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  43533. | ~~~~~~~~~~~~~~~~~~~^~
  43534. nvidia-uvm/uvm_linux.h: At top level:
  43535. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43536. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  43537. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43538. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43539. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  43540. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43541. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  43542. 449 | #error "Unknown number of arguments"
  43543. | ^~~~~
  43544. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43545. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  43546. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43547. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43548. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  43549. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43550. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  43551. 485 | #error "Unknown number of arguments"
  43552. | ^~~~~
  43553. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  43554. from nvidia-uvm/uvm_gpu.h:37,
  43555. from nvidia-uvm/uvm_global.h:32,
  43556. from nvidia-uvm/uvm_va_space.h:28,
  43557. from nvidia-uvm/uvm_range_group_tree_test.c:26:
  43558. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  43559. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  43560. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  43561. | ^~~~~~~~~~~~~~~~~~~~
  43562. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  43563. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  43564. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43565. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  43566. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  43567. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  43568. | ^
  43569. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43570. 573 | NV_MEMDBG_ADD(ptr, size);
  43571. | ^
  43572. ././common/inc/nv-linux.h: In function 'nv_vmap':
  43573. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  43574. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  43575. | ^
  43576. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  43577. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  43578. 736 | return phys_to_dma(dev, pa);
  43579. | ^~~~~~~~~~~
  43580. | nv_phys_to_dma
  43581. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  43582. from nvidia-uvm/uvm_gpu.h:37,
  43583. from nvidia-uvm/uvm_global.h:32,
  43584. from nvidia-uvm/uvm_get_rm_ptes_test.c:25:
  43585. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  43586. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  43587. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  43588. | ^~~~~~~~~~~~~~~~~~~~
  43589. cc1: some warnings being treated as errors
  43590. 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
  43591. cc1: some warnings being treated as errors
  43592. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_events_test.o] Error 1
  43593. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  43594. from nvidia-uvm/uvm_gpu.h:37,
  43595. from nvidia-uvm/uvm_global.h:32,
  43596. from nvidia-uvm/uvm_va_space.h:28,
  43597. from nvidia-uvm/uvm_peer_identity_mappings_test.c:25:
  43598. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  43599. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  43600. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  43601. | ^~~~~~~~~~~~~~~~~~~~
  43602. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  43603. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  43604. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  43605. | ^~~~~~~~~~~~~
  43606. | d_is_dir
  43607. cc1: some warnings being treated as errors
  43608. In file included from nvidia-uvm/uvm_api.h:31:
  43609. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  43610. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  43611. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  43612. | ^~~~~~~~~~~~~~~~~~~~
  43613. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_block_test.o] Error 1
  43614. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  43615. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  43616. 287 | ktime_get_raw_ts64(&tm);
  43617. | ^~~
  43618. | |
  43619. | struct timespec64 *
  43620. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  43621. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  43622. | ~~~~~~~~~~~~~~~~~~~^~
  43623. nvidia-uvm/uvm_linux.h: At top level:
  43624. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43625. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  43626. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43627. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43628. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  43629. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43630. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  43631. 449 | #error "Unknown number of arguments"
  43632. | ^~~~~
  43633. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43634. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  43635. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43636. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  43637. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  43638. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43639. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  43640. 485 | #error "Unknown number of arguments"
  43641. | ^~~~~
  43642. cc1: some warnings being treated as errors
  43643. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rb_tree_test.o] Error 1
  43644. cc1: some warnings being treated as errors
  43645. cc1: some warnings being treated as errors
  43646. 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
  43647. 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
  43648. cc1: some warnings being treated as errors
  43649. 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
  43650. cc1: some warnings being treated as errors
  43651. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_thread_context_test.o] Error 1
  43652. In file included from ././common/inc/conftest.h:28,
  43653. from nvidia-peermem/nvidia-peermem.c:39:
  43654. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  43655. 74 | #error dma_buf_export() conftest failed!
  43656. | ^~~~~
  43657. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  43658. 87 | #error wait_on_bit_lock() conftest failed!
  43659. | ^~~~~
  43660. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  43661. 90 | #error radix_tree_replace_slot() conftest failed!
  43662. | ^~~~~
  43663. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-peermem/nvidia-peermem.o] Error 1
  43664. make[4]: Target './' not remade because of errors.
  43665. make[3]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:1997: .] Error 2
  43666. make[3]: Target 'modules' not remade because of errors.
  43667. make[2]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:251: __sub-make] Error 2
  43668. make[2]: Target 'modules' not remade because of errors.
  43669. make[2]: Leaving directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel'
  43670. make[1]: *** [Makefile:251: __sub-make] Error 2
  43671. make[1]: Target 'modules' not remade because of errors.
  43672. make[1]: Leaving directory '/usr/lib/modules/6.14.6-arch1-1/build'
  43673. make: *** [Makefile:82: modules] Error 2
  43674. -> Error.
  43675. ERROR: An error occurred while performing the step: "Building kernel modules". See /var/log/nvidia-installer.log for details.
  43676. -> 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:
  43677.  
  43678. make[1]: Entering directory '/usr/lib/modules/6.14.6-arch1-1/build'
  43679. make[2]: Entering directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel'
  43680. warning: the compiler differs from the one used to build the kernel
  43681. The kernel was built by: gcc (GCC) 15.1.1 20250425
  43682. You are using: cc (GCC) 15.1.1 20250425
  43683. SYMLINK nvidia/nv-kernel.o
  43684. SYMLINK nvidia-modeset/nv-modeset-kernel.o
  43685. CONFTEST: hash__remap_4k_pfn
  43686. CONFTEST: set_pages_uc
  43687. CONFTEST: list_is_first
  43688. CONFTEST: set_memory_uc
  43689. CONFTEST: set_memory_array_uc
  43690. CONFTEST: set_pages_array_uc
  43691. CONFTEST: ioremap_cache
  43692. CONFTEST: ioremap_wc
  43693. CONFTEST: ioremap_driver_hardened
  43694. CONFTEST: ioremap_driver_hardened_wc
  43695. CONFTEST: ioremap_cache_shared
  43696. CONFTEST: pci_get_domain_bus_and_slot
  43697. CONFTEST: get_num_physpages
  43698. CONFTEST: pde_data
  43699. CONFTEST: xen_ioemu_inject_msi
  43700. CONFTEST: phys_to_dma
  43701. CONFTEST: get_dma_ops
  43702. CONFTEST: dma_attr_macros
  43703. CONFTEST: dma_map_page_attrs
  43704. CONFTEST: write_cr4
  43705. CONFTEST: of_find_node_by_phandle
  43706. CONFTEST: of_node_to_nid
  43707. CONFTEST: pnv_pci_get_npu_dev
  43708. CONFTEST: of_get_ibm_chip_id
  43709. CONFTEST: pci_bus_address
  43710. CONFTEST: pci_stop_and_remove_bus_device
  43711. CONFTEST: pci_rebar_get_possible_sizes
  43712. CONFTEST: wait_for_random_bytes
  43713. CONFTEST: register_cpu_notifier
  43714. CONFTEST: cpuhp_setup_state
  43715. CONFTEST: dma_map_resource
  43716. CONFTEST: get_backlight_device_by_name
  43717. CONFTEST: timer_setup
  43718. CONFTEST: pci_enable_msix_range
  43719. CONFTEST: kernel_read_has_pointer_pos_arg
  43720. CONFTEST: kernel_write_has_pointer_pos_arg
  43721. CONFTEST: dma_direct_map_resource
  43722. CONFTEST: tegra_get_platform
  43723. CONFTEST: tegra_bpmp_send_receive
  43724. CONFTEST: flush_cache_all
  43725. CONFTEST: vmf_insert_pfn
  43726. CONFTEST: jiffies_to_timespec
  43727. CONFTEST: ktime_get_raw_ts64
  43728. CONFTEST: ktime_get_real_ts64
  43729. CONFTEST: full_name_hash
  43730. CONFTEST: pci_enable_atomic_ops_to_root
  43731. CONFTEST: vga_tryget
  43732. CONFTEST: cc_platform_has
  43733. CONFTEST: seq_read_iter
  43734. CONFTEST: unsafe_follow_pfn
  43735. CONFTEST: drm_gem_object_get
  43736. CONFTEST: drm_gem_object_put_unlocked
  43737. CONFTEST: add_memory_driver_managed
  43738. CONFTEST: device_property_read_u64
  43739. CONFTEST: devm_of_platform_populate
  43740. CONFTEST: of_dma_configure
  43741. CONFTEST: of_property_count_elems_of_size
  43742. CONFTEST: of_property_read_variable_u8_array
  43743. CONFTEST: of_property_read_variable_u32_array
  43744. CONFTEST: i2c_new_client_device
  43745. CONFTEST: i2c_unregister_device
  43746. CONFTEST: of_get_named_gpio
  43747. CONFTEST: devm_gpio_request_one
  43748. CONFTEST: gpio_direction_input
  43749. CONFTEST: gpio_direction_output
  43750. CONFTEST: gpio_get_value
  43751. CONFTEST: gpio_set_value
  43752. CONFTEST: gpio_to_irq
  43753. CONFTEST: icc_get
  43754. CONFTEST: icc_put
  43755. CONFTEST: icc_set_bw
  43756. CONFTEST: dma_buf_export_args
  43757. CONFTEST: dma_buf_ops_has_kmap
  43758. CONFTEST: dma_buf_ops_has_kmap_atomic
  43759. CONFTEST: dma_buf_ops_has_map
  43760. CONFTEST: dma_buf_ops_has_map_atomic
  43761. CONFTEST: dma_buf_has_dynamic_attachment
  43762. CONFTEST: dma_buf_attachment_has_peer2peer
  43763. CONFTEST: dma_set_mask_and_coherent
  43764. CONFTEST: devm_clk_bulk_get_all
  43765. CONFTEST: get_task_ioprio
  43766. CONFTEST: mdev_set_iommu_device
  43767. CONFTEST: offline_and_remove_memory
  43768. CONFTEST: crypto_tfm_ctx_aligned
  43769. CONFTEST: wait_on_bit_lock_argument_count
  43770. CONFTEST: radix_tree_empty
  43771. CONFTEST: radix_tree_replace_slot
  43772. CONFTEST: pnv_npu2_init_context
  43773. CONFTEST: cpumask_of_node
  43774. CONFTEST: ioasid_get
  43775. CONFTEST: mm_pasid_drop
  43776. CONFTEST: mmget_not_zero
  43777. CONFTEST: mmgrab
  43778. CONFTEST: iommu_sva_bind_device_has_drvdata_arg
  43779. CONFTEST: vm_fault_to_errno
  43780. CONFTEST: acpi_video_backlight_use_native
  43781. CONFTEST: drm_dev_unref
  43782. CONFTEST: drm_reinit_primary_mode_group
  43783. CONFTEST: get_user_pages_remote
  43784. CONFTEST: get_user_pages
  43785. CONFTEST: pin_user_pages_remote
  43786. CONFTEST: pin_user_pages
  43787. CONFTEST: drm_gem_object_lookup
  43788. CONFTEST: drm_atomic_state_ref_counting
  43789. CONFTEST: drm_driver_has_gem_prime_res_obj
  43790. CONFTEST: drm_atomic_helper_connector_dpms
  43791. CONFTEST: drm_connector_funcs_have_mode_in_name
  43792. CONFTEST: drm_connector_has_vrr_capable_property
  43793. CONFTEST: drm_framebuffer_get
  43794. CONFTEST: drm_dev_put
  43795. CONFTEST: drm_format_num_planes
  43796. CONFTEST: drm_connector_for_each_possible_encoder
  43797. CONFTEST: drm_rotation_available
  43798. CONFTEST: drm_vma_offset_exact_lookup_locked
  43799. CONFTEST: nvhost_dma_fence_unpack
  43800. CONFTEST: is_export_symbol_gpl_of_node_to_nid
  43801. CONFTEST: is_export_symbol_gpl_sme_active
  43802. CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
  43803. CONFTEST: is_export_symbol_present_swiotlb_dma_ops
  43804. CONFTEST: is_export_symbol_present___close_fd
  43805. CONFTEST: is_export_symbol_present_close_fd
  43806. CONFTEST: is_export_symbol_present_get_unused_fd
  43807. CONFTEST: is_export_symbol_present_get_unused_fd_flags
  43808. CONFTEST: is_export_symbol_present_nvhost_get_default_device
  43809. CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_byte_offset
  43810. CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_aperture
  43811. CONFTEST: is_export_symbol_present_tegra_dce_register_ipc_client
  43812. CONFTEST: is_export_symbol_present_tegra_dce_unregister_ipc_client
  43813. CONFTEST: is_export_symbol_present_tegra_dce_client_ipc_send_recv
  43814. CONFTEST: is_export_symbol_present_dram_clk_to_mc_clk
  43815. CONFTEST: is_export_symbol_present_get_dram_num_channels
  43816. CONFTEST: is_export_symbol_present_tegra_dram_types
  43817. CONFTEST: is_export_symbol_present_pxm_to_node
  43818. CONFTEST: is_export_symbol_present_screen_info
  43819. CONFTEST: is_export_symbol_gpl_screen_info
  43820. CONFTEST: is_export_symbol_present_i2c_bus_status
  43821. CONFTEST: is_export_symbol_present_tegra_fuse_control_read
  43822. CONFTEST: is_export_symbol_present_tegra_get_platform
  43823. CONFTEST: is_export_symbol_present_pci_find_host_bridge
  43824. CONFTEST: is_export_symbol_present_tsec_comms_send_cmd
  43825. CONFTEST: is_export_symbol_present_tsec_comms_set_init_cb
  43826. CONFTEST: is_export_symbol_present_tsec_comms_clear_init_cb
  43827. CONFTEST: is_export_symbol_present_tsec_comms_alloc_mem_from_gscco
  43828. CONFTEST: is_export_symbol_present_tsec_comms_free_gscco_mem
  43829. CONFTEST: is_export_symbol_present_memory_block_size_bytes
  43830. CONFTEST: crypto
  43831. CONFTEST: is_export_symbol_present_int_active_memcg
  43832. CONFTEST: is_export_symbol_present_migrate_vma_setup
  43833. CONFTEST: dma_ops
  43834. CONFTEST: swiotlb_dma_ops
  43835. CONFTEST: noncoherent_swiotlb_dma_ops
  43836. CONFTEST: vm_fault_has_address
  43837. CONFTEST: vm_insert_pfn_prot
  43838. CONFTEST: vmf_insert_pfn_prot
  43839. CONFTEST: vm_ops_fault_removed_vma_arg
  43840. CONFTEST: kmem_cache_has_kobj_remove_work
  43841. CONFTEST: sysfs_slab_unlink
  43842. CONFTEST: proc_ops
  43843. CONFTEST: timespec64
  43844. CONFTEST: vmalloc_has_pgprot_t_arg
  43845. CONFTEST: mm_has_mmap_lock
  43846. CONFTEST: pci_channel_state
  43847. CONFTEST: pci_dev_has_ats_enabled
  43848. CONFTEST: remove_memory_has_nid_arg
  43849. CONFTEST: add_memory_driver_managed_has_mhp_flags_arg
  43850. CONFTEST: num_registered_fb
  43851. CONFTEST: pci_driver_has_driver_managed_dma
  43852. CONFTEST: vm_area_struct_has_const_vm_flags
  43853. CONFTEST: memory_failure_has_trapno_arg
  43854. CONFTEST: backing_dev_info
  43855. CONFTEST: mm_context_t
  43856. CONFTEST: vm_fault_t
  43857. CONFTEST: mmu_notifier_ops_invalidate_range
  43858. CONFTEST: mmu_notifier_ops_arch_invalidate_secondary_tlbs
  43859. CONFTEST: migrate_vma_added_flags
  43860. CONFTEST: migrate_device_range
  43861. CONFTEST: handle_mm_fault_has_mm_arg
  43862. CONFTEST: handle_mm_fault_has_pt_regs_arg
  43863. CONFTEST: mempolicy_has_unified_nodes
  43864. CONFTEST: mempolicy_has_home_node
  43865. CONFTEST: mpol_preferred_many_present
  43866. CONFTEST: mmu_interval_notifier
  43867. CONFTEST: drm_bus_present
  43868. CONFTEST: drm_bus_has_bus_type
  43869. CONFTEST: drm_bus_has_get_irq
  43870. CONFTEST: drm_bus_has_get_name
  43871. CONFTEST: drm_driver_has_device_list
  43872. CONFTEST: drm_driver_has_legacy_dev_list
  43873. CONFTEST: drm_driver_has_set_busid
  43874. CONFTEST: drm_crtc_state_has_connectors_changed
  43875. CONFTEST: drm_init_function_args
  43876. CONFTEST: drm_helper_mode_fill_fb_struct
  43877. CONFTEST: drm_master_drop_has_from_release_arg
  43878. CONFTEST: drm_driver_unload_has_int_return_type
  43879. CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
  43880. CONFTEST: drm_atomic_helper_plane_destroy_state_has_plane_arg
  43881. CONFTEST: drm_mode_object_find_has_file_priv_arg
  43882. CONFTEST: dma_buf_owner
  43883. CONFTEST: drm_connector_list_iter
  43884. CONFTEST: drm_atomic_helper_swap_state_has_stall_arg
  43885. CONFTEST: drm_driver_prime_flag_present
  43886. CONFTEST: drm_gem_object_has_resv
  43887. CONFTEST: drm_crtc_state_has_async_flip
  43888. CONFTEST: drm_crtc_state_has_pageflip_flags
  43889. CONFTEST: drm_crtc_state_has_vrr_enabled
  43890. CONFTEST: drm_format_modifiers_present
  43891. CONFTEST: drm_vma_node_is_allowed_has_tag_arg
  43892. CONFTEST: drm_vma_offset_node_has_readonly
  43893. CONFTEST: drm_display_mode_has_vrefresh
  43894. CONFTEST: drm_driver_master_set_has_int_return_type
  43895. CONFTEST: drm_driver_has_gem_free_object
  43896. CONFTEST: drm_prime_pages_to_sg_has_drm_device_arg
  43897. CONFTEST: drm_driver_has_gem_prime_callbacks
  43898. CONFTEST: drm_crtc_atomic_check_has_atomic_state_arg
  43899. CONFTEST: drm_gem_object_vmap_has_map_arg
  43900. CONFTEST: drm_plane_atomic_check_has_atomic_state_arg
  43901. CONFTEST: drm_device_has_pdev
  43902. CONFTEST: drm_crtc_state_has_no_vblank
  43903. CONFTEST: drm_mode_config_has_allow_fb_modifiers
  43904. CONFTEST: drm_has_hdr_output_metadata
  43905. CONFTEST: dma_resv_add_fence
  43906. CONFTEST: dma_resv_reserve_fences
  43907. CONFTEST: reservation_object_reserve_shared_has_num_fences_arg
  43908. CONFTEST: drm_connector_has_override_edid
  43909. CONFTEST: drm_master_has_leases
  43910. CONFTEST: drm_file_get_master
  43911. CONFTEST: drm_modeset_lock_all_end
  43912. CONFTEST: drm_connector_lookup
  43913. CONFTEST: drm_connector_put
  43914. CONFTEST: drm_driver_has_dumb_destroy
  43915. CONFTEST: drm_unlocked_ioctl_flag_present
  43916. CONFTEST: dom0_kernel_present
  43917. CONFTEST: nvidia_vgpu_kvm_build
  43918. CONFTEST: nvidia_grid_build
  43919. CONFTEST: nvidia_grid_csp_build
  43920. CONFTEST: pm_runtime_available
  43921. CONFTEST: pci_class_multimedia_hd_audio
  43922. CONFTEST: drm_available
  43923. CONFTEST: vfio_pci_core_available
  43924. CONFTEST: mdev_available
  43925. CONFTEST: cmd_uphy_display_port_init
  43926. CONFTEST: cmd_uphy_display_port_off
  43927. CONFTEST: memory_failure_mf_sw_simulated_defined
  43928. CONFTEST: drm_atomic_available
  43929. CONFTEST: is_export_symbol_gpl_refcount_inc
  43930. CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
  43931. CONFTEST: drm_alpha_blending_available
  43932. CONFTEST: is_export_symbol_present_drm_gem_prime_fd_to_handle
  43933. CONFTEST: is_export_symbol_present_drm_gem_prime_handle_to_fd
  43934. CONFTEST: ib_peer_memory_symbols
  43935. CC [M] nvidia/nv.o
  43936. CC [M] nvidia/nv-pci.o
  43937. CC [M] nvidia/nv-dmabuf.o
  43938. CC [M] nvidia/nv-nano-timer.o
  43939. CC [M] nvidia/nv-acpi.o
  43940. CC [M] nvidia/nv-cray.o
  43941. CC [M] nvidia/nv-dma.o
  43942. CC [M] nvidia/nv-i2c.o
  43943. CC [M] nvidia/nv-mmap.o
  43944. CC [M] nvidia/nv-p2p.o
  43945. CC [M] nvidia/nv-pat.o
  43946. CC [M] nvidia/nv-procfs.o
  43947. CC [M] nvidia/nv-usermap.o
  43948. In file included from ././common/inc/conftest.h:28,
  43949. from ././common/inc/nv_stdarg.h:29,
  43950. from ././common/inc/os-interface.h:40,
  43951. from nvidia/nv-acpi.c:26:
  43952. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  43953. 74 | #error dma_buf_export() conftest failed!
  43954. | ^~~~~
  43955. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  43956. 87 | #error wait_on_bit_lock() conftest failed!
  43957. | ^~~~~
  43958. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  43959. 90 | #error radix_tree_replace_slot() conftest failed!
  43960. | ^~~~~
  43961. CC [M] nvidia/nv-vm.o
  43962. CC [M] nvidia/nv-vtophys.o
  43963. In file included from ././common/inc/conftest.h:28,
  43964. from ././common/inc/nv_stdarg.h:29,
  43965. from ././common/inc/os-interface.h:40,
  43966. from nvidia/nv-cray.c:26:
  43967. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  43968. 74 | #error dma_buf_export() conftest failed!
  43969. | ^~~~~
  43970. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  43971. 87 | #error wait_on_bit_lock() conftest failed!
  43972. | ^~~~~
  43973. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  43974. 90 | #error radix_tree_replace_slot() conftest failed!
  43975. | ^~~~~
  43976. In file included from ././common/inc/conftest.h:28,
  43977. from ././common/inc/nv_stdarg.h:29,
  43978. from ././common/inc/os-interface.h:40,
  43979. from nvidia/nv-dma.c:26:
  43980. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  43981. 74 | #error dma_buf_export() conftest failed!
  43982. | ^~~~~
  43983. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  43984. 87 | #error wait_on_bit_lock() conftest failed!
  43985. | ^~~~~
  43986. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  43987. 90 | #error radix_tree_replace_slot() conftest failed!
  43988. | ^~~~~
  43989. CC [M] nvidia/os-interface.o
  43990. In file included from ././common/inc/conftest.h:28,
  43991. from ././common/inc/nv_stdarg.h:29,
  43992. from ././common/inc/os-interface.h:40,
  43993. from nvidia/nv-mmap.c:26:
  43994. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  43995. 74 | #error dma_buf_export() conftest failed!
  43996. | ^~~~~
  43997. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  43998. 87 | #error wait_on_bit_lock() conftest failed!
  43999. | ^~~~~
  44000. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  44001. 90 | #error radix_tree_replace_slot() conftest failed!
  44002. | ^~~~~
  44003. In file included from ././common/inc/conftest.h:28,
  44004. from ././common/inc/nv_stdarg.h:29,
  44005. from ././common/inc/os-interface.h:40,
  44006. from nvidia/nv-p2p.c:26:
  44007. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  44008. 74 | #error dma_buf_export() conftest failed!
  44009. | ^~~~~
  44010. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  44011. 87 | #error wait_on_bit_lock() conftest failed!
  44012. | ^~~~~
  44013. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  44014. 90 | #error radix_tree_replace_slot() conftest failed!
  44015. | ^~~~~
  44016. In file included from ././common/inc/conftest.h:28,
  44017. from ././common/inc/nv_stdarg.h:29,
  44018. from ././common/inc/os-interface.h:40,
  44019. from nvidia/nv-pat.c:26:
  44020. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  44021. 74 | #error dma_buf_export() conftest failed!
  44022. | ^~~~~
  44023. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  44024. 87 | #error wait_on_bit_lock() conftest failed!
  44025. | ^~~~~
  44026. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  44027. 90 | #error radix_tree_replace_slot() conftest failed!
  44028. | ^~~~~
  44029. In file included from ././common/inc/conftest.h:28,
  44030. from ././common/inc/nv_stdarg.h:29,
  44031. from ././common/inc/os-interface.h:40,
  44032. from nvidia/nv-procfs.c:26:
  44033. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  44034. 74 | #error dma_buf_export() conftest failed!
  44035. | ^~~~~
  44036. In file included from ././common/inc/conftest.h:28,
  44037. from ././common/inc/nv_stdarg.h:29,
  44038. from ././common/inc/os-interface.h:40,
  44039. from nvidia/nv-usermap.c:26:
  44040. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  44041. 74 | #error dma_buf_export() conftest failed!
  44042. | ^~~~~
  44043. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  44044. 87 | #error wait_on_bit_lock() conftest failed!
  44045. | ^~~~~
  44046. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  44047. 90 | #error radix_tree_replace_slot() conftest failed!
  44048. | ^~~~~
  44049. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  44050. 87 | #error wait_on_bit_lock() conftest failed!
  44051. | ^~~~~
  44052. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  44053. 90 | #error radix_tree_replace_slot() conftest failed!
  44054. | ^~~~~
  44055. In file included from ././common/inc/conftest.h:28,
  44056. from ././common/inc/nv_stdarg.h:29,
  44057. from ././common/inc/os-interface.h:40,
  44058. from nvidia/nv-vtophys.c:26:
  44059. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  44060. 74 | #error dma_buf_export() conftest failed!
  44061. | ^~~~~
  44062. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  44063. 87 | #error wait_on_bit_lock() conftest failed!
  44064. | ^~~~~
  44065. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  44066. 90 | #error radix_tree_replace_slot() conftest failed!
  44067. | ^~~~~
  44068. In file included from ././common/inc/conftest.h:28,
  44069. from ././common/inc/nv_stdarg.h:29,
  44070. from ././common/inc/os-interface.h:40,
  44071. from nvidia/os-interface.c:26:
  44072. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  44073. 74 | #error dma_buf_export() conftest failed!
  44074. | ^~~~~
  44075. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  44076. 87 | #error wait_on_bit_lock() conftest failed!
  44077. | ^~~~~
  44078. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  44079. 90 | #error radix_tree_replace_slot() conftest failed!
  44080. | ^~~~~
  44081. In file included from ././common/inc/conftest.h:28,
  44082. from ././common/inc/nv_stdarg.h:29,
  44083. from ././common/inc/os-interface.h:40,
  44084. from nvidia/nv-vm.c:24:
  44085. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  44086. 74 | #error dma_buf_export() conftest failed!
  44087. | ^~~~~
  44088. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  44089. 87 | #error wait_on_bit_lock() conftest failed!
  44090. | ^~~~~
  44091. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  44092. 90 | #error radix_tree_replace_slot() conftest failed!
  44093. | ^~~~~
  44094. In file included from ././common/inc/conftest.h:28,
  44095. from ././common/inc/nv_stdarg.h:29,
  44096. from ././common/inc/os-interface.h:40,
  44097. from nvidia/nv-nano-timer.c:30:
  44098. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  44099. 74 | #error dma_buf_export() conftest failed!
  44100. | ^~~~~
  44101. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  44102. 87 | #error wait_on_bit_lock() conftest failed!
  44103. | ^~~~~
  44104. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  44105. 90 | #error radix_tree_replace_slot() conftest failed!
  44106. | ^~~~~
  44107. In file included from ././common/inc/nv-linux.h:34,
  44108. from nvidia/nv-p2p.c:27:
  44109. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  44110. 29 | typedef int vm_fault_t;
  44111. | ^~~~~~~~~~
  44112. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  44113. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  44114. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  44115. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  44116. from ././common/inc/nv-lock.h:35,
  44117. from ././common/inc/nv-linux.h:32:
  44118. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  44119. 1311 | typedef __bitwise unsigned int vm_fault_t;
  44120. | ^~~~~~~~~~
  44121. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  44122. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  44123. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  44124. from ././common/inc/nv-lock.h:29:
  44125. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  44126. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44127. 52 | #define current get_current()
  44128. | ^~~~~~~~~~~~~
  44129. | |
  44130. | struct task_struct *
  44131. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  44132. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44133. | ^~~~~~~
  44134. In file included from ././common/inc/nv-pgprot.h:30,
  44135. from ././common/inc/nv-linux.h:33:
  44136. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  44137. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44138. | ~~~~~~~~~~~~~~^~~~~
  44139. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44140. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44141. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44142. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44143. | ~~~~~~~~~~~~~~^~~~~~~~
  44144. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44145. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44146. | ^~~~~~~~
  44147. | |
  44148. | long unsigned int
  44149. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44150. 2535 | unsigned int gup_flags, struct page **pages);
  44151. | ~~~~~~~~~~~~~~^~~~~
  44152. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44153. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44154. | ^~~~~~~~~~~~~~ ~~~~~
  44155. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44156. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44157. | ^~~~~~~~~~~~~~
  44158. In file included from ././common/inc/nv.h:35,
  44159. from ././common/inc/nv-linux.h:28:
  44160. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  44161. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44162. 8 | #define NULL ((void *)0)
  44163. | ^~~~~~~~~~~
  44164. | |
  44165. | void *
  44166. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  44167. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44168. | ^~~~
  44169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  44170. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44171. | ~~~~~~~~~~~~~~^~~~~
  44172. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44173. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44174. | ^~
  44175. | |
  44176. | struct mm_struct *
  44177. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44178. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44179. | ~~~~~~~~~~~~~~^~~~~~~~
  44180. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44181. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44182. | ^~~~~~~~
  44183. | |
  44184. | long unsigned int
  44185. In file included from ././common/inc/nv-linux.h:34,
  44186. from nvidia/nv-pat.c:27:
  44187. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  44188. 29 | typedef int vm_fault_t;
  44189. | ^~~~~~~~~~
  44190. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44191. 2535 | unsigned int gup_flags, struct page **pages);
  44192. | ~~~~~~~~~~~~~~^~~~~
  44193. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44194. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44195. | ^~~~~~~~~~~~~~ ~~~~~
  44196. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44197. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44198. | ^~~~~~~~~~~~~~
  44199. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  44200. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  44201. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  44202. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  44203. from ././common/inc/nv-lock.h:35,
  44204. from ././common/inc/nv-linux.h:32:
  44205. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  44206. 1311 | typedef __bitwise unsigned int vm_fault_t;
  44207. | ^~~~~~~~~~
  44208. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  44209. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  44210. 237 | return (unsigned long)(vmf->virtual_address);
  44211. | ^~~~~~~~~~~~~~~
  44212. | real_address
  44213. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  44214. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  44215. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  44216. from ././common/inc/nv-lock.h:29:
  44217. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  44218. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  44219. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44220. 246 | down_read(&mm->mmap_sem);
  44221. | ^~~~~~~~
  44222. | mmap_base
  44223. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  44224. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44225. 52 | #define current get_current()
  44226. | ^~~~~~~~~~~~~
  44227. | |
  44228. | struct task_struct *
  44229. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  44230. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44231. | ^~~~~~~
  44232. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44233. 255 | up_read(&mm->mmap_sem);
  44234. | ^~~~~~~~
  44235. | mmap_base
  44236. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  44237. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44238. 264 | down_write(&mm->mmap_sem);
  44239. | ^~~~~~~~
  44240. | mmap_base
  44241. In file included from ././common/inc/nv-pgprot.h:30,
  44242. from ././common/inc/nv-linux.h:33:
  44243. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  44244. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44245. | ~~~~~~~~~~~~~~^~~~~
  44246. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44247. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44248. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  44249. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44250. 273 | up_write(&mm->mmap_sem);
  44251. | ^~~~~~~~
  44252. | mmap_base
  44253. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44254. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44255. | ~~~~~~~~~~~~~~^~~~~~~~
  44256. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  44257. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44258. 282 | return rwsem_is_locked(&mm->mmap_sem);
  44259. | ^~~~~~~~
  44260. | mmap_base
  44261. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44262. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44263. | ^~~~~~~~
  44264. | |
  44265. | long unsigned int
  44266. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  44267. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44268. 291 | return &mm->mmap_sem;
  44269. | ^~~~~~~~
  44270. | mmap_base
  44271. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44272. 2535 | unsigned int gup_flags, struct page **pages);
  44273. | ~~~~~~~~~~~~~~^~~~~
  44274. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  44275. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  44276. 300 | vma->vm_flags |= flags;
  44277. | ^~
  44278. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  44279. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  44280. 309 | vma->vm_flags &= ~flags;
  44281. | ^~
  44282. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44283. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44284. | ^~~~~~~~~~~~~~ ~~~~~
  44285. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44286. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44287. | ^~~~~~~~~~~~~~
  44288. In file included from ././common/inc/nv.h:35,
  44289. from ././common/inc/nv-linux.h:28:
  44290. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  44291. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44292. 8 | #define NULL ((void *)0)
  44293. | ^~~~~~~~~~~
  44294. | |
  44295. | void *
  44296. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  44297. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44298. | ^~~~
  44299. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  44300. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44301. | ~~~~~~~~~~~~~~^~~~~
  44302. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44303. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44304. | ^~
  44305. | |
  44306. | struct mm_struct *
  44307. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44308. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44309. | ~~~~~~~~~~~~~~^~~~~~~~
  44310. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44311. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44312. | ^~~~~~~~
  44313. | |
  44314. | long unsigned int
  44315. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44316. 2535 | unsigned int gup_flags, struct page **pages);
  44317. | ~~~~~~~~~~~~~~^~~~~
  44318. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44319. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44320. | ^~~~~~~~~~~~~~ ~~~~~
  44321. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44322. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44323. | ^~~~~~~~~~~~~~
  44324. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  44325. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  44326. 237 | return (unsigned long)(vmf->virtual_address);
  44327. | ^~~~~~~~~~~~~~~
  44328. | real_address
  44329. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  44330. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44331. 246 | down_read(&mm->mmap_sem);
  44332. | ^~~~~~~~
  44333. | mmap_base
  44334. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  44335. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44336. 255 | up_read(&mm->mmap_sem);
  44337. | ^~~~~~~~
  44338. | mmap_base
  44339. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  44340. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44341. 264 | down_write(&mm->mmap_sem);
  44342. | ^~~~~~~~
  44343. | mmap_base
  44344. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  44345. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44346. 273 | up_write(&mm->mmap_sem);
  44347. | ^~~~~~~~
  44348. | mmap_base
  44349. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  44350. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44351. 282 | return rwsem_is_locked(&mm->mmap_sem);
  44352. | ^~~~~~~~
  44353. | mmap_base
  44354. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  44355. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44356. 291 | return &mm->mmap_sem;
  44357. | ^~~~~~~~
  44358. | mmap_base
  44359. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  44360. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  44361. 300 | vma->vm_flags |= flags;
  44362. | ^~
  44363. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  44364. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  44365. 309 | vma->vm_flags &= ~flags;
  44366. | ^~
  44367. In file included from ././common/inc/nv-linux.h:34,
  44368. from nvidia/nv-usermap.c:27:
  44369. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  44370. 29 | typedef int vm_fault_t;
  44371. | ^~~~~~~~~~
  44372. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  44373. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  44374. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  44375. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  44376. from ././common/inc/nv-lock.h:35,
  44377. from ././common/inc/nv-linux.h:32:
  44378. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  44379. 1311 | typedef __bitwise unsigned int vm_fault_t;
  44380. | ^~~~~~~~~~
  44381. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  44382. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  44383. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  44384. from ././common/inc/nv-lock.h:29:
  44385. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  44386. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44387. 52 | #define current get_current()
  44388. | ^~~~~~~~~~~~~
  44389. | |
  44390. | struct task_struct *
  44391. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  44392. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44393. | ^~~~~~~
  44394. In file included from ././common/inc/nv-pgprot.h:30,
  44395. from ././common/inc/nv-linux.h:33:
  44396. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  44397. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44398. | ~~~~~~~~~~~~~~^~~~~
  44399. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44400. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44401. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44402. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44403. | ~~~~~~~~~~~~~~^~~~~~~~
  44404. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44405. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44406. | ^~~~~~~~
  44407. | |
  44408. | long unsigned int
  44409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44410. 2535 | unsigned int gup_flags, struct page **pages);
  44411. | ~~~~~~~~~~~~~~^~~~~
  44412. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44413. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44414. | ^~~~~~~~~~~~~~ ~~~~~
  44415. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44416. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44417. | ^~~~~~~~~~~~~~
  44418. In file included from ././common/inc/nv.h:35,
  44419. from ././common/inc/nv-linux.h:28:
  44420. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  44421. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44422. 8 | #define NULL ((void *)0)
  44423. | ^~~~~~~~~~~
  44424. | |
  44425. | void *
  44426. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  44427. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44428. | ^~~~
  44429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  44430. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44431. | ~~~~~~~~~~~~~~^~~~~
  44432. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44433. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44434. | ^~
  44435. | |
  44436. | struct mm_struct *
  44437. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44438. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44439. | ~~~~~~~~~~~~~~^~~~~~~~
  44440. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44441. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44442. | ^~~~~~~~
  44443. | |
  44444. | long unsigned int
  44445. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44446. 2535 | unsigned int gup_flags, struct page **pages);
  44447. | ~~~~~~~~~~~~~~^~~~~
  44448. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44449. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44450. | ^~~~~~~~~~~~~~ ~~~~~
  44451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44452. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44453. | ^~~~~~~~~~~~~~
  44454. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  44455. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  44456. 237 | return (unsigned long)(vmf->virtual_address);
  44457. | ^~~~~~~~~~~~~~~
  44458. | real_address
  44459. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  44460. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44461. 246 | down_read(&mm->mmap_sem);
  44462. | ^~~~~~~~
  44463. | mmap_base
  44464. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  44465. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44466. 255 | up_read(&mm->mmap_sem);
  44467. | ^~~~~~~~
  44468. | mmap_base
  44469. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  44470. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44471. 264 | down_write(&mm->mmap_sem);
  44472. | ^~~~~~~~
  44473. | mmap_base
  44474. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  44475. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44476. 273 | up_write(&mm->mmap_sem);
  44477. | ^~~~~~~~
  44478. | mmap_base
  44479. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  44480. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44481. 282 | return rwsem_is_locked(&mm->mmap_sem);
  44482. | ^~~~~~~~
  44483. | mmap_base
  44484. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  44485. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44486. 291 | return &mm->mmap_sem;
  44487. | ^~~~~~~~
  44488. | mmap_base
  44489. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  44490. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  44491. 300 | vma->vm_flags |= flags;
  44492. | ^~
  44493. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  44494. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  44495. 309 | vma->vm_flags &= ~flags;
  44496. | ^~
  44497. In file included from ././common/inc/nv-linux.h:37:
  44498. ././common/inc/nv-time.h: At top level:
  44499. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  44500. 40 | struct timespec64 {
  44501. | ^~~~~~~~~~
  44502. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  44503. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  44504. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  44505. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  44506. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  44507. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  44508. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  44509. 13 | struct timespec64 {
  44510. | ^~~~~~~~~~
  44511. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  44512. 77 | static inline struct timespec64 timespec64_add
  44513. | ^~~~~~~~~~~~~~
  44514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  44515. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  44516. | ^~~~~~~~~~~~~~
  44517. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  44518. 95 | static inline struct timespec64 timespec64_sub
  44519. | ^~~~~~~~~~~~~~
  44520. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  44521. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  44522. | ^~~~~~~~~~~~~~
  44523. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  44524. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  44525. | ^~~~~~~~~~~~~~~~
  44526. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  44527. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  44528. | ^~~~~~~~~~~~~~~~
  44529. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  44530. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  44531. 122 | ktime_get_raw_ts64(&ts);
  44532. | ^~~
  44533. | |
  44534. | struct timespec64 *
  44535. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  44536. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  44537. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  44538. | ~~~~~~~~~~~~~~~~~~~^~
  44539. In file included from ././common/inc/nv-linux.h:37:
  44540. ././common/inc/nv-time.h: At top level:
  44541. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  44542. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  44543. 40 | struct timespec64 {
  44544. | ^~~~~~~~~~
  44545. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  44546. 185 | ktime_get_raw_ts64(&tm_aux);
  44547. | ^~~~~~~
  44548. | |
  44549. | struct timespec64 *
  44550. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  44551. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  44552. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  44553. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  44554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  44555. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  44556. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  44557. 13 | struct timespec64 {
  44558. | ^~~~~~~~~~
  44559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  44560. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  44561. | ~~~~~~~~~~~~~~~~~~~^~
  44562. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  44563. 77 | static inline struct timespec64 timespec64_add
  44564. | ^~~~~~~~~~~~~~
  44565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  44566. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  44567. | ^~~~~~~~~~~~~~
  44568. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  44569. 95 | static inline struct timespec64 timespec64_sub
  44570. | ^~~~~~~~~~~~~~
  44571. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  44572. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  44573. | ^~~~~~~~~~~~~~
  44574. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  44575. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  44576. | ^~~~~~~~~~~~~~~~
  44577. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  44578. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  44579. | ^~~~~~~~~~~~~~~~
  44580. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  44581. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  44582. 122 | ktime_get_raw_ts64(&ts);
  44583. | ^~~
  44584. | |
  44585. | struct timespec64 *
  44586. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  44587. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  44588. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  44589. | ~~~~~~~~~~~~~~~~~~~^~
  44590. In file included from ././common/inc/nv-linux.h:34,
  44591. from nvidia/nv-dma.c:27:
  44592. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  44593. 29 | typedef int vm_fault_t;
  44594. | ^~~~~~~~~~
  44595. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  44596. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  44597. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  44598. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  44599. from ././common/inc/nv-lock.h:35,
  44600. from ././common/inc/nv-linux.h:32:
  44601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  44602. 1311 | typedef __bitwise unsigned int vm_fault_t;
  44603. | ^~~~~~~~~~
  44604. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  44605. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  44606. 185 | ktime_get_raw_ts64(&tm_aux);
  44607. | ^~~~~~~
  44608. | |
  44609. | struct timespec64 *
  44610. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  44611. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  44612. | ~~~~~~~~~~~~~~~~~~~^~
  44613. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  44614. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  44615. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  44616. from ././common/inc/nv-lock.h:29:
  44617. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  44618. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  44619. 221 | ktime_get_raw_ts64(&tm_aux);
  44620. | ^~~~~~~
  44621. | |
  44622. | struct timespec64 *
  44623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  44624. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  44625. | ~~~~~~~~~~~~~~~~~~~^~
  44626. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44627. 52 | #define current get_current()
  44628. | ^~~~~~~~~~~~~
  44629. | |
  44630. | struct task_struct *
  44631. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  44632. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44633. | ^~~~~~~
  44634. In file included from ././common/inc/nv-pgprot.h:30,
  44635. from ././common/inc/nv-linux.h:33:
  44636. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  44637. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44638. | ~~~~~~~~~~~~~~^~~~~
  44639. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44640. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44641. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44642. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44643. | ~~~~~~~~~~~~~~^~~~~~~~
  44644. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44645. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44646. | ^~~~~~~~
  44647. | |
  44648. | long unsigned int
  44649. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44650. 2535 | unsigned int gup_flags, struct page **pages);
  44651. | ~~~~~~~~~~~~~~^~~~~
  44652. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44653. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44654. | ^~~~~~~~~~~~~~ ~~~~~
  44655. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44656. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44657. | ^~~~~~~~~~~~~~
  44658. In file included from ././common/inc/nv.h:35,
  44659. from ././common/inc/nv-linux.h:28:
  44660. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  44661. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44662. 8 | #define NULL ((void *)0)
  44663. | ^~~~~~~~~~~
  44664. | |
  44665. | void *
  44666. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  44667. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44668. | ^~~~
  44669. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  44670. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44671. | ~~~~~~~~~~~~~~^~~~~
  44672. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44673. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44674. | ^~
  44675. | |
  44676. | struct mm_struct *
  44677. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  44678. 221 | ktime_get_raw_ts64(&tm_aux);
  44679. | ^~~~~~~
  44680. | |
  44681. | struct timespec64 *
  44682. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44683. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44684. | ~~~~~~~~~~~~~~^~~~~~~~
  44685. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44686. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44687. | ^~~~~~~~
  44688. | |
  44689. | long unsigned int
  44690. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  44691. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  44692. | ~~~~~~~~~~~~~~~~~~~^~
  44693. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44694. 2535 | unsigned int gup_flags, struct page **pages);
  44695. | ~~~~~~~~~~~~~~^~~~~
  44696. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44697. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44698. | ^~~~~~~~~~~~~~ ~~~~~
  44699. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44700. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44701. | ^~~~~~~~~~~~~~
  44702. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  44703. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  44704. 237 | return (unsigned long)(vmf->virtual_address);
  44705. | ^~~~~~~~~~~~~~~
  44706. | real_address
  44707. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  44708. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44709. 246 | down_read(&mm->mmap_sem);
  44710. | ^~~~~~~~
  44711. | mmap_base
  44712. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  44713. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44714. 255 | up_read(&mm->mmap_sem);
  44715. | ^~~~~~~~
  44716. | mmap_base
  44717. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  44718. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44719. 264 | down_write(&mm->mmap_sem);
  44720. | ^~~~~~~~
  44721. | mmap_base
  44722. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  44723. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44724. 273 | up_write(&mm->mmap_sem);
  44725. | ^~~~~~~~
  44726. | mmap_base
  44727. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  44728. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44729. 282 | return rwsem_is_locked(&mm->mmap_sem);
  44730. | ^~~~~~~~
  44731. | mmap_base
  44732. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  44733. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44734. 291 | return &mm->mmap_sem;
  44735. | ^~~~~~~~
  44736. | mmap_base
  44737. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  44738. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  44739. 300 | vma->vm_flags |= flags;
  44740. | ^~
  44741. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  44742. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  44743. 309 | vma->vm_flags &= ~flags;
  44744. | ^~
  44745. In file included from ././common/inc/nv-linux.h:34,
  44746. from nvidia/nv-acpi.c:27:
  44747. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  44748. 29 | typedef int vm_fault_t;
  44749. | ^~~~~~~~~~
  44750. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  44751. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  44752. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  44753. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  44754. from ././common/inc/nv-lock.h:35,
  44755. from ././common/inc/nv-linux.h:32:
  44756. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  44757. 1311 | typedef __bitwise unsigned int vm_fault_t;
  44758. | ^~~~~~~~~~
  44759. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  44760. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  44761. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  44762. from ././common/inc/nv-lock.h:29:
  44763. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  44764. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44765. 52 | #define current get_current()
  44766. | ^~~~~~~~~~~~~
  44767. | |
  44768. | struct task_struct *
  44769. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  44770. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44771. | ^~~~~~~
  44772. In file included from ././common/inc/nv-pgprot.h:30,
  44773. from ././common/inc/nv-linux.h:33:
  44774. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  44775. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44776. | ~~~~~~~~~~~~~~^~~~~
  44777. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44778. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44780. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44781. | ~~~~~~~~~~~~~~^~~~~~~~
  44782. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44783. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44784. | ^~~~~~~~
  44785. | |
  44786. | long unsigned int
  44787. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44788. 2535 | unsigned int gup_flags, struct page **pages);
  44789. | ~~~~~~~~~~~~~~^~~~~
  44790. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44791. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44792. | ^~~~~~~~~~~~~~ ~~~~~
  44793. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44794. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44795. | ^~~~~~~~~~~~~~
  44796. In file included from ././common/inc/nv.h:35,
  44797. from ././common/inc/nv-linux.h:28:
  44798. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  44799. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44800. 8 | #define NULL ((void *)0)
  44801. | ^~~~~~~~~~~
  44802. | |
  44803. | void *
  44804. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  44805. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44806. | ^~~~
  44807. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  44808. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44809. | ~~~~~~~~~~~~~~^~~~~
  44810. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44811. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44812. | ^~
  44813. | |
  44814. | struct mm_struct *
  44815. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44816. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44817. | ~~~~~~~~~~~~~~^~~~~~~~
  44818. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44819. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44820. | ^~~~~~~~
  44821. | |
  44822. | long unsigned int
  44823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44824. 2535 | unsigned int gup_flags, struct page **pages);
  44825. | ~~~~~~~~~~~~~~^~~~~
  44826. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44827. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44828. | ^~~~~~~~~~~~~~ ~~~~~
  44829. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44830. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44831. | ^~~~~~~~~~~~~~
  44832. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  44833. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  44834. 237 | return (unsigned long)(vmf->virtual_address);
  44835. | ^~~~~~~~~~~~~~~
  44836. | real_address
  44837. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  44838. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44839. 246 | down_read(&mm->mmap_sem);
  44840. | ^~~~~~~~
  44841. | mmap_base
  44842. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  44843. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44844. 255 | up_read(&mm->mmap_sem);
  44845. | ^~~~~~~~
  44846. | mmap_base
  44847. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  44848. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44849. 264 | down_write(&mm->mmap_sem);
  44850. | ^~~~~~~~
  44851. | mmap_base
  44852. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  44853. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44854. 273 | up_write(&mm->mmap_sem);
  44855. | ^~~~~~~~
  44856. | mmap_base
  44857. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  44858. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44859. 282 | return rwsem_is_locked(&mm->mmap_sem);
  44860. | ^~~~~~~~
  44861. | mmap_base
  44862. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  44863. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  44864. 291 | return &mm->mmap_sem;
  44865. | ^~~~~~~~
  44866. | mmap_base
  44867. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  44868. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  44869. 300 | vma->vm_flags |= flags;
  44870. | ^~
  44871. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  44872. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  44873. 309 | vma->vm_flags &= ~flags;
  44874. | ^~
  44875. In file included from ././common/inc/nv-linux.h:37:
  44876. ././common/inc/nv-time.h: At top level:
  44877. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  44878. 40 | struct timespec64 {
  44879. | ^~~~~~~~~~
  44880. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  44881. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  44882. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  44883. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  44884. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  44885. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  44886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  44887. 13 | struct timespec64 {
  44888. | ^~~~~~~~~~
  44889. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  44890. 77 | static inline struct timespec64 timespec64_add
  44891. | ^~~~~~~~~~~~~~
  44892. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  44893. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  44894. | ^~~~~~~~~~~~~~
  44895. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  44896. 95 | static inline struct timespec64 timespec64_sub
  44897. | ^~~~~~~~~~~~~~
  44898. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  44899. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  44900. | ^~~~~~~~~~~~~~
  44901. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  44902. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  44903. | ^~~~~~~~~~~~~~~~
  44904. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  44905. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  44906. | ^~~~~~~~~~~~~~~~
  44907. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  44908. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  44909. 122 | ktime_get_raw_ts64(&ts);
  44910. | ^~~
  44911. | |
  44912. | struct timespec64 *
  44913. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  44914. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  44915. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  44916. | ~~~~~~~~~~~~~~~~~~~^~
  44917. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  44918. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  44919. 185 | ktime_get_raw_ts64(&tm_aux);
  44920. | ^~~~~~~
  44921. | |
  44922. | struct timespec64 *
  44923. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  44924. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  44925. | ~~~~~~~~~~~~~~~~~~~^~
  44926. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  44927. 221 | ktime_get_raw_ts64(&tm_aux);
  44928. | ^~~~~~~
  44929. | |
  44930. | struct timespec64 *
  44931. In file included from ././common/inc/nv-linux.h:34,
  44932. from nvidia/nv-mmap.c:27:
  44933. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  44934. 29 | typedef int vm_fault_t;
  44935. | ^~~~~~~~~~
  44936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  44937. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  44938. | ~~~~~~~~~~~~~~~~~~~^~
  44939. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  44940. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  44941. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  44942. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  44943. from ././common/inc/nv-lock.h:35,
  44944. from ././common/inc/nv-linux.h:32:
  44945. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  44946. 1311 | typedef __bitwise unsigned int vm_fault_t;
  44947. | ^~~~~~~~~~
  44948. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  44949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  44950. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  44951. from ././common/inc/nv-lock.h:29:
  44952. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  44953. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44954. 52 | #define current get_current()
  44955. | ^~~~~~~~~~~~~
  44956. | |
  44957. | struct task_struct *
  44958. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  44959. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44960. | ^~~~~~~
  44961. In file included from ././common/inc/nv-pgprot.h:30,
  44962. from ././common/inc/nv-linux.h:33:
  44963. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  44964. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44965. | ~~~~~~~~~~~~~~^~~~~
  44966. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44967. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44968. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  44969. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44970. | ~~~~~~~~~~~~~~^~~~~~~~
  44971. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  44972. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44973. | ^~~~~~~~
  44974. | |
  44975. | long unsigned int
  44976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  44977. 2535 | unsigned int gup_flags, struct page **pages);
  44978. | ~~~~~~~~~~~~~~^~~~~
  44979. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  44980. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  44981. | ^~~~~~~~~~~~~~ ~~~~~
  44982. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  44983. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44984. | ^~~~~~~~~~~~~~
  44985. In file included from ././common/inc/nv.h:35,
  44986. from ././common/inc/nv-linux.h:28:
  44987. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  44988. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  44989. 8 | #define NULL ((void *)0)
  44990. | ^~~~~~~~~~~
  44991. | |
  44992. | void *
  44993. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  44994. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  44995. | ^~~~
  44996. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  44997. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  44998. | ~~~~~~~~~~~~~~^~~~~
  44999. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45000. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45001. | ^~
  45002. | |
  45003. | struct mm_struct *
  45004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45005. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45006. | ~~~~~~~~~~~~~~^~~~~~~~
  45007. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45008. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45009. | ^~~~~~~~
  45010. | |
  45011. | long unsigned int
  45012. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45013. 2535 | unsigned int gup_flags, struct page **pages);
  45014. | ~~~~~~~~~~~~~~^~~~~
  45015. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45016. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45017. | ^~~~~~~~~~~~~~ ~~~~~
  45018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45019. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45020. | ^~~~~~~~~~~~~~
  45021. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  45022. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  45023. 237 | return (unsigned long)(vmf->virtual_address);
  45024. | ^~~~~~~~~~~~~~~
  45025. | real_address
  45026. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  45027. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45028. 246 | down_read(&mm->mmap_sem);
  45029. | ^~~~~~~~
  45030. | mmap_base
  45031. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  45032. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45033. 255 | up_read(&mm->mmap_sem);
  45034. | ^~~~~~~~
  45035. | mmap_base
  45036. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  45037. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45038. 264 | down_write(&mm->mmap_sem);
  45039. | ^~~~~~~~
  45040. | mmap_base
  45041. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  45042. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45043. 273 | up_write(&mm->mmap_sem);
  45044. | ^~~~~~~~
  45045. | mmap_base
  45046. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  45047. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45048. 282 | return rwsem_is_locked(&mm->mmap_sem);
  45049. | ^~~~~~~~
  45050. | mmap_base
  45051. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  45052. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45053. 291 | return &mm->mmap_sem;
  45054. | ^~~~~~~~
  45055. | mmap_base
  45056. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  45057. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  45058. 300 | vma->vm_flags |= flags;
  45059. | ^~
  45060. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  45061. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  45062. 309 | vma->vm_flags &= ~flags;
  45063. | ^~
  45064. In file included from ././common/inc/nv-linux.h:37:
  45065. ././common/inc/nv-time.h: At top level:
  45066. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  45067. 40 | struct timespec64 {
  45068. | ^~~~~~~~~~
  45069. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  45070. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  45071. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  45072. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  45073. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  45074. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  45075. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  45076. 13 | struct timespec64 {
  45077. | ^~~~~~~~~~
  45078. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45079. 77 | static inline struct timespec64 timespec64_add
  45080. | ^~~~~~~~~~~~~~
  45081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45082. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  45083. | ^~~~~~~~~~~~~~
  45084. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45085. 95 | static inline struct timespec64 timespec64_sub
  45086. | ^~~~~~~~~~~~~~
  45087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45088. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  45089. | ^~~~~~~~~~~~~~
  45090. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  45091. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  45092. | ^~~~~~~~~~~~~~~~
  45093. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  45094. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  45095. | ^~~~~~~~~~~~~~~~
  45096. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  45097. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45098. 122 | ktime_get_raw_ts64(&ts);
  45099. | ^~~
  45100. | |
  45101. | struct timespec64 *
  45102. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  45103. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45104. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45105. | ~~~~~~~~~~~~~~~~~~~^~
  45106. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  45107. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45108. 185 | ktime_get_raw_ts64(&tm_aux);
  45109. | ^~~~~~~
  45110. | |
  45111. | struct timespec64 *
  45112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45113. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45114. | ~~~~~~~~~~~~~~~~~~~^~
  45115. In file included from ././common/inc/nv-linux.h:37:
  45116. ././common/inc/nv-time.h: At top level:
  45117. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  45118. 40 | struct timespec64 {
  45119. | ^~~~~~~~~~
  45120. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  45121. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  45122. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  45123. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  45124. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  45125. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  45126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  45127. 13 | struct timespec64 {
  45128. | ^~~~~~~~~~
  45129. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45130. 77 | static inline struct timespec64 timespec64_add
  45131. | ^~~~~~~~~~~~~~
  45132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45133. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  45134. | ^~~~~~~~~~~~~~
  45135. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45136. 95 | static inline struct timespec64 timespec64_sub
  45137. | ^~~~~~~~~~~~~~
  45138. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45139. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  45140. | ^~~~~~~~~~~~~~
  45141. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  45142. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  45143. | ^~~~~~~~~~~~~~~~
  45144. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  45145. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  45146. | ^~~~~~~~~~~~~~~~
  45147. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  45148. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45149. 221 | ktime_get_raw_ts64(&tm_aux);
  45150. | ^~~~~~~
  45151. | |
  45152. | struct timespec64 *
  45153. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45154. 122 | ktime_get_raw_ts64(&ts);
  45155. | ^~~
  45156. | |
  45157. | struct timespec64 *
  45158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45159. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45160. | ~~~~~~~~~~~~~~~~~~~^~
  45161. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  45162. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45163. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45164. | ~~~~~~~~~~~~~~~~~~~^~
  45165. In file included from ././common/inc/nv-linux.h:34,
  45166. from nvidia/os-interface.c:27:
  45167. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  45168. 29 | typedef int vm_fault_t;
  45169. | ^~~~~~~~~~
  45170. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  45171. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  45172. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  45173. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  45174. from ././common/inc/nv-lock.h:35,
  45175. from ././common/inc/nv-linux.h:32:
  45176. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  45177. 1311 | typedef __bitwise unsigned int vm_fault_t;
  45178. | ^~~~~~~~~~
  45179. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  45180. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45181. 185 | ktime_get_raw_ts64(&tm_aux);
  45182. | ^~~~~~~
  45183. | |
  45184. | struct timespec64 *
  45185. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45186. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45187. | ~~~~~~~~~~~~~~~~~~~^~
  45188. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  45189. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  45190. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  45191. from ././common/inc/nv-lock.h:29:
  45192. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  45193. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45194. 52 | #define current get_current()
  45195. | ^~~~~~~~~~~~~
  45196. | |
  45197. | struct task_struct *
  45198. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  45199. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45200. | ^~~~~~~
  45201. In file included from ././common/inc/nv-pgprot.h:30,
  45202. from ././common/inc/nv-linux.h:33:
  45203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  45204. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45205. | ~~~~~~~~~~~~~~^~~~~
  45206. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45207. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45208. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45209. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45210. | ~~~~~~~~~~~~~~^~~~~~~~
  45211. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45212. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45213. | ^~~~~~~~
  45214. | |
  45215. | long unsigned int
  45216. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45217. 2535 | unsigned int gup_flags, struct page **pages);
  45218. | ~~~~~~~~~~~~~~^~~~~
  45219. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45220. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45221. | ^~~~~~~~~~~~~~ ~~~~~
  45222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45223. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45224. | ^~~~~~~~~~~~~~
  45225. In file included from ././common/inc/nv.h:35,
  45226. from ././common/inc/nv-linux.h:28:
  45227. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  45228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45229. 8 | #define NULL ((void *)0)
  45230. | ^~~~~~~~~~~
  45231. | |
  45232. | void *
  45233. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  45234. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45235. | ^~~~
  45236. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  45237. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45238. | ~~~~~~~~~~~~~~^~~~~
  45239. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45240. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45241. | ^~
  45242. | |
  45243. | struct mm_struct *
  45244. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45245. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45246. | ~~~~~~~~~~~~~~^~~~~~~~
  45247. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45248. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45249. | ^~~~~~~~
  45250. | |
  45251. | long unsigned int
  45252. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45253. 221 | ktime_get_raw_ts64(&tm_aux);
  45254. | ^~~~~~~
  45255. | |
  45256. | struct timespec64 *
  45257. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45258. 2535 | unsigned int gup_flags, struct page **pages);
  45259. | ~~~~~~~~~~~~~~^~~~~
  45260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45261. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45262. | ~~~~~~~~~~~~~~~~~~~^~
  45263. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45264. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45265. | ^~~~~~~~~~~~~~ ~~~~~
  45266. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45267. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45268. | ^~~~~~~~~~~~~~
  45269. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  45270. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  45271. 237 | return (unsigned long)(vmf->virtual_address);
  45272. | ^~~~~~~~~~~~~~~
  45273. | real_address
  45274. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  45275. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45276. 246 | down_read(&mm->mmap_sem);
  45277. | ^~~~~~~~
  45278. | mmap_base
  45279. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  45280. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45281. 255 | up_read(&mm->mmap_sem);
  45282. | ^~~~~~~~
  45283. | mmap_base
  45284. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  45285. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45286. 264 | down_write(&mm->mmap_sem);
  45287. | ^~~~~~~~
  45288. | mmap_base
  45289. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  45290. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45291. 273 | up_write(&mm->mmap_sem);
  45292. | ^~~~~~~~
  45293. | mmap_base
  45294. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  45295. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45296. 282 | return rwsem_is_locked(&mm->mmap_sem);
  45297. | ^~~~~~~~
  45298. | mmap_base
  45299. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  45300. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45301. 291 | return &mm->mmap_sem;
  45302. | ^~~~~~~~
  45303. | mmap_base
  45304. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  45305. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  45306. 300 | vma->vm_flags |= flags;
  45307. | ^~
  45308. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  45309. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  45310. 309 | vma->vm_flags &= ~flags;
  45311. | ^~
  45312. In file included from ././common/inc/nv-linux.h:34,
  45313. from nvidia/nv-vtophys.c:27:
  45314. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  45315. 29 | typedef int vm_fault_t;
  45316. | ^~~~~~~~~~
  45317. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  45318. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  45319. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  45320. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  45321. from ././common/inc/nv-lock.h:35,
  45322. from ././common/inc/nv-linux.h:32:
  45323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  45324. 1311 | typedef __bitwise unsigned int vm_fault_t;
  45325. | ^~~~~~~~~~
  45326. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  45327. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  45328. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  45329. from ././common/inc/nv-lock.h:29:
  45330. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  45331. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45332. 52 | #define current get_current()
  45333. | ^~~~~~~~~~~~~
  45334. | |
  45335. | struct task_struct *
  45336. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  45337. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45338. | ^~~~~~~
  45339. In file included from ././common/inc/nv-pgprot.h:30,
  45340. from ././common/inc/nv-linux.h:33:
  45341. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  45342. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45343. | ~~~~~~~~~~~~~~^~~~~
  45344. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45345. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45346. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45347. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45348. | ~~~~~~~~~~~~~~^~~~~~~~
  45349. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45350. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45351. | ^~~~~~~~
  45352. | |
  45353. | long unsigned int
  45354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45355. 2535 | unsigned int gup_flags, struct page **pages);
  45356. | ~~~~~~~~~~~~~~^~~~~
  45357. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45358. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45359. | ^~~~~~~~~~~~~~ ~~~~~
  45360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45361. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45362. | ^~~~~~~~~~~~~~
  45363. In file included from ././common/inc/nv.h:35,
  45364. from ././common/inc/nv-linux.h:28:
  45365. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  45366. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45367. 8 | #define NULL ((void *)0)
  45368. | ^~~~~~~~~~~
  45369. | |
  45370. | void *
  45371. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  45372. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45373. | ^~~~
  45374. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  45375. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45376. | ~~~~~~~~~~~~~~^~~~~
  45377. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45378. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45379. | ^~
  45380. | |
  45381. | struct mm_struct *
  45382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45383. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45384. | ~~~~~~~~~~~~~~^~~~~~~~
  45385. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45386. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45387. | ^~~~~~~~
  45388. | |
  45389. | long unsigned int
  45390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45391. 2535 | unsigned int gup_flags, struct page **pages);
  45392. | ~~~~~~~~~~~~~~^~~~~
  45393. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45394. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45395. | ^~~~~~~~~~~~~~ ~~~~~
  45396. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45397. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45398. | ^~~~~~~~~~~~~~
  45399. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  45400. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  45401. 237 | return (unsigned long)(vmf->virtual_address);
  45402. | ^~~~~~~~~~~~~~~
  45403. | real_address
  45404. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  45405. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45406. 246 | down_read(&mm->mmap_sem);
  45407. | ^~~~~~~~
  45408. | mmap_base
  45409. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  45410. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45411. 255 | up_read(&mm->mmap_sem);
  45412. | ^~~~~~~~
  45413. | mmap_base
  45414. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  45415. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45416. 264 | down_write(&mm->mmap_sem);
  45417. | ^~~~~~~~
  45418. | mmap_base
  45419. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  45420. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45421. 273 | up_write(&mm->mmap_sem);
  45422. | ^~~~~~~~
  45423. | mmap_base
  45424. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  45425. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45426. 282 | return rwsem_is_locked(&mm->mmap_sem);
  45427. | ^~~~~~~~
  45428. | mmap_base
  45429. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  45430. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45431. 291 | return &mm->mmap_sem;
  45432. | ^~~~~~~~
  45433. | mmap_base
  45434. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  45435. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  45436. 300 | vma->vm_flags |= flags;
  45437. | ^~
  45438. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  45439. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  45440. 309 | vma->vm_flags &= ~flags;
  45441. | ^~
  45442. In file included from ././common/inc/nv-linux.h:37:
  45443. ././common/inc/nv-time.h: At top level:
  45444. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  45445. 40 | struct timespec64 {
  45446. | ^~~~~~~~~~
  45447. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  45448. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  45449. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  45450. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  45451. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  45452. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  45453. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  45454. 13 | struct timespec64 {
  45455. | ^~~~~~~~~~
  45456. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45457. 77 | static inline struct timespec64 timespec64_add
  45458. | ^~~~~~~~~~~~~~
  45459. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45460. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  45461. | ^~~~~~~~~~~~~~
  45462. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45463. 95 | static inline struct timespec64 timespec64_sub
  45464. | ^~~~~~~~~~~~~~
  45465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45466. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  45467. | ^~~~~~~~~~~~~~
  45468. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  45469. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  45470. | ^~~~~~~~~~~~~~~~
  45471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  45472. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  45473. | ^~~~~~~~~~~~~~~~
  45474. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  45475. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45476. 122 | ktime_get_raw_ts64(&ts);
  45477. | ^~~
  45478. | |
  45479. | struct timespec64 *
  45480. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  45481. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45482. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45483. | ~~~~~~~~~~~~~~~~~~~^~
  45484. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  45485. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45486. 185 | ktime_get_raw_ts64(&tm_aux);
  45487. | ^~~~~~~
  45488. | |
  45489. | struct timespec64 *
  45490. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45491. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45492. | ~~~~~~~~~~~~~~~~~~~^~
  45493. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45494. 221 | ktime_get_raw_ts64(&tm_aux);
  45495. | ^~~~~~~
  45496. | |
  45497. | struct timespec64 *
  45498. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45499. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45500. | ~~~~~~~~~~~~~~~~~~~^~
  45501. In file included from ././common/inc/conftest.h:28,
  45502. from ././common/inc/nv_stdarg.h:29,
  45503. from ././common/inc/os-interface.h:40,
  45504. from nvidia/nv.c:33:
  45505. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  45506. 74 | #error dma_buf_export() conftest failed!
  45507. | ^~~~~
  45508. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  45509. 87 | #error wait_on_bit_lock() conftest failed!
  45510. | ^~~~~
  45511. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  45512. 90 | #error radix_tree_replace_slot() conftest failed!
  45513. | ^~~~~
  45514. In file included from ././common/inc/nv-linux.h:37:
  45515. ././common/inc/nv-time.h: At top level:
  45516. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  45517. 40 | struct timespec64 {
  45518. | ^~~~~~~~~~
  45519. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  45520. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  45521. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  45522. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  45523. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  45524. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  45525. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  45526. 13 | struct timespec64 {
  45527. | ^~~~~~~~~~
  45528. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45529. 77 | static inline struct timespec64 timespec64_add
  45530. | ^~~~~~~~~~~~~~
  45531. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45532. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  45533. | ^~~~~~~~~~~~~~
  45534. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45535. 95 | static inline struct timespec64 timespec64_sub
  45536. | ^~~~~~~~~~~~~~
  45537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45538. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  45539. | ^~~~~~~~~~~~~~
  45540. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  45541. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  45542. | ^~~~~~~~~~~~~~~~
  45543. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  45544. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  45545. | ^~~~~~~~~~~~~~~~
  45546. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  45547. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45548. 122 | ktime_get_raw_ts64(&ts);
  45549. | ^~~
  45550. | |
  45551. | struct timespec64 *
  45552. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  45553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45554. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45555. | ~~~~~~~~~~~~~~~~~~~^~
  45556. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  45557. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45558. 185 | ktime_get_raw_ts64(&tm_aux);
  45559. | ^~~~~~~
  45560. | |
  45561. | struct timespec64 *
  45562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45563. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45564. | ~~~~~~~~~~~~~~~~~~~^~
  45565. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45566. 221 | ktime_get_raw_ts64(&tm_aux);
  45567. | ^~~~~~~
  45568. | |
  45569. | struct timespec64 *
  45570. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45571. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45572. | ~~~~~~~~~~~~~~~~~~~^~
  45573. In file included from ././common/inc/nv-linux.h:37:
  45574. ././common/inc/nv-time.h: At top level:
  45575. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  45576. 40 | struct timespec64 {
  45577. | ^~~~~~~~~~
  45578. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  45579. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  45580. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  45581. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  45582. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  45583. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  45584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  45585. 13 | struct timespec64 {
  45586. | ^~~~~~~~~~
  45587. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45588. 77 | static inline struct timespec64 timespec64_add
  45589. | ^~~~~~~~~~~~~~
  45590. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45591. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  45592. | ^~~~~~~~~~~~~~
  45593. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45594. 95 | static inline struct timespec64 timespec64_sub
  45595. | ^~~~~~~~~~~~~~
  45596. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45597. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  45598. | ^~~~~~~~~~~~~~
  45599. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  45600. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  45601. | ^~~~~~~~~~~~~~~~
  45602. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  45603. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  45604. | ^~~~~~~~~~~~~~~~
  45605. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  45606. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45607. 122 | ktime_get_raw_ts64(&ts);
  45608. | ^~~
  45609. | |
  45610. | struct timespec64 *
  45611. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  45612. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45613. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45614. | ~~~~~~~~~~~~~~~~~~~^~
  45615. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  45616. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45617. 185 | ktime_get_raw_ts64(&tm_aux);
  45618. | ^~~~~~~
  45619. | |
  45620. | struct timespec64 *
  45621. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45622. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45623. | ~~~~~~~~~~~~~~~~~~~^~
  45624. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  45625. 221 | ktime_get_raw_ts64(&tm_aux);
  45626. | ^~~~~~~
  45627. | |
  45628. | struct timespec64 *
  45629. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  45630. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  45631. | ~~~~~~~~~~~~~~~~~~~^~
  45632. In file included from ././common/inc/conftest.h:28,
  45633. from ././common/inc/nv-pci-types.h:28,
  45634. from nvidia/nv-pci.c:25:
  45635. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  45636. 74 | #error dma_buf_export() conftest failed!
  45637. | ^~~~~
  45638. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  45639. 87 | #error wait_on_bit_lock() conftest failed!
  45640. | ^~~~~
  45641. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  45642. 90 | #error radix_tree_replace_slot() conftest failed!
  45643. | ^~~~~
  45644. In file included from ././common/inc/nv-linux.h:34,
  45645. from nvidia/nv-nano-timer.c:31:
  45646. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  45647. 29 | typedef int vm_fault_t;
  45648. | ^~~~~~~~~~
  45649. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  45650. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  45651. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  45652. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  45653. from ././common/inc/nv-lock.h:35,
  45654. from ././common/inc/nv-linux.h:32:
  45655. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  45656. 1311 | typedef __bitwise unsigned int vm_fault_t;
  45657. | ^~~~~~~~~~
  45658. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  45659. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12,
  45660. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175,
  45661. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5,
  45662. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13,
  45663. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5,
  45664. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67,
  45665. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13,
  45666. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60,
  45667. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  45668. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  45669. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  45670. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  45671. from nvidia/nv-nano-timer.c:27:
  45672. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  45673. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45674. 52 | #define current get_current()
  45675. | ^~~~~~~~~~~~~
  45676. | |
  45677. | struct task_struct *
  45678. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  45679. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45680. | ^~~~~~~
  45681. In file included from ././common/inc/nv-pgprot.h:30,
  45682. from ././common/inc/nv-linux.h:33:
  45683. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  45684. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45685. | ~~~~~~~~~~~~~~^~~~~
  45686. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45687. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45689. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45690. | ~~~~~~~~~~~~~~^~~~~~~~
  45691. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45692. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45693. | ^~~~~~~~
  45694. | |
  45695. | long unsigned int
  45696. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45697. 2535 | unsigned int gup_flags, struct page **pages);
  45698. | ~~~~~~~~~~~~~~^~~~~
  45699. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45700. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45701. | ^~~~~~~~~~~~~~ ~~~~~
  45702. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45703. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45704. | ^~~~~~~~~~~~~~
  45705. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  45706. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  45707. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  45708. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  45709. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  45710. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  45711. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  45712. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/array_size.h:5,
  45713. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernel.h:16,
  45714. from nvidia/nv-nano-timer.c:26:
  45715. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  45716. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45717. 8 | #define NULL ((void *)0)
  45718. | ^~~~~~~~~~~
  45719. | |
  45720. | void *
  45721. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  45722. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45723. | ^~~~
  45724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  45725. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45726. | ~~~~~~~~~~~~~~^~~~~
  45727. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45728. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45729. | ^~
  45730. | |
  45731. | struct mm_struct *
  45732. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45733. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45734. | ~~~~~~~~~~~~~~^~~~~~~~
  45735. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45736. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45737. | ^~~~~~~~
  45738. | |
  45739. | long unsigned int
  45740. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45741. 2535 | unsigned int gup_flags, struct page **pages);
  45742. | ~~~~~~~~~~~~~~^~~~~
  45743. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45744. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45745. | ^~~~~~~~~~~~~~ ~~~~~
  45746. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45747. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45748. | ^~~~~~~~~~~~~~
  45749. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  45750. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  45751. 237 | return (unsigned long)(vmf->virtual_address);
  45752. | ^~~~~~~~~~~~~~~
  45753. | real_address
  45754. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  45755. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45756. 246 | down_read(&mm->mmap_sem);
  45757. | ^~~~~~~~
  45758. | mmap_base
  45759. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  45760. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45761. 255 | up_read(&mm->mmap_sem);
  45762. | ^~~~~~~~
  45763. | mmap_base
  45764. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  45765. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45766. 264 | down_write(&mm->mmap_sem);
  45767. | ^~~~~~~~
  45768. | mmap_base
  45769. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  45770. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45771. 273 | up_write(&mm->mmap_sem);
  45772. | ^~~~~~~~
  45773. | mmap_base
  45774. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  45775. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45776. 282 | return rwsem_is_locked(&mm->mmap_sem);
  45777. | ^~~~~~~~
  45778. | mmap_base
  45779. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  45780. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45781. 291 | return &mm->mmap_sem;
  45782. | ^~~~~~~~
  45783. | mmap_base
  45784. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  45785. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  45786. 300 | vma->vm_flags |= flags;
  45787. | ^~
  45788. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  45789. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  45790. 309 | vma->vm_flags &= ~flags;
  45791. | ^~
  45792. In file included from ././common/inc/nv-linux.h:34,
  45793. from ././common/inc/nv-pci.h:28,
  45794. from nvidia/nv-pci.c:26:
  45795. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  45796. 29 | typedef int vm_fault_t;
  45797. | ^~~~~~~~~~
  45798. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  45799. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  45800. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16,
  45801. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/radix-tree.h:21,
  45802. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/idr.h:15,
  45803. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:12,
  45804. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sysfs.h:16,
  45805. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kobject.h:20,
  45806. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:35,
  45807. from nvidia/nv-pci-table.h:27,
  45808. from nvidia/nv-pci.c:24:
  45809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  45810. 1311 | typedef __bitwise unsigned int vm_fault_t;
  45811. | ^~~~~~~~~~
  45812. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mutex.h:14,
  45813. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:11:
  45814. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  45815. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45816. 52 | #define current get_current()
  45817. | ^~~~~~~~~~~~~
  45818. | |
  45819. | struct task_struct *
  45820. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  45821. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45822. | ^~~~~~~
  45823. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8,
  45824. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dmapool.h:14,
  45825. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:1662:
  45826. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  45827. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45828. | ~~~~~~~~~~~~~~^~~~~
  45829. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45830. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45831. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45832. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45833. | ~~~~~~~~~~~~~~^~~~~~~~
  45834. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45835. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45836. | ^~~~~~~~
  45837. | |
  45838. | long unsigned int
  45839. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45840. 2535 | unsigned int gup_flags, struct page **pages);
  45841. | ~~~~~~~~~~~~~~^~~~~
  45842. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45843. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45844. | ^~~~~~~~~~~~~~ ~~~~~
  45845. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45846. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45847. | ^~~~~~~~~~~~~~
  45848. In file included from ././common/inc/nv-linux.h:34,
  45849. from nvidia/nv-cray.c:27:
  45850. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  45851. 29 | typedef int vm_fault_t;
  45852. | ^~~~~~~~~~
  45853. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  45854. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  45855. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  45856. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei_uuid.h:12,
  45857. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei.h:10,
  45858. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mod_devicetable.h:12,
  45859. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:27:
  45860. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  45861. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45862. 8 | #define NULL ((void *)0)
  45863. | ^~~~~~~~~~~
  45864. | |
  45865. | void *
  45866. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  45867. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45868. | ^~~~
  45869. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  45870. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45871. | ~~~~~~~~~~~~~~^~~~~
  45872. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45873. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45874. | ^~
  45875. | |
  45876. | struct mm_struct *
  45877. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  45878. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  45879. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  45880. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  45881. from ././common/inc/nv-lock.h:35,
  45882. from ././common/inc/nv-linux.h:32:
  45883. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  45884. 1311 | typedef __bitwise unsigned int vm_fault_t;
  45885. | ^~~~~~~~~~
  45886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45887. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45888. | ~~~~~~~~~~~~~~^~~~~~~~
  45889. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45890. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45891. | ^~~~~~~~
  45892. | |
  45893. | long unsigned int
  45894. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45895. 2535 | unsigned int gup_flags, struct page **pages);
  45896. | ~~~~~~~~~~~~~~^~~~~
  45897. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45898. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  45899. | ^~~~~~~~~~~~~~ ~~~~~
  45900. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  45901. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  45902. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  45903. from ././common/inc/nv-lock.h:29:
  45904. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  45905. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45906. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45907. | ^~~~~~~~~~~~~~
  45908. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  45909. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  45910. 237 | return (unsigned long)(vmf->virtual_address);
  45911. | ^~~~~~~~~~~~~~~
  45912. | real_address
  45913. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45914. 52 | #define current get_current()
  45915. | ^~~~~~~~~~~~~
  45916. | |
  45917. | struct task_struct *
  45918. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  45919. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45920. | ^~~~~~~
  45921. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  45922. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45923. 246 | down_read(&mm->mmap_sem);
  45924. | ^~~~~~~~
  45925. | mmap_base
  45926. In file included from ././common/inc/nv-pgprot.h:30,
  45927. from ././common/inc/nv-linux.h:33:
  45928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  45929. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45930. | ~~~~~~~~~~~~~~^~~~~
  45931. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  45932. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  45933. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45934. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45935. 255 | up_read(&mm->mmap_sem);
  45936. | ^~~~~~~~
  45937. | mmap_base
  45938. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  45939. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  45940. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45941. | ~~~~~~~~~~~~~~^~~~~~~~
  45942. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45943. 264 | down_write(&mm->mmap_sem);
  45944. | ^~~~~~~~
  45945. | mmap_base
  45946. In file included from ././common/inc/nv-linux.h:37:
  45947. ././common/inc/nv-time.h: At top level:
  45948. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  45949. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45950. 273 | up_write(&mm->mmap_sem);
  45951. | ^~~~~~~~
  45952. | mmap_base
  45953. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  45954. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45955. | ^~~~~~~~
  45956. | |
  45957. | long unsigned int
  45958. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  45959. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  45960. 40 | struct timespec64 {
  45961. | ^~~~~~~~~~
  45962. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45963. 282 | return rwsem_is_locked(&mm->mmap_sem);
  45964. | ^~~~~~~~
  45965. | mmap_base
  45966. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  45967. 2535 | unsigned int gup_flags, struct page **pages);
  45968. | ~~~~~~~~~~~~~~^~~~~
  45969. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7:
  45970. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  45971. 13 | struct timespec64 {
  45972. | ^~~~~~~~~~
  45973. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  45974. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  45975. 291 | return &mm->mmap_sem;
  45976. | ^~~~~~~~
  45977. | mmap_base
  45978. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  45979. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  45980. 300 | vma->vm_flags |= flags;
  45981. | ^~
  45982. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  45983. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  45984. | ^~~~~~~~~~~~~~ ~~~~~
  45985. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  45986. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  45987. 309 | vma->vm_flags &= ~flags;
  45988. | ^~
  45989. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  45990. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  45991. | ^~~~~~~~~~~~~~
  45992. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  45993. 77 | static inline struct timespec64 timespec64_add
  45994. | ^~~~~~~~~~~~~~
  45995. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  45996. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  45997. | ^~~~~~~~~~~~~~
  45998. In file included from ././common/inc/nv.h:35,
  45999. from ././common/inc/nv-linux.h:28:
  46000. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  46001. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46002. 8 | #define NULL ((void *)0)
  46003. | ^~~~~~~~~~~
  46004. | |
  46005. | void *
  46006. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  46007. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46008. | ^~~~
  46009. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46010. 95 | static inline struct timespec64 timespec64_sub
  46011. | ^~~~~~~~~~~~~~
  46012. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46013. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  46014. | ^~~~~~~~~~~~~~
  46015. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  46016. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46017. | ~~~~~~~~~~~~~~^~~~~
  46018. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46019. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46020. | ^~
  46021. | |
  46022. | struct mm_struct *
  46023. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  46024. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46025. | ~~~~~~~~~~~~~~^~~~~~~~
  46026. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  46027. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46028. | ^~~~~~~~
  46029. | |
  46030. | long unsigned int
  46031. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  46032. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  46033. | ^~~~~~~~~~~~~~~~
  46034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  46035. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  46036. | ^~~~~~~~~~~~~~~~
  46037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  46038. 2535 | unsigned int gup_flags, struct page **pages);
  46039. | ~~~~~~~~~~~~~~^~~~~
  46040. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  46041. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46042. | ^~~~~~~~~~~~~~ ~~~~~
  46043. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  46044. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  46045. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46046. | ^~~~~~~~~~~~~~
  46047. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46048. 122 | ktime_get_raw_ts64(&ts);
  46049. | ^~~
  46050. | |
  46051. | struct timespec64 *
  46052. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  46053. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  46054. 237 | return (unsigned long)(vmf->virtual_address);
  46055. | ^~~~~~~~~~~~~~~
  46056. | real_address
  46057. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  46058. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46059. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46060. | ~~~~~~~~~~~~~~~~~~~^~
  46061. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  46062. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46063. 246 | down_read(&mm->mmap_sem);
  46064. | ^~~~~~~~
  46065. | mmap_base
  46066. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  46067. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46068. 255 | up_read(&mm->mmap_sem);
  46069. | ^~~~~~~~
  46070. | mmap_base
  46071. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  46072. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46073. 264 | down_write(&mm->mmap_sem);
  46074. | ^~~~~~~~
  46075. | mmap_base
  46076. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  46077. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46078. 273 | up_write(&mm->mmap_sem);
  46079. | ^~~~~~~~
  46080. | mmap_base
  46081. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  46082. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  46083. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46084. 185 | ktime_get_raw_ts64(&tm_aux);
  46085. | ^~~~~~~
  46086. | |
  46087. | struct timespec64 *
  46088. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46089. 282 | return rwsem_is_locked(&mm->mmap_sem);
  46090. | ^~~~~~~~
  46091. | mmap_base
  46092. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46093. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46094. | ~~~~~~~~~~~~~~~~~~~^~
  46095. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  46096. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46097. 291 | return &mm->mmap_sem;
  46098. | ^~~~~~~~
  46099. | mmap_base
  46100. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  46101. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  46102. 300 | vma->vm_flags |= flags;
  46103. | ^~
  46104. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  46105. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  46106. 309 | vma->vm_flags &= ~flags;
  46107. | ^~
  46108. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46109. 221 | ktime_get_raw_ts64(&tm_aux);
  46110. | ^~~~~~~
  46111. | |
  46112. | struct timespec64 *
  46113. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46114. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46115. | ~~~~~~~~~~~~~~~~~~~^~
  46116. In file included from ././common/inc/nv-linux.h:34,
  46117. from nvidia/nv-vm.c:26:
  46118. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  46119. 29 | typedef int vm_fault_t;
  46120. | ^~~~~~~~~~
  46121. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  46122. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  46123. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  46124. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  46125. from ././common/inc/nv-lock.h:35,
  46126. from ././common/inc/nv-linux.h:32:
  46127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  46128. 1311 | typedef __bitwise unsigned int vm_fault_t;
  46129. | ^~~~~~~~~~
  46130. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  46131. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  46132. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  46133. from ././common/inc/nv-lock.h:29:
  46134. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  46135. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46136. 52 | #define current get_current()
  46137. | ^~~~~~~~~~~~~
  46138. | |
  46139. | struct task_struct *
  46140. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  46141. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46142. | ^~~~~~~
  46143. In file included from ././common/inc/nv-pgprot.h:30,
  46144. from ././common/inc/nv-linux.h:33:
  46145. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  46146. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46147. | ~~~~~~~~~~~~~~^~~~~
  46148. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46149. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46150. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  46151. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46152. | ~~~~~~~~~~~~~~^~~~~~~~
  46153. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  46154. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46155. | ^~~~~~~~
  46156. | |
  46157. | long unsigned int
  46158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  46159. 2535 | unsigned int gup_flags, struct page **pages);
  46160. | ~~~~~~~~~~~~~~^~~~~
  46161. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  46162. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46163. | ^~~~~~~~~~~~~~ ~~~~~
  46164. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  46165. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46166. | ^~~~~~~~~~~~~~
  46167. In file included from ././common/inc/nv.h:35,
  46168. from nvidia/nv-vm.c:25:
  46169. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  46170. In file included from ././common/inc/nv-linux.h:37:
  46171. ././common/inc/nv-time.h: At top level:
  46172. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46173. 8 | #define NULL ((void *)0)
  46174. | ^~~~~~~~~~~
  46175. | |
  46176. | void *
  46177. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  46178. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46179. | ^~~~
  46180. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  46181. 40 | struct timespec64 {
  46182. | ^~~~~~~~~~
  46183. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  46184. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46185. | ~~~~~~~~~~~~~~^~~~~
  46186. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  46187. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  46188. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  46189. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  46190. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  46191. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  46192. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  46193. 13 | struct timespec64 {
  46194. | ^~~~~~~~~~
  46195. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46196. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46197. | ^~
  46198. | |
  46199. | struct mm_struct *
  46200. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  46201. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46202. | ~~~~~~~~~~~~~~^~~~~~~~
  46203. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  46204. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46205. | ^~~~~~~~
  46206. | |
  46207. | long unsigned int
  46208. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  46209. 2535 | unsigned int gup_flags, struct page **pages);
  46210. | ~~~~~~~~~~~~~~^~~~~
  46211. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46212. 77 | static inline struct timespec64 timespec64_add
  46213. | ^~~~~~~~~~~~~~
  46214. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  46215. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46216. | ^~~~~~~~~~~~~~ ~~~~~
  46217. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46218. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  46219. | ^~~~~~~~~~~~~~
  46220. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  46221. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46222. | ^~~~~~~~~~~~~~
  46223. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  46224. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  46225. 237 | return (unsigned long)(vmf->virtual_address);
  46226. | ^~~~~~~~~~~~~~~
  46227. | real_address
  46228. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46229. 95 | static inline struct timespec64 timespec64_sub
  46230. | ^~~~~~~~~~~~~~
  46231. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46232. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  46233. | ^~~~~~~~~~~~~~
  46234. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  46235. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46236. 246 | down_read(&mm->mmap_sem);
  46237. | ^~~~~~~~
  46238. | mmap_base
  46239. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  46240. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  46241. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  46242. | ^~~~~~~~~~~~~~~~
  46243. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  46244. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  46245. | ^~~~~~~~~~~~~~~~
  46246. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46247. 255 | up_read(&mm->mmap_sem);
  46248. | ^~~~~~~~
  46249. | mmap_base
  46250. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  46251. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  46252. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46253. 264 | down_write(&mm->mmap_sem);
  46254. | ^~~~~~~~
  46255. | mmap_base
  46256. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46257. 122 | ktime_get_raw_ts64(&ts);
  46258. | ^~~
  46259. | |
  46260. | struct timespec64 *
  46261. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  46262. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46263. 273 | up_write(&mm->mmap_sem);
  46264. | ^~~~~~~~
  46265. | mmap_base
  46266. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  46267. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46268. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46269. | ~~~~~~~~~~~~~~~~~~~^~
  46270. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  46271. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46272. 282 | return rwsem_is_locked(&mm->mmap_sem);
  46273. | ^~~~~~~~
  46274. | mmap_base
  46275. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  46276. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46277. 291 | return &mm->mmap_sem;
  46278. | ^~~~~~~~
  46279. | mmap_base
  46280. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  46281. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  46282. 300 | vma->vm_flags |= flags;
  46283. | ^~
  46284. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  46285. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  46286. 309 | vma->vm_flags &= ~flags;
  46287. | ^~
  46288. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  46289. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46290. 185 | ktime_get_raw_ts64(&tm_aux);
  46291. | ^~~~~~~
  46292. | |
  46293. | struct timespec64 *
  46294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46295. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46296. | ~~~~~~~~~~~~~~~~~~~^~
  46297. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46298. 221 | ktime_get_raw_ts64(&tm_aux);
  46299. | ^~~~~~~
  46300. | |
  46301. | struct timespec64 *
  46302. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46303. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46304. | ~~~~~~~~~~~~~~~~~~~^~
  46305. In file included from ././common/inc/nv-linux.h:37:
  46306. ././common/inc/nv-time.h: At top level:
  46307. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  46308. 40 | struct timespec64 {
  46309. | ^~~~~~~~~~
  46310. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  46311. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  46312. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  46313. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  46314. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  46315. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  46316. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  46317. 13 | struct timespec64 {
  46318. | ^~~~~~~~~~
  46319. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46320. 77 | static inline struct timespec64 timespec64_add
  46321. | ^~~~~~~~~~~~~~
  46322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46323. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  46324. | ^~~~~~~~~~~~~~
  46325. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46326. 95 | static inline struct timespec64 timespec64_sub
  46327. | ^~~~~~~~~~~~~~
  46328. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46329. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  46330. | ^~~~~~~~~~~~~~
  46331. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  46332. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  46333. | ^~~~~~~~~~~~~~~~
  46334. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  46335. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  46336. | ^~~~~~~~~~~~~~~~
  46337. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  46338. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46339. 122 | ktime_get_raw_ts64(&ts);
  46340. | ^~~
  46341. | |
  46342. | struct timespec64 *
  46343. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  46344. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46345. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46346. | ~~~~~~~~~~~~~~~~~~~^~
  46347. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  46348. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46349. 185 | ktime_get_raw_ts64(&tm_aux);
  46350. | ^~~~~~~
  46351. | |
  46352. | struct timespec64 *
  46353. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46354. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46355. | ~~~~~~~~~~~~~~~~~~~^~
  46356. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46357. 221 | ktime_get_raw_ts64(&tm_aux);
  46358. | ^~~~~~~
  46359. | |
  46360. | struct timespec64 *
  46361. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46362. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46363. | ~~~~~~~~~~~~~~~~~~~^~
  46364. In file included from ././common/inc/nv-linux.h:37:
  46365. ././common/inc/nv-time.h: At top level:
  46366. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  46367. 40 | struct timespec64 {
  46368. | ^~~~~~~~~~
  46369. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  46370. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  46371. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  46372. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  46373. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  46374. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  46375. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  46376. 13 | struct timespec64 {
  46377. | ^~~~~~~~~~
  46378. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46379. 77 | static inline struct timespec64 timespec64_add
  46380. | ^~~~~~~~~~~~~~
  46381. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46382. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  46383. | ^~~~~~~~~~~~~~
  46384. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46385. 95 | static inline struct timespec64 timespec64_sub
  46386. | ^~~~~~~~~~~~~~
  46387. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46388. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  46389. | ^~~~~~~~~~~~~~
  46390. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  46391. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  46392. | ^~~~~~~~~~~~~~~~
  46393. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  46394. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  46395. | ^~~~~~~~~~~~~~~~
  46396. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  46397. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46398. 122 | ktime_get_raw_ts64(&ts);
  46399. | ^~~
  46400. | |
  46401. | struct timespec64 *
  46402. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  46403. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46404. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46405. | ~~~~~~~~~~~~~~~~~~~^~
  46406. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  46407. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46408. 185 | ktime_get_raw_ts64(&tm_aux);
  46409. | ^~~~~~~
  46410. | |
  46411. | struct timespec64 *
  46412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46413. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46414. | ~~~~~~~~~~~~~~~~~~~^~
  46415. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46416. 221 | ktime_get_raw_ts64(&tm_aux);
  46417. | ^~~~~~~
  46418. | |
  46419. | struct timespec64 *
  46420. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46421. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46422. | ~~~~~~~~~~~~~~~~~~~^~
  46423. In file included from ././common/inc/nv-linux.h:34,
  46424. from nvidia/nv.c:34:
  46425. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  46426. 29 | typedef int vm_fault_t;
  46427. | ^~~~~~~~~~
  46428. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  46429. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  46430. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4,
  46431. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9,
  46432. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17,
  46433. from nvidia/nv.c:24:
  46434. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  46435. 1311 | typedef __bitwise unsigned int vm_fault_t;
  46436. | ^~~~~~~~~~
  46437. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  46438. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12,
  46439. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175,
  46440. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5,
  46441. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13,
  46442. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5,
  46443. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67,
  46444. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13,
  46445. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60,
  46446. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  46447. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13:
  46448. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  46449. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46450. 52 | #define current get_current()
  46451. | ^~~~~~~~~~~~~
  46452. | |
  46453. | struct task_struct *
  46454. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  46455. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46456. | ^~~~~~~
  46457. In file included from ././common/inc/nv-pgprot.h:30,
  46458. from ././common/inc/nv-linux.h:33:
  46459. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  46460. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46461. | ~~~~~~~~~~~~~~^~~~~
  46462. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46463. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46464. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  46465. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46466. | ~~~~~~~~~~~~~~^~~~~~~~
  46467. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  46468. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46469. | ^~~~~~~~
  46470. | |
  46471. | long unsigned int
  46472. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  46473. 2535 | unsigned int gup_flags, struct page **pages);
  46474. | ~~~~~~~~~~~~~~^~~~~
  46475. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  46476. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46477. | ^~~~~~~~~~~~~~ ~~~~~
  46478. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  46479. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46480. | ^~~~~~~~~~~~~~
  46481. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  46482. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  46483. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  46484. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  46485. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  46486. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  46487. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  46488. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  46489. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/container_of.h:5,
  46490. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list.h:5,
  46491. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:12:
  46492. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  46493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46494. 8 | #define NULL ((void *)0)
  46495. | ^~~~~~~~~~~
  46496. | |
  46497. | void *
  46498. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  46499. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46500. | ^~~~
  46501. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  46502. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46503. | ~~~~~~~~~~~~~~^~~~~
  46504. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46505. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46506. | ^~
  46507. | |
  46508. | struct mm_struct *
  46509. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  46510. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46511. | ~~~~~~~~~~~~~~^~~~~~~~
  46512. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  46513. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46514. | ^~~~~~~~
  46515. | |
  46516. | long unsigned int
  46517. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  46518. 2535 | unsigned int gup_flags, struct page **pages);
  46519. | ~~~~~~~~~~~~~~^~~~~
  46520. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  46521. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46522. | ^~~~~~~~~~~~~~ ~~~~~
  46523. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  46524. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46525. | ^~~~~~~~~~~~~~
  46526. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  46527. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  46528. 237 | return (unsigned long)(vmf->virtual_address);
  46529. | ^~~~~~~~~~~~~~~
  46530. | real_address
  46531. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  46532. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46533. 246 | down_read(&mm->mmap_sem);
  46534. | ^~~~~~~~
  46535. | mmap_base
  46536. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  46537. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46538. 255 | up_read(&mm->mmap_sem);
  46539. | ^~~~~~~~
  46540. | mmap_base
  46541. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  46542. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46543. 264 | down_write(&mm->mmap_sem);
  46544. | ^~~~~~~~
  46545. | mmap_base
  46546. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  46547. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46548. 273 | up_write(&mm->mmap_sem);
  46549. | ^~~~~~~~
  46550. | mmap_base
  46551. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  46552. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46553. 282 | return rwsem_is_locked(&mm->mmap_sem);
  46554. | ^~~~~~~~
  46555. | mmap_base
  46556. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  46557. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46558. 291 | return &mm->mmap_sem;
  46559. | ^~~~~~~~
  46560. | mmap_base
  46561. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  46562. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  46563. 300 | vma->vm_flags |= flags;
  46564. | ^~
  46565. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  46566. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  46567. 309 | vma->vm_flags &= ~flags;
  46568. | ^~
  46569. In file included from ././common/inc/nv-linux.h:34,
  46570. from nvidia/nv-procfs.c:27:
  46571. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  46572. 29 | typedef int vm_fault_t;
  46573. | ^~~~~~~~~~
  46574. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  46575. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  46576. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  46577. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  46578. from ././common/inc/nv-lock.h:35,
  46579. from ././common/inc/nv-linux.h:32:
  46580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  46581. 1311 | typedef __bitwise unsigned int vm_fault_t;
  46582. | ^~~~~~~~~~
  46583. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  46584. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  46585. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  46586. from ././common/inc/nv-lock.h:29:
  46587. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  46588. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46589. 52 | #define current get_current()
  46590. | ^~~~~~~~~~~~~
  46591. | |
  46592. | struct task_struct *
  46593. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  46594. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46595. | ^~~~~~~
  46596. In file included from ././common/inc/nv-pgprot.h:30,
  46597. from ././common/inc/nv-linux.h:33:
  46598. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  46599. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46600. | ~~~~~~~~~~~~~~^~~~~
  46601. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46602. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  46604. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46605. | ~~~~~~~~~~~~~~^~~~~~~~
  46606. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  46607. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46608. | ^~~~~~~~
  46609. | |
  46610. | long unsigned int
  46611. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  46612. 2535 | unsigned int gup_flags, struct page **pages);
  46613. | ~~~~~~~~~~~~~~^~~~~
  46614. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  46615. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46616. | ^~~~~~~~~~~~~~ ~~~~~
  46617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  46618. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46619. | ^~~~~~~~~~~~~~
  46620. In file included from ././common/inc/nv.h:35,
  46621. from ././common/inc/nv-linux.h:28:
  46622. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  46623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46624. 8 | #define NULL ((void *)0)
  46625. | ^~~~~~~~~~~
  46626. | |
  46627. | void *
  46628. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  46629. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46630. | ^~~~
  46631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  46632. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46633. | ~~~~~~~~~~~~~~^~~~~
  46634. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46635. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46636. | ^~
  46637. | |
  46638. | struct mm_struct *
  46639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  46640. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46641. | ~~~~~~~~~~~~~~^~~~~~~~
  46642. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  46643. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46644. | ^~~~~~~~
  46645. | |
  46646. | long unsigned int
  46647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  46648. 2535 | unsigned int gup_flags, struct page **pages);
  46649. | ~~~~~~~~~~~~~~^~~~~
  46650. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  46651. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46652. | ^~~~~~~~~~~~~~ ~~~~~
  46653. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  46654. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46655. | ^~~~~~~~~~~~~~
  46656. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  46657. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  46658. 237 | return (unsigned long)(vmf->virtual_address);
  46659. | ^~~~~~~~~~~~~~~
  46660. | real_address
  46661. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  46662. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46663. 246 | down_read(&mm->mmap_sem);
  46664. | ^~~~~~~~
  46665. | mmap_base
  46666. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  46667. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46668. 255 | up_read(&mm->mmap_sem);
  46669. | ^~~~~~~~
  46670. | mmap_base
  46671. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  46672. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46673. 264 | down_write(&mm->mmap_sem);
  46674. | ^~~~~~~~
  46675. | mmap_base
  46676. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  46677. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46678. 273 | up_write(&mm->mmap_sem);
  46679. | ^~~~~~~~
  46680. | mmap_base
  46681. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  46682. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46683. 282 | return rwsem_is_locked(&mm->mmap_sem);
  46684. | ^~~~~~~~
  46685. | mmap_base
  46686. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  46687. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46688. 291 | return &mm->mmap_sem;
  46689. | ^~~~~~~~
  46690. | mmap_base
  46691. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  46692. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  46693. 300 | vma->vm_flags |= flags;
  46694. | ^~
  46695. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  46696. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  46697. 309 | vma->vm_flags &= ~flags;
  46698. | ^~
  46699. In file included from ././common/inc/nv-linux.h:37:
  46700. ././common/inc/nv-time.h: At top level:
  46701. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  46702. 40 | struct timespec64 {
  46703. | ^~~~~~~~~~
  46704. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  46705. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  46706. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  46707. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  46708. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  46709. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  46710. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  46711. 13 | struct timespec64 {
  46712. | ^~~~~~~~~~
  46713. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46714. 77 | static inline struct timespec64 timespec64_add
  46715. | ^~~~~~~~~~~~~~
  46716. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46717. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  46718. | ^~~~~~~~~~~~~~
  46719. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46720. 95 | static inline struct timespec64 timespec64_sub
  46721. | ^~~~~~~~~~~~~~
  46722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46723. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  46724. | ^~~~~~~~~~~~~~
  46725. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  46726. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  46727. | ^~~~~~~~~~~~~~~~
  46728. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  46729. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  46730. | ^~~~~~~~~~~~~~~~
  46731. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  46732. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46733. 122 | ktime_get_raw_ts64(&ts);
  46734. | ^~~
  46735. | |
  46736. | struct timespec64 *
  46737. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  46738. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46739. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46740. | ~~~~~~~~~~~~~~~~~~~^~
  46741. In file included from ././common/inc/nv-linux.h:37:
  46742. ././common/inc/nv-time.h: At top level:
  46743. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  46744. 40 | struct timespec64 {
  46745. | ^~~~~~~~~~
  46746. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7:
  46747. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  46748. 13 | struct timespec64 {
  46749. | ^~~~~~~~~~
  46750. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46751. 77 | static inline struct timespec64 timespec64_add
  46752. | ^~~~~~~~~~~~~~
  46753. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46754. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  46755. | ^~~~~~~~~~~~~~
  46756. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  46757. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46758. 185 | ktime_get_raw_ts64(&tm_aux);
  46759. | ^~~~~~~
  46760. | |
  46761. | struct timespec64 *
  46762. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46763. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46764. | ~~~~~~~~~~~~~~~~~~~^~
  46765. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46766. 95 | static inline struct timespec64 timespec64_sub
  46767. | ^~~~~~~~~~~~~~
  46768. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46769. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  46770. | ^~~~~~~~~~~~~~
  46771. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  46772. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  46773. | ^~~~~~~~~~~~~~~~
  46774. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  46775. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  46776. | ^~~~~~~~~~~~~~~~
  46777. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  46778. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46779. 122 | ktime_get_raw_ts64(&ts);
  46780. | ^~~
  46781. | |
  46782. | struct timespec64 *
  46783. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  46784. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  46785. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  46786. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  46787. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46788. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46789. | ~~~~~~~~~~~~~~~~~~~^~
  46790. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  46791. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46792. 185 | ktime_get_raw_ts64(&tm_aux);
  46793. | ^~~~~~~
  46794. | |
  46795. | struct timespec64 *
  46796. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46797. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46798. | ~~~~~~~~~~~~~~~~~~~^~
  46799. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46800. 221 | ktime_get_raw_ts64(&tm_aux);
  46801. | ^~~~~~~
  46802. | |
  46803. | struct timespec64 *
  46804. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46805. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46806. | ~~~~~~~~~~~~~~~~~~~^~
  46807. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46808. 221 | ktime_get_raw_ts64(&tm_aux);
  46809. | ^~~~~~~
  46810. | |
  46811. | struct timespec64 *
  46812. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  46813. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  46814. | ~~~~~~~~~~~~~~~~~~~^~
  46815. In file included from ././common/inc/conftest.h:28,
  46816. from ././common/inc/nv_stdarg.h:29,
  46817. from ././common/inc/nv.h:41,
  46818. from ././common/inc/nv-linux.h:28,
  46819. from ././common/inc/nv-dmabuf.h:27,
  46820. from nvidia/nv-dmabuf.c:24:
  46821. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  46822. 74 | #error dma_buf_export() conftest failed!
  46823. | ^~~~~
  46824. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  46825. 87 | #error wait_on_bit_lock() conftest failed!
  46826. | ^~~~~
  46827. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  46828. 90 | #error radix_tree_replace_slot() conftest failed!
  46829. | ^~~~~
  46830. In file included from ././common/inc/nv-linux.h:34:
  46831. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  46832. 29 | typedef int vm_fault_t;
  46833. | ^~~~~~~~~~
  46834. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  46835. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  46836. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:7,
  46837. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8,
  46838. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:19,
  46839. from nvidia/nv-dmabuf.c:23:
  46840. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  46841. 1311 | typedef __bitwise unsigned int vm_fault_t;
  46842. | ^~~~~~~~~~
  46843. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  46844. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:9,
  46845. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18,
  46846. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/special_insns.h:10,
  46847. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/io.h:45,
  46848. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:14,
  46849. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/iosys-map.h:10,
  46850. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:16:
  46851. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  46852. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46853. 52 | #define current get_current()
  46854. | ^~~~~~~~~~~~~
  46855. | |
  46856. | struct task_struct *
  46857. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  46858. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46859. | ^~~~~~~
  46860. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  46861. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46862. | ~~~~~~~~~~~~~~^~~~~
  46863. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46864. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46865. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  46866. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46867. | ~~~~~~~~~~~~~~^~~~~~~~
  46868. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  46869. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46870. | ^~~~~~~~
  46871. | |
  46872. | long unsigned int
  46873. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  46874. 2535 | unsigned int gup_flags, struct page **pages);
  46875. | ~~~~~~~~~~~~~~^~~~~
  46876. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  46877. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  46878. | ^~~~~~~~~~~~~~ ~~~~~
  46879. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  46880. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46881. | ^~~~~~~~~~~~~~
  46882. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  46883. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  46884. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  46885. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:10:
  46886. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  46887. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46888. 8 | #define NULL ((void *)0)
  46889. | ^~~~~~~~~~~
  46890. | |
  46891. | void *
  46892. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  46893. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46894. | ^~~~
  46895. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  46896. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46897. | ~~~~~~~~~~~~~~^~~~~
  46898. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  46899. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46900. | ^~
  46901. | |
  46902. | struct mm_struct *
  46903. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  46904. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46905. | ~~~~~~~~~~~~~~^~~~~~~~
  46906. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  46907. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46908. | ^~~~~~~~
  46909. | |
  46910. | long unsigned int
  46911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  46912. 2535 | unsigned int gup_flags, struct page **pages);
  46913. | ~~~~~~~~~~~~~~^~~~~
  46914. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  46915. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  46916. | ^~~~~~~~~~~~~~ ~~~~~
  46917. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  46918. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  46919. | ^~~~~~~~~~~~~~
  46920. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  46921. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  46922. 237 | return (unsigned long)(vmf->virtual_address);
  46923. | ^~~~~~~~~~~~~~~
  46924. | real_address
  46925. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  46926. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46927. 246 | down_read(&mm->mmap_sem);
  46928. | ^~~~~~~~
  46929. | mmap_base
  46930. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  46931. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46932. 255 | up_read(&mm->mmap_sem);
  46933. | ^~~~~~~~
  46934. | mmap_base
  46935. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  46936. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46937. 264 | down_write(&mm->mmap_sem);
  46938. | ^~~~~~~~
  46939. | mmap_base
  46940. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  46941. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46942. 273 | up_write(&mm->mmap_sem);
  46943. | ^~~~~~~~
  46944. | mmap_base
  46945. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  46946. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46947. 282 | return rwsem_is_locked(&mm->mmap_sem);
  46948. | ^~~~~~~~
  46949. | mmap_base
  46950. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  46951. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  46952. 291 | return &mm->mmap_sem;
  46953. | ^~~~~~~~
  46954. | mmap_base
  46955. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  46956. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  46957. 300 | vma->vm_flags |= flags;
  46958. | ^~
  46959. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  46960. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  46961. 309 | vma->vm_flags &= ~flags;
  46962. | ^~
  46963. In file included from ././common/inc/nv-linux.h:37:
  46964. ././common/inc/nv-time.h: At top level:
  46965. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  46966. 40 | struct timespec64 {
  46967. | ^~~~~~~~~~
  46968. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  46969. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  46970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  46971. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  46972. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  46973. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  46974. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  46975. 13 | struct timespec64 {
  46976. | ^~~~~~~~~~
  46977. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46978. 77 | static inline struct timespec64 timespec64_add
  46979. | ^~~~~~~~~~~~~~
  46980. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46981. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  46982. | ^~~~~~~~~~~~~~
  46983. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  46984. 95 | static inline struct timespec64 timespec64_sub
  46985. | ^~~~~~~~~~~~~~
  46986. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  46987. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  46988. | ^~~~~~~~~~~~~~
  46989. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  46990. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  46991. | ^~~~~~~~~~~~~~~~
  46992. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  46993. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  46994. | ^~~~~~~~~~~~~~~~
  46995. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  46996. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  46997. 122 | ktime_get_raw_ts64(&ts);
  46998. | ^~~
  46999. | |
  47000. | struct timespec64 *
  47001. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  47002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  47003. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  47004. | ~~~~~~~~~~~~~~~~~~~^~
  47005. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  47006. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  47007. 185 | ktime_get_raw_ts64(&tm_aux);
  47008. | ^~~~~~~
  47009. | |
  47010. | struct timespec64 *
  47011. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  47012. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  47013. | ~~~~~~~~~~~~~~~~~~~^~
  47014. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  47015. 221 | ktime_get_raw_ts64(&tm_aux);
  47016. | ^~~~~~~
  47017. | |
  47018. | struct timespec64 *
  47019. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  47020. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  47021. | ~~~~~~~~~~~~~~~~~~~^~
  47022. In file included from ././common/inc/conftest.h:28,
  47023. from ././common/inc/nv_stdarg.h:29,
  47024. from ././common/inc/os-interface.h:40,
  47025. from nvidia/nv-i2c.c:28:
  47026. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  47027. 74 | #error dma_buf_export() conftest failed!
  47028. | ^~~~~
  47029. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  47030. 87 | #error wait_on_bit_lock() conftest failed!
  47031. | ^~~~~
  47032. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  47033. 90 | #error radix_tree_replace_slot() conftest failed!
  47034. | ^~~~~
  47035. In file included from ././common/inc/nv-linux.h:34,
  47036. from nvidia/nv-i2c.c:29:
  47037. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  47038. 29 | typedef int vm_fault_t;
  47039. | ^~~~~~~~~~
  47040. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  47041. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  47042. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/slab.h:16,
  47043. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/resource_ext.h:11,
  47044. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:13,
  47045. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:13,
  47046. from nvidia/nv-i2c.c:26:
  47047. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  47048. 1311 | typedef __bitwise unsigned int vm_fault_t;
  47049. | ^~~~~~~~~~
  47050. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  47051. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  47052. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  47053. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:8:
  47054. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  47055. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  47056. 52 | #define current get_current()
  47057. | ^~~~~~~~~~~~~
  47058. | |
  47059. | struct task_struct *
  47060. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  47061. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  47062. | ^~~~~~~
  47063. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/memcontrol.h:21,
  47064. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/swap.h:9,
  47065. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/suspend.h:5,
  47066. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/regulator/consumer.h:35,
  47067. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:19:
  47068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  47069. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  47070. | ~~~~~~~~~~~~~~^~~~~
  47071. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  47072. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  47073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  47074. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  47075. | ~~~~~~~~~~~~~~^~~~~~~~
  47076. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  47077. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  47078. | ^~~~~~~~
  47079. | |
  47080. | long unsigned int
  47081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  47082. 2535 | unsigned int gup_flags, struct page **pages);
  47083. | ~~~~~~~~~~~~~~^~~~~
  47084. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  47085. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  47086. | ^~~~~~~~~~~~~~ ~~~~~
  47087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  47088. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  47089. | ^~~~~~~~~~~~~~
  47090. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  47091. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  47092. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  47093. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  47094. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  47095. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  47096. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  47097. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  47098. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bits.h:22,
  47099. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ioport.h:13,
  47100. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:12:
  47101. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  47102. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  47103. 8 | #define NULL ((void *)0)
  47104. | ^~~~~~~~~~~
  47105. | |
  47106. | void *
  47107. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  47108. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  47109. | ^~~~
  47110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  47111. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  47112. | ~~~~~~~~~~~~~~^~~~~
  47113. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  47114. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  47115. | ^~
  47116. | |
  47117. | struct mm_struct *
  47118. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  47119. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  47120. | ~~~~~~~~~~~~~~^~~~~~~~
  47121. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  47122. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  47123. | ^~~~~~~~
  47124. | |
  47125. | long unsigned int
  47126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  47127. 2535 | unsigned int gup_flags, struct page **pages);
  47128. | ~~~~~~~~~~~~~~^~~~~
  47129. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  47130. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  47131. | ^~~~~~~~~~~~~~ ~~~~~
  47132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  47133. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  47134. | ^~~~~~~~~~~~~~
  47135. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  47136. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  47137. 237 | return (unsigned long)(vmf->virtual_address);
  47138. | ^~~~~~~~~~~~~~~
  47139. | real_address
  47140. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  47141. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  47142. 246 | down_read(&mm->mmap_sem);
  47143. | ^~~~~~~~
  47144. | mmap_base
  47145. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  47146. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  47147. 255 | up_read(&mm->mmap_sem);
  47148. | ^~~~~~~~
  47149. | mmap_base
  47150. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  47151. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  47152. 264 | down_write(&mm->mmap_sem);
  47153. | ^~~~~~~~
  47154. | mmap_base
  47155. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  47156. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  47157. 273 | up_write(&mm->mmap_sem);
  47158. | ^~~~~~~~
  47159. | mmap_base
  47160. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  47161. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  47162. 282 | return rwsem_is_locked(&mm->mmap_sem);
  47163. | ^~~~~~~~
  47164. | mmap_base
  47165. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  47166. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  47167. 291 | return &mm->mmap_sem;
  47168. | ^~~~~~~~
  47169. | mmap_base
  47170. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  47171. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  47172. 300 | vma->vm_flags |= flags;
  47173. | ^~
  47174. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  47175. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  47176. 309 | vma->vm_flags &= ~flags;
  47177. | ^~
  47178. In file included from ././common/inc/nv-linux.h:37:
  47179. ././common/inc/nv-time.h: At top level:
  47180. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  47181. 40 | struct timespec64 {
  47182. | ^~~~~~~~~~
  47183. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  47184. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  47185. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  47186. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  47187. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  47188. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  47189. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  47190. 13 | struct timespec64 {
  47191. | ^~~~~~~~~~
  47192. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  47193. 77 | static inline struct timespec64 timespec64_add
  47194. | ^~~~~~~~~~~~~~
  47195. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  47196. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  47197. | ^~~~~~~~~~~~~~
  47198. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  47199. 95 | static inline struct timespec64 timespec64_sub
  47200. | ^~~~~~~~~~~~~~
  47201. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  47202. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  47203. | ^~~~~~~~~~~~~~
  47204. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  47205. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  47206. | ^~~~~~~~~~~~~~~~
  47207. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  47208. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  47209. | ^~~~~~~~~~~~~~~~
  47210. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  47211. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  47212. 122 | ktime_get_raw_ts64(&ts);
  47213. | ^~~
  47214. | |
  47215. | struct timespec64 *
  47216. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  47217. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  47218. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  47219. | ~~~~~~~~~~~~~~~~~~~^~
  47220. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  47221. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  47222. 185 | ktime_get_raw_ts64(&tm_aux);
  47223. | ^~~~~~~
  47224. | |
  47225. | struct timespec64 *
  47226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  47227. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  47228. | ~~~~~~~~~~~~~~~~~~~^~
  47229. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  47230. 221 | ktime_get_raw_ts64(&tm_aux);
  47231. | ^~~~~~~
  47232. | |
  47233. | struct timespec64 *
  47234. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  47235. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  47236. | ~~~~~~~~~~~~~~~~~~~^~
  47237. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47238. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47239. 502 | NV_MEMDBG_ADD(ptr, size);
  47240. | ^
  47241. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47242. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47243. 502 | NV_MEMDBG_ADD(ptr, size);
  47244. | ^
  47245. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47246. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47247. 502 | NV_MEMDBG_ADD(ptr, size);
  47248. | ^
  47249. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47250. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47251. 502 | NV_MEMDBG_ADD(ptr, size);
  47252. | ^
  47253. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47254. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47255. 502 | NV_MEMDBG_ADD(ptr, size);
  47256. | ^
  47257. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47258. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47259. 502 | NV_MEMDBG_ADD(ptr, size);
  47260. | ^
  47261. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47262. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47263. 502 | NV_MEMDBG_ADD(ptr, size);
  47264. | ^
  47265. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47266. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47267. 502 | NV_MEMDBG_ADD(ptr, size);
  47268. | ^
  47269. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47270. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47271. 502 | NV_MEMDBG_ADD(ptr, size);
  47272. | ^
  47273. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47274. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47275. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47276. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47277. | ^~~~~~~~~~~~~~~~~~~~~~~
  47278. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47279. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47280. 520 | NV_MEMDBG_ADD(ptr, size);
  47281. | ^
  47282. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47283. 502 | NV_MEMDBG_ADD(ptr, size);
  47284. | ^
  47285. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47286. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47287. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47288. | ^~~~~~~~~~~~~~~~~~~~~~~
  47289. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47290. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47291. 520 | NV_MEMDBG_ADD(ptr, size);
  47292. | ^
  47293. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47294. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47295. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47296. | ^~~~~~~~~~~~~~~~~~~~~~~
  47297. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47298. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47299. 520 | NV_MEMDBG_ADD(ptr, size);
  47300. | ^
  47301. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47302. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47303. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47304. | ^~~~~~~~~~~~~~~~~~~~~~~
  47305. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47306. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47307. 520 | NV_MEMDBG_ADD(ptr, size);
  47308. | ^
  47309. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47310. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47311. 502 | NV_MEMDBG_ADD(ptr, size);
  47312. | ^
  47313. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47314. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47315. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47316. | ^~~~~~~~~~~~~~~~~~~~~~~
  47317. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47318. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47319. 520 | NV_MEMDBG_ADD(ptr, size);
  47320. | ^
  47321. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47322. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47323. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47324. | ^~~~~~~~~~~~~~~~~~~~~~~
  47325. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47326. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47327. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47328. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47329. | ^~~~~~~~~~~~~~~~~~~~~~~
  47330. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47331. 520 | NV_MEMDBG_ADD(ptr, size);
  47332. | ^
  47333. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47334. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47335. 520 | NV_MEMDBG_ADD(ptr, size);
  47336. | ^
  47337. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47338. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47339. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47340. | ^~~~~~~~~~~~~~~~~~~~~~~
  47341. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47342. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47343. 520 | NV_MEMDBG_ADD(ptr, size);
  47344. | ^
  47345. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47346. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47347. 502 | NV_MEMDBG_ADD(ptr, size);
  47348. | ^
  47349. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47350. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47351. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47352. | ^~~~~~~~~~~~~~~~~~~~~~~
  47353. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47354. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47355. 520 | NV_MEMDBG_ADD(ptr, size);
  47356. | ^
  47357. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47358. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47359. 502 | NV_MEMDBG_ADD(ptr, size);
  47360. | ^
  47361. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47362. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47363. 502 | NV_MEMDBG_ADD(ptr, size);
  47364. | ^
  47365. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47366. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47367. 533 | ptr = ioremap_cache_shared(phys, size);
  47368. | ^~~~~~~~~~~~~~~~~~~~
  47369. | ioremap_cache
  47370. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47371. 533 | ptr = ioremap_cache_shared(phys, size);
  47372. | ^
  47373. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47374. 556 | NV_MEMDBG_ADD(ptr, size);
  47375. | ^
  47376. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47377. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47378. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47379. 533 | ptr = ioremap_cache_shared(phys, size);
  47380. | ^~~~~~~~~~~~~~~~~~~~
  47381. | ioremap_cache
  47382. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47383. 533 | ptr = ioremap_cache_shared(phys, size);
  47384. | ^
  47385. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47386. 556 | NV_MEMDBG_ADD(ptr, size);
  47387. | ^
  47388. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47389. 502 | NV_MEMDBG_ADD(ptr, size);
  47390. | ^
  47391. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  47392. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47393. 502 | NV_MEMDBG_ADD(ptr, size);
  47394. | ^
  47395. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47396. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47397. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47398. | ^~~~~~~~~~~~~~~~~~~~~~~
  47399. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47400. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47401. 520 | NV_MEMDBG_ADD(ptr, size);
  47402. | ^
  47403. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47404. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47405. 533 | ptr = ioremap_cache_shared(phys, size);
  47406. | ^~~~~~~~~~~~~~~~~~~~
  47407. | ioremap_cache
  47408. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47409. 533 | ptr = ioremap_cache_shared(phys, size);
  47410. | ^
  47411. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47412. 556 | NV_MEMDBG_ADD(ptr, size);
  47413. | ^
  47414. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47415. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47416. 533 | ptr = ioremap_cache_shared(phys, size);
  47417. | ^~~~~~~~~~~~~~~~~~~~
  47418. | ioremap_cache
  47419. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47420. 533 | ptr = ioremap_cache_shared(phys, size);
  47421. | ^
  47422. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47423. 556 | NV_MEMDBG_ADD(ptr, size);
  47424. | ^
  47425. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47426. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47427. 533 | ptr = ioremap_cache_shared(phys, size);
  47428. | ^~~~~~~~~~~~~~~~~~~~
  47429. | ioremap_cache
  47430. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47431. 533 | ptr = ioremap_cache_shared(phys, size);
  47432. | ^
  47433. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47434. 556 | NV_MEMDBG_ADD(ptr, size);
  47435. | ^
  47436. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47437. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47438. 533 | ptr = ioremap_cache_shared(phys, size);
  47439. | ^~~~~~~~~~~~~~~~~~~~
  47440. | ioremap_cache
  47441. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47442. 533 | ptr = ioremap_cache_shared(phys, size);
  47443. | ^
  47444. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47445. 556 | NV_MEMDBG_ADD(ptr, size);
  47446. | ^
  47447. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47448. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47449. 533 | ptr = ioremap_cache_shared(phys, size);
  47450. | ^~~~~~~~~~~~~~~~~~~~
  47451. | ioremap_cache
  47452. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47453. 533 | ptr = ioremap_cache_shared(phys, size);
  47454. | ^
  47455. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47456. 556 | NV_MEMDBG_ADD(ptr, size);
  47457. | ^
  47458. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47459. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47460. 533 | ptr = ioremap_cache_shared(phys, size);
  47461. | ^~~~~~~~~~~~~~~~~~~~
  47462. | ioremap_cache
  47463. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47464. 533 | ptr = ioremap_cache_shared(phys, size);
  47465. | ^
  47466. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47467. 556 | NV_MEMDBG_ADD(ptr, size);
  47468. | ^
  47469. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47470. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47471. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47472. | ^~~~~~~~~~~~~~~~~~~~~~~
  47473. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47474. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47475. 520 | NV_MEMDBG_ADD(ptr, size);
  47476. | ^
  47477. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47478. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47479. 533 | ptr = ioremap_cache_shared(phys, size);
  47480. | ^~~~~~~~~~~~~~~~~~~~
  47481. | ioremap_cache
  47482. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47483. 533 | ptr = ioremap_cache_shared(phys, size);
  47484. | ^
  47485. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47486. 556 | NV_MEMDBG_ADD(ptr, size);
  47487. | ^
  47488. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47489. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47490. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47491. | ^~~~~~~~~~~~~~~~~~~~~~~
  47492. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47493. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47494. 520 | NV_MEMDBG_ADD(ptr, size);
  47495. | ^
  47496. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47497. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47498. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47499. | ^~~~~~~~~~~~~~~~~~~~~~~
  47500. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47501. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47502. 520 | NV_MEMDBG_ADD(ptr, size);
  47503. | ^
  47504. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47505. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47506. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47507. | ^~~~~~~~~~~~~~~~~~~~~~~
  47508. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47509. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47510. 520 | NV_MEMDBG_ADD(ptr, size);
  47511. | ^
  47512. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47513. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47514. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47515. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47516. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47517. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47518. | ^
  47519. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47520. 573 | NV_MEMDBG_ADD(ptr, size);
  47521. | ^
  47522. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47523. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47524. 533 | ptr = ioremap_cache_shared(phys, size);
  47525. | ^~~~~~~~~~~~~~~~~~~~
  47526. | ioremap_cache
  47527. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47528. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47529. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47530. | ^
  47531. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47532. 533 | ptr = ioremap_cache_shared(phys, size);
  47533. | ^
  47534. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47535. 556 | NV_MEMDBG_ADD(ptr, size);
  47536. | ^
  47537. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47538. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47539. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47540. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47541. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47542. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47543. | ^
  47544. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47545. 573 | NV_MEMDBG_ADD(ptr, size);
  47546. | ^
  47547. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47548. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47549. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47550. | ^
  47551. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47552. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47553. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47554. | ^~~~~~~~~~~~~~~~~~~~~~~
  47555. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47556. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47557. 520 | NV_MEMDBG_ADD(ptr, size);
  47558. | ^
  47559. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47560. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47561. 736 | return phys_to_dma(dev, pa);
  47562. | ^~~~~~~~~~~
  47563. | nv_phys_to_dma
  47564. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  47565. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  47566. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  47567. | ^~~~~~~~~~~~~~~~~~~~~~~
  47568. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47569. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47570. 520 | NV_MEMDBG_ADD(ptr, size);
  47571. | ^
  47572. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47573. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47574. 736 | return phys_to_dma(dev, pa);
  47575. | ^~~~~~~~~~~
  47576. | nv_phys_to_dma
  47577. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47578. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47579. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47580. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47581. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47582. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47583. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47584. | ^
  47585. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47586. 573 | NV_MEMDBG_ADD(ptr, size);
  47587. | ^
  47588. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47589. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47590. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47591. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47592. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47593. | ^
  47594. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47595. 573 | NV_MEMDBG_ADD(ptr, size);
  47596. | ^
  47597. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47598. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47599. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47600. | ^
  47601. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47602. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47603. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47604. | ^
  47605. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47606. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47607. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47608. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47609. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47610. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47611. | ^
  47612. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47613. 573 | NV_MEMDBG_ADD(ptr, size);
  47614. | ^
  47615. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47616. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47617. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47618. | ^
  47619. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47620. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47621. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47622. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47623. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47624. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47625. | ^
  47626. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47627. 573 | NV_MEMDBG_ADD(ptr, size);
  47628. | ^
  47629. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47630. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47631. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47632. | ^
  47633. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47634. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47635. 533 | ptr = ioremap_cache_shared(phys, size);
  47636. | ^~~~~~~~~~~~~~~~~~~~
  47637. | ioremap_cache
  47638. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47639. 533 | ptr = ioremap_cache_shared(phys, size);
  47640. | ^
  47641. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47642. 556 | NV_MEMDBG_ADD(ptr, size);
  47643. | ^
  47644. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47645. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47646. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47647. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47648. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47649. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47650. | ^
  47651. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47652. 573 | NV_MEMDBG_ADD(ptr, size);
  47653. | ^
  47654. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47655. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47656. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47657. | ^
  47658. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47659. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47660. 736 | return phys_to_dma(dev, pa);
  47661. | ^~~~~~~~~~~
  47662. | nv_phys_to_dma
  47663. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47664. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47665. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47666. | ^~~~~~~~~~~~~
  47667. | d_is_dir
  47668. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47669. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47670. 736 | return phys_to_dma(dev, pa);
  47671. | ^~~~~~~~~~~
  47672. | nv_phys_to_dma
  47673. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47674. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47675. 736 | return phys_to_dma(dev, pa);
  47676. | ^~~~~~~~~~~
  47677. | nv_phys_to_dma
  47678. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47679. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47680. 533 | ptr = ioremap_cache_shared(phys, size);
  47681. | ^~~~~~~~~~~~~~~~~~~~
  47682. | ioremap_cache
  47683. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47684. 533 | ptr = ioremap_cache_shared(phys, size);
  47685. | ^
  47686. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47687. 556 | NV_MEMDBG_ADD(ptr, size);
  47688. | ^
  47689. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47690. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47691. 736 | return phys_to_dma(dev, pa);
  47692. | ^~~~~~~~~~~
  47693. | nv_phys_to_dma
  47694. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47695. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47696. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47697. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47698. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47699. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47700. | ^
  47701. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47702. 573 | NV_MEMDBG_ADD(ptr, size);
  47703. | ^
  47704. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47705. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47706. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47707. | ^
  47708. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47709. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47710. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47711. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47712. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47713. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47714. | ^
  47715. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47716. 573 | NV_MEMDBG_ADD(ptr, size);
  47717. | ^
  47718. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47719. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47720. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47721. | ^
  47722. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47723. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47724. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47725. | ^~~~~~~~~~~~~
  47726. | d_is_dir
  47727. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47728. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47729. 533 | ptr = ioremap_cache_shared(phys, size);
  47730. | ^~~~~~~~~~~~~~~~~~~~
  47731. | ioremap_cache
  47732. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47733. 533 | ptr = ioremap_cache_shared(phys, size);
  47734. | ^
  47735. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47736. 556 | NV_MEMDBG_ADD(ptr, size);
  47737. | ^
  47738. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47739. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47740. 736 | return phys_to_dma(dev, pa);
  47741. | ^~~~~~~~~~~
  47742. | nv_phys_to_dma
  47743. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47744. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47745. 533 | ptr = ioremap_cache_shared(phys, size);
  47746. | ^~~~~~~~~~~~~~~~~~~~
  47747. | ioremap_cache
  47748. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47749. 533 | ptr = ioremap_cache_shared(phys, size);
  47750. | ^
  47751. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47752. 556 | NV_MEMDBG_ADD(ptr, size);
  47753. | ^
  47754. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47755. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47756. 736 | return phys_to_dma(dev, pa);
  47757. | ^~~~~~~~~~~
  47758. | nv_phys_to_dma
  47759. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47760. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47761. 736 | return phys_to_dma(dev, pa);
  47762. | ^~~~~~~~~~~
  47763. | nv_phys_to_dma
  47764. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47765. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47766. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47767. | ^~~~~~~~~~~~~
  47768. | d_is_dir
  47769. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47770. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47771. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47772. | ^~~~~~~~~~~~~
  47773. | d_is_dir
  47774. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47775. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47776. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47777. | ^~~~~~~~~~~~~
  47778. | d_is_dir
  47779. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47780. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47781. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47782. | ^~~~~~~~~~~~~
  47783. | d_is_dir
  47784. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-usermap.o] Error 1
  47785. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47786. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47787. 533 | ptr = ioremap_cache_shared(phys, size);
  47788. | ^~~~~~~~~~~~~~~~~~~~
  47789. | ioremap_cache
  47790. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47791. 533 | ptr = ioremap_cache_shared(phys, size);
  47792. | ^
  47793. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47794. 556 | NV_MEMDBG_ADD(ptr, size);
  47795. | ^
  47796. CC [M] nvidia/os-mlock.o
  47797. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47798. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47799. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47800. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47801. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47802. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47803. | ^
  47804. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47805. 573 | NV_MEMDBG_ADD(ptr, size);
  47806. | ^
  47807. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47808. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47809. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47810. | ^
  47811. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47812. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47813. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47814. | ^~~~~~~~~~~~~
  47815. | d_is_dir
  47816. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  47817. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  47818. 533 | ptr = ioremap_cache_shared(phys, size);
  47819. | ^~~~~~~~~~~~~~~~~~~~
  47820. | ioremap_cache
  47821. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47822. 533 | ptr = ioremap_cache_shared(phys, size);
  47823. | ^
  47824. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47825. 556 | NV_MEMDBG_ADD(ptr, size);
  47826. | ^
  47827. nvidia/os-interface.c: At top level:
  47828. nvidia/os-interface.c:370:7: warning: no previous prototype for 'os_mem_copy_custom' [-Wmissing-prototypes]
  47829. 370 | void *os_mem_copy_custom(
  47830. | ^~~~~~~~~~~~~~~~~~
  47831. nvidia/os-interface.c: In function 'os_alloc_mem':
  47832. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47833. 609 | NV_MEMDBG_ADD(ptr, size); \
  47834. | ^
  47835. nvidia/os-interface.c:584:13: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  47836. 584 | NV_KMALLOC_ATOMIC(*address, alloc_size);
  47837. | ^~~~~~~~~~~~~~~~~
  47838. ././common/inc/nv-linux.h:624:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47839. 624 | NV_MEMDBG_ADD(ptr, size); \
  47840. | ^
  47841. nvidia/os-interface.c:590:13: note: in expansion of macro 'NV_KMALLOC_NO_OOM'
  47842. 590 | NV_KMALLOC_NO_OOM(*address, alloc_size);
  47843. | ^~~~~~~~~~~~~~~~~
  47844. nvidia/os-interface.c: In function 'os_get_current_time':
  47845. nvidia/os-interface.c:633:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  47846. 633 | ktime_get_real_ts64(&tm);
  47847. | ^~~
  47848. | |
  47849. | struct timespec64 *
  47850. /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 *'
  47851. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  47852. | ~~~~~~~~~~~~~~~~~~~^~
  47853. nvidia/os-interface.c: In function 'os_get_current_tick_hr':
  47854. nvidia/os-interface.c:647:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  47855. 647 | ktime_get_raw_ts64(&tm);
  47856. | ^~~
  47857. | |
  47858. | struct timespec64 *
  47859. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  47860. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  47861. | ~~~~~~~~~~~~~~~~~~~^~
  47862. nvidia/os-interface.c: In function 'os_get_current_tick':
  47863. nvidia/os-interface.c:656:21: error: storage size of 'ts' isn't known
  47864. 656 | struct timespec ts;
  47865. | ^~
  47866. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pat.o] Error 1
  47867. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47868. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47869. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47870. | ^~~~~~~~~~~~~
  47871. | d_is_dir
  47872. CC [M] nvidia/os-pci.o
  47873. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  47874. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  47875. 736 | return phys_to_dma(dev, pa);
  47876. | ^~~~~~~~~~~
  47877. | nv_phys_to_dma
  47878. In file included from ././common/inc/conftest.h:28,
  47879. from ././common/inc/nv_stdarg.h:29,
  47880. from ././common/inc/os-interface.h:40,
  47881. from nvidia/os-mlock.c:26:
  47882. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  47883. 74 | #error dma_buf_export() conftest failed!
  47884. | ^~~~~
  47885. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47886. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47887. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47888. | ^~~~~~~~~~~~~
  47889. | d_is_dir
  47890. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  47891. 87 | #error wait_on_bit_lock() conftest failed!
  47892. | ^~~~~
  47893. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  47894. 90 | #error radix_tree_replace_slot() conftest failed!
  47895. | ^~~~~
  47896. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vtophys.o] Error 1
  47897. nvidia/nv-pci.c: In function 'nv_pci_probe':
  47898. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47899. 602 | NV_MEMDBG_ADD(ptr, size); \
  47900. | ^
  47901. nvidia/nv-pci.c:396:5: note: in expansion of macro 'NV_KZALLOC'
  47902. 396 | NV_KZALLOC(nvl, sizeof(nv_linux_state_t));
  47903. | ^~~~~~~~~~
  47904. CC [M] nvidia/os-registry.o
  47905. In file included from ././common/inc/conftest.h:28,
  47906. from ././common/inc/nv_stdarg.h:29,
  47907. from ././common/inc/os-interface.h:40,
  47908. from nvidia/os-pci.c:26:
  47909. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  47910. 74 | #error dma_buf_export() conftest failed!
  47911. | ^~~~~
  47912. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  47913. 87 | #error wait_on_bit_lock() conftest failed!
  47914. | ^~~~~
  47915. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  47916. 90 | #error radix_tree_replace_slot() conftest failed!
  47917. | ^~~~~
  47918. nvidia/nv-dma.c: At top level:
  47919. nvidia/nv-dma.c:293:6: warning: no previous prototype for 'nv_load_dma_map_scatterlist' [-Wmissing-prototypes]
  47920. 293 | void nv_load_dma_map_scatterlist(
  47921. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  47922. nvidia/nv-dma.c:489:23: warning: no previous prototype for 'nv_dma_unmap_sgt' [-Wmissing-prototypes]
  47923. 489 | NV_STATUS NV_API_CALL nv_dma_unmap_sgt(
  47924. | ^~~~~~~~~~~~~~~~
  47925. nvidia/os-interface.c:657:5: error: implicit declaration of function 'jiffies_to_timespec'; did you mean 'jiffies_to_timespec64'? [-Wimplicit-function-declaration]
  47926. 657 | jiffies_to_timespec(jiffies, &ts);
  47927. | ^~~~~~~~~~~~~~~~~~~
  47928. | jiffies_to_timespec64
  47929. nvidia/nv-mmap.c: At top level:
  47930. 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]
  47931. 299 | .fault = nvidia_fault,
  47932. | ^~~~~~~~~~~~
  47933. nvidia/nv-mmap.c:299:15: note: (near initialization for 'nv_vm_ops.fault')
  47934. nvidia/nv-mmap.c:201:19: note: 'nvidia_fault' declared here
  47935. 201 | static vm_fault_t nvidia_fault(
  47936. | ^~~~~~~~~~~~
  47937. 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]
  47938. 303 | int nv_encode_caching(
  47939. | ^~~~~~~~~~~~~~~~~
  47940. In file included from ././common/inc/nv-linux.h:1761:
  47941. ././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)'}
  47942. 46 | int nv_encode_caching (pgprot_t *, NvU32, NvU32);
  47943. | ^~~~~~~~~~~~~~~~~
  47944. nvidia/nv-mmap.c:371:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  47945. 371 | int static nvidia_mmap_peer_io(
  47946. | ^~~
  47947. nvidia/nv-mmap.c:392:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  47948. 392 | int static nvidia_mmap_sysmem(
  47949. | ^~~
  47950. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47951. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47952. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47953. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47954. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47955. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47956. | ^
  47957. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-p2p.o] Error 1
  47958. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47959. 573 | NV_MEMDBG_ADD(ptr, size);
  47960. | ^
  47961. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  47962. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  47963. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47964. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  47965. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  47966. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  47967. | ^
  47968. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47969. 573 | NV_MEMDBG_ADD(ptr, size);
  47970. | ^
  47971. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47972. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47973. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47974. | ^
  47975. ././common/inc/nv-linux.h: In function 'nv_vmap':
  47976. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  47977. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  47978. | ^
  47979. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  47980. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  47981. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  47982. | ^~~~~~~~~~~~~
  47983. | d_is_dir
  47984. In file included from ././common/inc/conftest.h:28,
  47985. from ././common/inc/nv_stdarg.h:29,
  47986. from ././common/inc/os-interface.h:40,
  47987. from nvidia/os-registry.c:26:
  47988. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  47989. 74 | #error dma_buf_export() conftest failed!
  47990. | ^~~~~
  47991. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  47992. 87 | #error wait_on_bit_lock() conftest failed!
  47993. | ^~~~~
  47994. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  47995. 90 | #error radix_tree_replace_slot() conftest failed!
  47996. | ^~~~~
  47997. CC [M] nvidia/os-usermap.o
  47998. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-acpi.o] Error 1
  47999. CC [M] nvidia/nv-modeset-interface.o
  48000. nvidia/os-interface.c:658:20: error: implicit declaration of function 'timespec_to_ns'; did you mean 'timespec64_to_ns'? [-Wimplicit-function-declaration]
  48001. 658 | return (NvU64) timespec_to_ns(&ts);
  48002. | ^~~~~~~~~~~~~~
  48003. | timespec64_to_ns
  48004. nvidia/os-interface.c:656:21: warning: unused variable 'ts' [-Wunused-variable]
  48005. 656 | struct timespec ts;
  48006. | ^~
  48007. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pci.o] Error 1
  48008. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  48009. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  48010. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  48011. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  48012. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  48013. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  48014. | ^
  48015. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48016. 573 | NV_MEMDBG_ADD(ptr, size);
  48017. | ^
  48018. ././common/inc/nv-linux.h: In function 'nv_vmap':
  48019. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48020. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  48021. | ^
  48022. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  48023. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  48024. 736 | return phys_to_dma(dev, pa);
  48025. | ^~~~~~~~~~~
  48026. | nv_phys_to_dma
  48027. nvidia/os-interface.c: In function 'os_queue_work_item':
  48028. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48029. 609 | NV_MEMDBG_ADD(ptr, size); \
  48030. | ^
  48031. nvidia/os-interface.c:1113:5: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  48032. 1113 | NV_KMALLOC_ATOMIC(oqd, sizeof(os_queue_data_t));
  48033. | ^~~~~~~~~~~~~~~~~
  48034. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  48035. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  48036. 736 | return phys_to_dma(dev, pa);
  48037. | ^~~~~~~~~~~
  48038. | nv_phys_to_dma
  48039. CC [M] nvidia/nv-pci-table.o
  48040. nvidia/os-interface.c: In function 'os_write_file':
  48041. nvidia/os-interface.c:1792:54: error: passing argument 4 of 'kernel_write' makes pointer from integer without a cast [-Wint-conversion]
  48042. 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos);
  48043. | ^~~~~
  48044. | |
  48045. | loff_t {aka long long int}
  48046. nvidia/os-interface.c:1792:54: note: possible fix: take the address with '&'
  48047. 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos);
  48048. | ^~~~~
  48049. | &
  48050. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7,
  48051. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133:
  48052. /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'}
  48053. 3189 | extern ssize_t kernel_write(struct file *, const void *, size_t, loff_t *);
  48054. | ^~~~~~~~
  48055. nvidia/os-interface.c: In function 'os_read_file':
  48056. nvidia/os-interface.c:1832:35: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  48057. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  48058. | ^~~~~
  48059. | |
  48060. | loff_t {aka long long int}
  48061. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dma.o] Error 1
  48062. /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'}
  48063. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  48064. | ^~~~~~
  48065. nvidia/os-interface.c:1832:42: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion]
  48066. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  48067. | ^~~~~~~
  48068. | |
  48069. | NvU8 * {aka unsigned char *}
  48070. /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 *'}
  48071. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  48072. | ^~~~~~
  48073. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  48074. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  48075. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  48076. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  48077. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  48078. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  48079. | ^
  48080. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48081. 573 | NV_MEMDBG_ADD(ptr, size);
  48082. | ^
  48083. nvidia/os-interface.c:1832:51: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  48084. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  48085. | ^~~~
  48086. | |
  48087. | NvU64 {aka long long unsigned int}
  48088. /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'}
  48089. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  48090. | ^~~~~~~~
  48091. nvidia/os-interface.c: In function 'os_alloc_wait_queue':
  48092. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48093. 595 | NV_MEMDBG_ADD(ptr, size); \
  48094. | ^
  48095. nvidia/os-interface.c:1945:5: note: in expansion of macro 'NV_KMALLOC'
  48096. 1945 | NV_KMALLOC(*wq, sizeof(os_wait_queue));
  48097. | ^~~~~~~~~~
  48098. ././common/inc/nv-linux.h: In function 'nv_vmap':
  48099. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48100. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  48101. | ^
  48102. In file included from ././common/inc/conftest.h:28,
  48103. from ././common/inc/nv_stdarg.h:29,
  48104. from ././common/inc/os-interface.h:40,
  48105. from nvidia/os-usermap.c:26:
  48106. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48107. 74 | #error dma_buf_export() conftest failed!
  48108. | ^~~~~
  48109. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48110. 87 | #error wait_on_bit_lock() conftest failed!
  48111. | ^~~~~
  48112. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48113. 90 | #error radix_tree_replace_slot() conftest failed!
  48114. | ^~~~~
  48115. CC [M] nvidia/nv-kthread-q.o
  48116. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-mmap.o] Error 1
  48117. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  48118. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  48119. 736 | return phys_to_dma(dev, pa);
  48120. | ^~~~~~~~~~~
  48121. | nv_phys_to_dma
  48122. In file included from ././common/inc/conftest.h:28,
  48123. from ././common/inc/nv_stdarg.h:29,
  48124. from ././common/inc/os-interface.h:40,
  48125. from nvidia/nv-modeset-interface.c:26:
  48126. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48127. 74 | #error dma_buf_export() conftest failed!
  48128. | ^~~~~
  48129. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48130. 87 | #error wait_on_bit_lock() conftest failed!
  48131. | ^~~~~
  48132. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48133. 90 | #error radix_tree_replace_slot() conftest failed!
  48134. | ^~~~~
  48135. CC [M] nvidia/nv-memdbg.o
  48136. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  48137. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  48138. 736 | return phys_to_dma(dev, pa);
  48139. | ^~~~~~~~~~~
  48140. | nv_phys_to_dma
  48141. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  48142. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  48143. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  48144. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  48145. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  48146. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  48147. | ^
  48148. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48149. 573 | NV_MEMDBG_ADD(ptr, size);
  48150. | ^
  48151. ././common/inc/nv-linux.h: In function 'nv_vmap':
  48152. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48153. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  48154. | ^
  48155. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  48156. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  48157. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  48158. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  48159. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  48160. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  48161. | ^
  48162. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48163. 573 | NV_MEMDBG_ADD(ptr, size);
  48164. | ^
  48165. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  48166. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  48167. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  48168. | ^~~~~~~~~~~~~
  48169. | d_is_dir
  48170. ././common/inc/nv-linux.h: In function 'nv_vmap':
  48171. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48172. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  48173. | ^
  48174. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  48175. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  48176. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  48177. | ^~~~~~~~~~~~~
  48178. | d_is_dir
  48179. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-i2c.o] Error 1
  48180. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  48181. CC [M] nvidia/nv-ibmnpu.o
  48182. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  48183. 736 | return phys_to_dma(dev, pa);
  48184. | ^~~~~~~~~~~
  48185. | nv_phys_to_dma
  48186. In file included from ././common/inc/conftest.h:28,
  48187. from ././common/inc/nv_stdarg.h:29,
  48188. from ././common/inc/nv.h:41,
  48189. from ././common/inc/nv-linux.h:28,
  48190. from nvidia/nv-memdbg.c:25:
  48191. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48192. 74 | #error dma_buf_export() conftest failed!
  48193. | ^~~~~
  48194. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48195. 87 | #error wait_on_bit_lock() conftest failed!
  48196. | ^~~~~
  48197. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48198. 90 | #error radix_tree_replace_slot() conftest failed!
  48199. | ^~~~~
  48200. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-interface.o] Error 1
  48201. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  48202. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  48203. 736 | return phys_to_dma(dev, pa);
  48204. | ^~~~~~~~~~~
  48205. | nv_phys_to_dma
  48206. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  48207. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  48208. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  48209. | ^~~~~~~~~~~~~
  48210. | d_is_dir
  48211. CC [M] nvidia/nv-report-err.o
  48212. nvidia/nv-nano-timer.c: In function 'nv_alloc_nano_timer':
  48213. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48214. 595 | NV_MEMDBG_ADD(ptr, size); \
  48215. | ^
  48216. nvidia/nv-nano-timer.c:86:5: note: in expansion of macro 'NV_KMALLOC'
  48217. 86 | NV_KMALLOC(nv_nstimer, sizeof(nv_nano_timer_t));
  48218. | ^~~~~~~~~~
  48219. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  48220. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  48221. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  48222. | ^~~~~~~~~~~~~
  48223. | d_is_dir
  48224. In file included from ././common/inc/conftest.h:28,
  48225. from ././common/inc/nv_stdarg.h:29,
  48226. from ././common/inc/nv.h:41,
  48227. from ././common/inc/nv-linux.h:28,
  48228. from nvidia/nv-ibmnpu.c:27:
  48229. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48230. 74 | #error dma_buf_export() conftest failed!
  48231. | ^~~~~
  48232. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48233. 87 | #error wait_on_bit_lock() conftest failed!
  48234. | ^~~~~
  48235. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48236. 90 | #error radix_tree_replace_slot() conftest failed!
  48237. | ^~~~~
  48238. In file included from ././common/inc/conftest.h:28,
  48239. from ././common/inc/nv_stdarg.h:29,
  48240. from ././common/inc/nv.h:41,
  48241. from ././common/inc/nv-linux.h:28,
  48242. from nvidia/nv-report-err.c:25:
  48243. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48244. 74 | #error dma_buf_export() conftest failed!
  48245. | ^~~~~
  48246. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48247. 87 | #error wait_on_bit_lock() conftest failed!
  48248. | ^~~~~
  48249. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48250. 90 | #error radix_tree_replace_slot() conftest failed!
  48251. | ^~~~~
  48252. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  48253. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  48254. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  48255. | ^~~~~~~~~~~~~
  48256. | d_is_dir
  48257. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-nano-timer.o] Error 1
  48258. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  48259. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  48260. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  48261. | ^~~~~~~~~~~~~
  48262. | d_is_dir
  48263. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/sound/hdaudio.h:18,
  48264. from nvidia/nv.c:70:
  48265. /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h: In function 'snd_pcm_gettime':
  48266. /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]
  48267. 1292 | ktime_get_ts64(tv);
  48268. | ^~
  48269. | |
  48270. | struct timespec64 *
  48271. /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 *'
  48272. 43 | extern void ktime_get_ts64(struct timespec64 *ts);
  48273. | ~~~~~~~~~~~~~~~~~~~^~
  48274. /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]
  48275. 1295 | ktime_get_raw_ts64(tv);
  48276. | ^~
  48277. | |
  48278. | struct timespec64 *
  48279. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  48280. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  48281. | ~~~~~~~~~~~~~~~~~~~^~
  48282. /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]
  48283. 1298 | ktime_get_real_ts64(tv);
  48284. | ^~
  48285. | |
  48286. | struct timespec64 *
  48287. /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 *'
  48288. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  48289. | ~~~~~~~~~~~~~~~~~~~^~
  48290. CC [M] nvidia/nv-rsync.o
  48291. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-cray.o] Error 1
  48292. nvidia/nv.c: In function 'nvos_create_alloc':
  48293. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48294. 602 | NV_MEMDBG_ADD(ptr, size); \
  48295. | ^
  48296. nvidia/nv.c:262:5: note: in expansion of macro 'NV_KZALLOC'
  48297. 262 | NV_KZALLOC(at, sizeof(nv_alloc_t));
  48298. | ^~~~~~~~~~
  48299. CC [M] nvidia/nv-msi.o
  48300. nvidia/nv.c: At top level:
  48301. nvidia/nv.c:735:12: warning: no previous prototype for 'nvidia_init_module' [-Wmissing-prototypes]
  48302. 735 | int __init nvidia_init_module(void)
  48303. | ^~~~~~~~~~~~~~~~~~
  48304. nvidia/nv.c:855:6: warning: no previous prototype for 'nvidia_exit_module' [-Wmissing-prototypes]
  48305. 855 | void nvidia_exit_module(void)
  48306. | ^~~~~~~~~~~~~~~~~~
  48307. nvidia/nv.c: In function 'nv_alloc_file_private':
  48308. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48309. 602 | NV_MEMDBG_ADD(ptr, size); \
  48310. | ^
  48311. nvidia/nv.c:879:5: note: in expansion of macro 'NV_KZALLOC'
  48312. 879 | NV_KZALLOC(nvlfp, sizeof(nv_linux_file_private_t));
  48313. | ^~~~~~~~~~
  48314. nvidia/nv.c: At top level:
  48315. nvidia/nv.c:1124:23: warning: no previous prototype for 'nv_get_num_dpaux_instances' [-Wmissing-prototypes]
  48316. 1124 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances)
  48317. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  48318. nvidia/nv-vm.c: In function 'nv_set_memory_array_type':
  48319. 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]
  48320. 92 | set_memory_array_uc(pages, num_pages);
  48321. | ^~~~~~~~~~~~~~~~~~~
  48322. | set_pages_array_uc
  48323. In file included from ././common/inc/conftest.h:28,
  48324. from ././common/inc/nv_stdarg.h:29,
  48325. from ././common/inc/nv.h:41,
  48326. from ././common/inc/nv-linux.h:28,
  48327. from nvidia/nv-rsync.c:24:
  48328. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48329. 74 | #error dma_buf_export() conftest failed!
  48330. | ^~~~~
  48331. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48332. 87 | #error wait_on_bit_lock() conftest failed!
  48333. | ^~~~~
  48334. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48335. 90 | #error radix_tree_replace_slot() conftest failed!
  48336. | ^~~~~
  48337. nvidia/nv.c: In function 'nvidia_ioctl':
  48338. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48339. 595 | NV_MEMDBG_ADD(ptr, size); \
  48340. | ^
  48341. nvidia/nv.c:2104:5: note: in expansion of macro 'NV_KMALLOC'
  48342. 2104 | NV_KMALLOC(arg_copy, arg_size);
  48343. | ^~~~~~~~~~
  48344. nvidia/nv-procfs.c: In function 'nv_procfs_open_file':
  48345. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48346. 602 | NV_MEMDBG_ADD(ptr, size); \
  48347. | ^
  48348. nvidia/nv-procfs.c:276:5: note: in expansion of macro 'NV_KZALLOC'
  48349. 276 | NV_KZALLOC(nvpp, sizeof(nv_procfs_private_t));
  48350. | ^~~~~~~~~~
  48351. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dmabuf.o] Error 1
  48352. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48353. 595 | NV_MEMDBG_ADD(ptr, size); \
  48354. | ^
  48355. nvidia/nv.c:2165:13: note: in expansion of macro 'NV_KMALLOC'
  48356. 2165 | NV_KMALLOC(nvlfp->attached_gpus, arg_size);
  48357. | ^~~~~~~~~~
  48358. nvidia/nv-procfs.c: At top level:
  48359. nvidia/nv-procfs.c:698:1: warning: no previous prototype for 'exercise_error_forwarding_va' [-Wmissing-prototypes]
  48360. 698 | exercise_error_forwarding_va(
  48361. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  48362. nvidia/nv.c: In function 'nv_map_guest_pages':
  48363. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48364. 595 | NV_MEMDBG_ADD(ptr, size); \
  48365. | ^
  48366. nvidia/nv.c:2805:5: note: in expansion of macro 'NV_KMALLOC'
  48367. 2805 | NV_KMALLOC(pages, sizeof(struct page *) * page_count);
  48368. | ^~~~~~~~~~
  48369. CC [M] nvidia/nv-caps.o
  48370. In file included from ././common/inc/nv-procfs.h:26,
  48371. from nvidia/nv-procfs.c:31:
  48372. nvidia/nv-procfs.c: In function 'nv_procfs_add_text_file':
  48373. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48374. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48375. | ^~~~
  48376. | |
  48377. | const nv_proc_ops_t * {aka const struct file_operations *}
  48378. nvidia/nv-procfs.c:1312:5: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48379. 1312 | NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text);
  48380. | ^~~~~~~~~~~~~~~~~~~
  48381. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  48382. from ././common/inc/nv-linux.h:220:
  48383. /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 *'}
  48384. 111 | const struct proc_ops *,
  48385. | ^~~~~~~~~~~~~~~~~~~~~~~
  48386. In file included from ././common/inc/conftest.h:28,
  48387. from ././common/inc/nv_stdarg.h:29,
  48388. from ././common/inc/nv.h:41,
  48389. from ././common/inc/nv-linux.h:28,
  48390. from ././common/inc/nv-msi.h:27,
  48391. from nvidia/nv-msi.c:24:
  48392. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48393. 74 | #error dma_buf_export() conftest failed!
  48394. | ^~~~~
  48395. nvidia/nv.c: In function 'nv_alloc_kernel_mapping':
  48396. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48397. 595 | NV_MEMDBG_ADD(ptr, size); \
  48398. | ^
  48399. nvidia/nv.c:3282:13: note: in expansion of macro 'NV_KMALLOC'
  48400. 3282 | NV_KMALLOC(pages, sizeof(struct page *) * page_count);
  48401. | ^~~~~~~~~~
  48402. nvidia/nv-procfs.c: In function 'nv_procfs_init':
  48403. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48404. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48405. | ^~~~
  48406. | |
  48407. | const nv_proc_ops_t * {aka const struct file_operations *}
  48408. nvidia/nv-procfs.c:1342:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48409. 1342 | entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL);
  48410. | ^~~~~~~~~~~~~~~~~~~
  48411. /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 *'}
  48412. 111 | const struct proc_ops *,
  48413. | ^~~~~~~~~~~~~~~~~~~~~~~
  48414. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48415. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48416. | ^~~~
  48417. | |
  48418. | const nv_proc_ops_t * {aka const struct file_operations *}
  48419. nvidia/nv-procfs.c:1346:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48420. 1346 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL);
  48421. | ^~~~~~~~~~~~~~~~~~~
  48422. /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 *'}
  48423. 111 | const struct proc_ops *,
  48424. | ^~~~~~~~~~~~~~~~~~~~~~~
  48425. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48426. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48427. | ^~~~
  48428. | |
  48429. | const nv_proc_ops_t * {aka const struct file_operations *}
  48430. nvidia/nv-procfs.c:1351:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48431. 1351 | entry = NV_CREATE_PROC_FILE("suspend_depth", proc_nvidia, suspend_depth, NULL);
  48432. | ^~~~~~~~~~~~~~~~~~~
  48433. /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 *'}
  48434. 111 | const struct proc_ops *,
  48435. | ^~~~~~~~~~~~~~~~~~~~~~~
  48436. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48437. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48438. | ^~~~
  48439. | |
  48440. | const nv_proc_ops_t * {aka const struct file_operations *}
  48441. nvidia/nv-procfs.c:1355:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48442. 1355 | entry = NV_CREATE_PROC_FILE("suspend", proc_nvidia, suspend, NULL);
  48443. | ^~~~~~~~~~~~~~~~~~~
  48444. /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 *'}
  48445. 111 | const struct proc_ops *,
  48446. | ^~~~~~~~~~~~~~~~~~~~~~~
  48447. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48448. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48449. | ^~~~
  48450. | |
  48451. | const nv_proc_ops_t * {aka const struct file_operations *}
  48452. nvidia/nv-procfs.c:1377:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48453. 1377 | entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL);
  48454. | ^~~~~~~~~~~~~~~~~~~
  48455. /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 *'}
  48456. 111 | const struct proc_ops *,
  48457. | ^~~~~~~~~~~~~~~~~~~~~~~
  48458. nvidia/nv.c: In function 'nv_post_event':
  48459. nvidia/nv-procfs.c: In function 'nv_procfs_add_gpu':
  48460. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  48461. 609 | NV_MEMDBG_ADD(ptr, size); \
  48462. | ^
  48463. nvidia/nv.c:3554:9: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  48464. 3554 | NV_KMALLOC_ATOMIC(nvet, sizeof(nvidia_event_t));
  48465. | ^~~~~~~~~~~~~~~~~
  48466. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48467. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48468. | ^~~~
  48469. | |
  48470. | const nv_proc_ops_t * {aka const struct file_operations *}
  48471. nvidia/nv-procfs.c:1419:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48472. 1419 | entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info,
  48473. | ^~~~~~~~~~~~~~~~~~~
  48474. /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 *'}
  48475. 111 | const struct proc_ops *,
  48476. | ^~~~~~~~~~~~~~~~~~~~~~~
  48477. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48478. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48479. | ^~~~
  48480. | |
  48481. | const nv_proc_ops_t * {aka const struct file_operations *}
  48482. nvidia/nv-procfs.c:1424:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48483. 1424 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv);
  48484. | ^~~~~~~~~~~~~~~~~~~
  48485. /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 *'}
  48486. 111 | const struct proc_ops *,
  48487. | ^~~~~~~~~~~~~~~~~~~~~~~
  48488. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48489. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48490. | ^~~~
  48491. | |
  48492. | const nv_proc_ops_t * {aka const struct file_operations *}
  48493. nvidia/nv-procfs.c:1428:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48494. 1428 | entry = NV_CREATE_PROC_FILE("power", proc_nvidia_gpu, power, nv);
  48495. | ^~~~~~~~~~~~~~~~~~~
  48496. /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 *'}
  48497. 111 | const struct proc_ops *,
  48498. | ^~~~~~~~~~~~~~~~~~~~~~~
  48499. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48500. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48501. | ^~~~
  48502. | |
  48503. | const nv_proc_ops_t * {aka const struct file_operations *}
  48504. nvidia/nv-procfs.c:1434:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48505. 1434 | entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu,
  48506. | ^~~~~~~~~~~~~~~~~~~
  48507. /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 *'}
  48508. 111 | const struct proc_ops *,
  48509. | ^~~~~~~~~~~~~~~~~~~~~~~
  48510. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48511. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48512. | ^~~~
  48513. | |
  48514. | const nv_proc_ops_t * {aka const struct file_operations *}
  48515. nvidia/nv-procfs.c:1442:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48516. 1442 | entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv);
  48517. | ^~~~~~~~~~~~~~~~~~~
  48518. /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 *'}
  48519. 111 | const struct proc_ops *,
  48520. | ^~~~~~~~~~~~~~~~~~~~~~~
  48521. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48522. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48523. | ^~~~
  48524. | |
  48525. | const nv_proc_ops_t * {aka const struct file_operations *}
  48526. nvidia/nv-procfs.c:1449:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48527. 1449 | entry = NV_CREATE_PROC_FILE("numa_status", proc_nvidia_gpu, numa_status,
  48528. | ^~~~~~~~~~~~~~~~~~~
  48529. /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 *'}
  48530. 111 | const struct proc_ops *,
  48531. | ^~~~~~~~~~~~~~~~~~~~~~~
  48532. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  48533. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  48534. | ^~~~
  48535. | |
  48536. | const nv_proc_ops_t * {aka const struct file_operations *}
  48537. nvidia/nv-procfs.c:1454:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  48538. 1454 | entry = NV_CREATE_PROC_FILE("offline_pages", proc_nvidia_gpu, offline_pages,
  48539. | ^~~~~~~~~~~~~~~~~~~
  48540. /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 *'}
  48541. 111 | const struct proc_ops *,
  48542. | ^~~~~~~~~~~~~~~~~~~~~~~
  48543. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48544. 87 | #error wait_on_bit_lock() conftest failed!
  48545. | ^~~~~
  48546. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48547. 90 | #error radix_tree_replace_slot() conftest failed!
  48548. | ^~~~~
  48549. In file included from ././common/inc/conftest.h:28,
  48550. from ././common/inc/nv_stdarg.h:29,
  48551. from ././common/inc/nv.h:41,
  48552. from ././common/inc/nv-linux.h:28,
  48553. from nvidia/nv-caps.c:24:
  48554. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48555. 74 | #error dma_buf_export() conftest failed!
  48556. | ^~~~~
  48557. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48558. 87 | #error wait_on_bit_lock() conftest failed!
  48559. | ^~~~~
  48560. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48561. 90 | #error radix_tree_replace_slot() conftest failed!
  48562. | ^~~~~
  48563. 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]
  48564. 95 | set_memory_array_wb(pages, num_pages);
  48565. | ^~~~~~~~~~~~~~~~~~~
  48566. | set_pages_array_wb
  48567. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-procfs.o] Error 1
  48568. CC [M] nvidia/nv-frontend.o
  48569. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv.o] Error 1
  48570. CC [M] nvidia/nv_uvm_interface.o
  48571. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vm.o] Error 1
  48572. In file included from ././common/inc/conftest.h:28,
  48573. from ././common/inc/nv_stdarg.h:29,
  48574. from ././common/inc/os-interface.h:40,
  48575. from nvidia/nv-frontend.c:24:
  48576. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48577. 74 | #error dma_buf_export() conftest failed!
  48578. | ^~~~~
  48579. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48580. 87 | #error wait_on_bit_lock() conftest failed!
  48581. | ^~~~~
  48582. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48583. 90 | #error radix_tree_replace_slot() conftest failed!
  48584. | ^~~~~
  48585. CC [M] nvidia/libspdm_aead.o
  48586. In file included from ././common/inc/conftest.h:28,
  48587. from ././common/inc/nv_stdarg.h:29,
  48588. from ././common/inc/os-interface.h:40,
  48589. from nvidia/nv_uvm_interface.c:32:
  48590. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48591. 74 | #error dma_buf_export() conftest failed!
  48592. | ^~~~~
  48593. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48594. 87 | #error wait_on_bit_lock() conftest failed!
  48595. | ^~~~~
  48596. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48597. 90 | #error radix_tree_replace_slot() conftest failed!
  48598. | ^~~~~
  48599. In file included from ././common/inc/conftest.h:28,
  48600. from nvidia/internal_crypt_lib.h:32,
  48601. from nvidia/libspdm_aead.c:24:
  48602. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48603. 74 | #error dma_buf_export() conftest failed!
  48604. | ^~~~~
  48605. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48606. 87 | #error wait_on_bit_lock() conftest failed!
  48607. | ^~~~~
  48608. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48609. 90 | #error radix_tree_replace_slot() conftest failed!
  48610. | ^~~~~
  48611. In file included from ././common/inc/conftest.h:28,
  48612. from ././common/inc/nv-kthread-q.h:33,
  48613. from nvidia/nv-kthread-q.c:24:
  48614. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48615. 74 | #error dma_buf_export() conftest failed!
  48616. | ^~~~~
  48617. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48618. 87 | #error wait_on_bit_lock() conftest failed!
  48619. | ^~~~~
  48620. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48621. 90 | #error radix_tree_replace_slot() conftest failed!
  48622. | ^~~~~
  48623. nvidia/libspdm_aead.c:41:5: warning: no previous prototype for 'libspdm_aead_prealloc' [-Wmissing-prototypes]
  48624. 41 | int libspdm_aead_prealloc(void **context, char const *alg)
  48625. | ^~~~~~~~~~~~~~~~~~~~~
  48626. nvidia/libspdm_aead.c:171:5: warning: no previous prototype for 'libspdm_aead_prealloced' [-Wmissing-prototypes]
  48627. 171 | int libspdm_aead_prealloced(void *context,
  48628. | ^~~~~~~~~~~~~~~~~~~~~~~
  48629. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_aead.o] Error 1
  48630. CC [M] nvidia/libspdm_ecc.o
  48631. CC [M] nvidia/libspdm_hkdf.o
  48632. In file included from ././common/inc/conftest.h:28,
  48633. from nvidia/internal_crypt_lib.h:32,
  48634. from nvidia/libspdm_hkdf.c:24:
  48635. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  48636. 74 | #error dma_buf_export() conftest failed!
  48637. | ^~~~~
  48638. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  48639. 87 | #error wait_on_bit_lock() conftest failed!
  48640. | ^~~~~
  48641. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  48642. 90 | #error radix_tree_replace_slot() conftest failed!
  48643. | ^~~~~
  48644. In file included from ././common/inc/nv-linux.h:34,
  48645. from nvidia/os-mlock.c:27:
  48646. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  48647. 29 | typedef int vm_fault_t;
  48648. | ^~~~~~~~~~
  48649. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  48650. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  48651. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  48652. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  48653. from ././common/inc/nv-lock.h:35,
  48654. from ././common/inc/nv-linux.h:32:
  48655. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  48656. 1311 | typedef __bitwise unsigned int vm_fault_t;
  48657. | ^~~~~~~~~~
  48658. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  48659. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  48660. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  48661. from ././common/inc/nv-lock.h:29:
  48662. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  48663. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  48664. 52 | #define current get_current()
  48665. | ^~~~~~~~~~~~~
  48666. | |
  48667. | struct task_struct *
  48668. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  48669. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  48670. | ^~~~~~~
  48671. In file included from ././common/inc/nv-pgprot.h:30,
  48672. from ././common/inc/nv-linux.h:33:
  48673. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  48674. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48675. | ~~~~~~~~~~~~~~^~~~~
  48676. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  48677. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  48678. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  48679. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48680. | ~~~~~~~~~~~~~~^~~~~~~~
  48681. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  48682. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  48683. | ^~~~~~~~
  48684. | |
  48685. | long unsigned int
  48686. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  48687. 2535 | unsigned int gup_flags, struct page **pages);
  48688. | ~~~~~~~~~~~~~~^~~~~
  48689. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  48690. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  48691. | ^~~~~~~~~~~~~~ ~~~~~
  48692. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  48693. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48694. | ^~~~~~~~~~~~~~
  48695. In file included from ././common/inc/nv.h:35,
  48696. from ././common/inc/nv-linux.h:28:
  48697. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  48698. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  48699. 8 | #define NULL ((void *)0)
  48700. | ^~~~~~~~~~~
  48701. | |
  48702. | void *
  48703. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  48704. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  48705. | ^~~~
  48706. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  48707. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48708. | ~~~~~~~~~~~~~~^~~~~
  48709. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  48710. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  48711. | ^~
  48712. | |
  48713. | struct mm_struct *
  48714. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  48715. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48716. | ~~~~~~~~~~~~~~^~~~~~~~
  48717. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  48718. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  48719. | ^~~~~~~~
  48720. | |
  48721. | long unsigned int
  48722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  48723. 2535 | unsigned int gup_flags, struct page **pages);
  48724. | ~~~~~~~~~~~~~~^~~~~
  48725. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  48726. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  48727. | ^~~~~~~~~~~~~~ ~~~~~
  48728. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  48729. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48730. | ^~~~~~~~~~~~~~
  48731. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  48732. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  48733. 237 | return (unsigned long)(vmf->virtual_address);
  48734. | ^~~~~~~~~~~~~~~
  48735. | real_address
  48736. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  48737. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48738. 246 | down_read(&mm->mmap_sem);
  48739. | ^~~~~~~~
  48740. | mmap_base
  48741. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  48742. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48743. 255 | up_read(&mm->mmap_sem);
  48744. | ^~~~~~~~
  48745. | mmap_base
  48746. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  48747. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48748. 264 | down_write(&mm->mmap_sem);
  48749. | ^~~~~~~~
  48750. | mmap_base
  48751. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  48752. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48753. 273 | up_write(&mm->mmap_sem);
  48754. | ^~~~~~~~
  48755. | mmap_base
  48756. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  48757. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48758. 282 | return rwsem_is_locked(&mm->mmap_sem);
  48759. | ^~~~~~~~
  48760. | mmap_base
  48761. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  48762. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48763. 291 | return &mm->mmap_sem;
  48764. | ^~~~~~~~
  48765. | mmap_base
  48766. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  48767. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  48768. 300 | vma->vm_flags |= flags;
  48769. | ^~
  48770. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  48771. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  48772. 309 | vma->vm_flags &= ~flags;
  48773. | ^~
  48774. In file included from ././common/inc/nv-linux.h:37:
  48775. ././common/inc/nv-time.h: At top level:
  48776. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  48777. 40 | struct timespec64 {
  48778. | ^~~~~~~~~~
  48779. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  48780. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  48781. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  48782. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  48783. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  48784. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  48785. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  48786. 13 | struct timespec64 {
  48787. | ^~~~~~~~~~
  48788. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  48789. 77 | static inline struct timespec64 timespec64_add
  48790. | ^~~~~~~~~~~~~~
  48791. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  48792. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  48793. | ^~~~~~~~~~~~~~
  48794. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  48795. 95 | static inline struct timespec64 timespec64_sub
  48796. | ^~~~~~~~~~~~~~
  48797. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  48798. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  48799. | ^~~~~~~~~~~~~~
  48800. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  48801. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  48802. | ^~~~~~~~~~~~~~~~
  48803. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  48804. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  48805. | ^~~~~~~~~~~~~~~~
  48806. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  48807. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  48808. 122 | ktime_get_raw_ts64(&ts);
  48809. | ^~~
  48810. | |
  48811. | struct timespec64 *
  48812. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  48813. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  48814. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  48815. | ~~~~~~~~~~~~~~~~~~~^~
  48816. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  48817. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  48818. 185 | ktime_get_raw_ts64(&tm_aux);
  48819. | ^~~~~~~
  48820. | |
  48821. | struct timespec64 *
  48822. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  48823. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  48824. | ~~~~~~~~~~~~~~~~~~~^~
  48825. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  48826. 221 | ktime_get_raw_ts64(&tm_aux);
  48827. | ^~~~~~~
  48828. | |
  48829. | struct timespec64 *
  48830. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  48831. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  48832. | ~~~~~~~~~~~~~~~~~~~^~
  48833. In file included from ././common/inc/nv-linux.h:34,
  48834. from nvidia/os-pci.c:27:
  48835. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  48836. 29 | typedef int vm_fault_t;
  48837. | ^~~~~~~~~~
  48838. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  48839. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  48840. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  48841. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  48842. from ././common/inc/nv-lock.h:35,
  48843. from ././common/inc/nv-linux.h:32:
  48844. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  48845. 1311 | typedef __bitwise unsigned int vm_fault_t;
  48846. | ^~~~~~~~~~
  48847. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  48848. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  48849. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  48850. from ././common/inc/nv-lock.h:29:
  48851. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  48852. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  48853. 52 | #define current get_current()
  48854. | ^~~~~~~~~~~~~
  48855. | |
  48856. | struct task_struct *
  48857. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  48858. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  48859. | ^~~~~~~
  48860. In file included from ././common/inc/nv-pgprot.h:30,
  48861. from ././common/inc/nv-linux.h:33:
  48862. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  48863. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48864. | ~~~~~~~~~~~~~~^~~~~
  48865. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  48866. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  48867. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  48868. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48869. | ~~~~~~~~~~~~~~^~~~~~~~
  48870. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  48871. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  48872. | ^~~~~~~~
  48873. | |
  48874. | long unsigned int
  48875. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  48876. 2535 | unsigned int gup_flags, struct page **pages);
  48877. | ~~~~~~~~~~~~~~^~~~~
  48878. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  48879. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  48880. | ^~~~~~~~~~~~~~ ~~~~~
  48881. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  48882. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48883. | ^~~~~~~~~~~~~~
  48884. In file included from ././common/inc/nv.h:35,
  48885. from ././common/inc/nv-linux.h:28:
  48886. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  48887. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  48888. 8 | #define NULL ((void *)0)
  48889. | ^~~~~~~~~~~
  48890. | |
  48891. | void *
  48892. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  48893. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  48894. | ^~~~
  48895. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  48896. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48897. | ~~~~~~~~~~~~~~^~~~~
  48898. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  48899. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  48900. | ^~
  48901. | |
  48902. | struct mm_struct *
  48903. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  48904. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48905. | ~~~~~~~~~~~~~~^~~~~~~~
  48906. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  48907. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  48908. | ^~~~~~~~
  48909. | |
  48910. | long unsigned int
  48911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  48912. 2535 | unsigned int gup_flags, struct page **pages);
  48913. | ~~~~~~~~~~~~~~^~~~~
  48914. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  48915. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  48916. | ^~~~~~~~~~~~~~ ~~~~~
  48917. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  48918. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  48919. | ^~~~~~~~~~~~~~
  48920. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  48921. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  48922. 237 | return (unsigned long)(vmf->virtual_address);
  48923. | ^~~~~~~~~~~~~~~
  48924. | real_address
  48925. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  48926. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48927. 246 | down_read(&mm->mmap_sem);
  48928. | ^~~~~~~~
  48929. | mmap_base
  48930. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  48931. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48932. 255 | up_read(&mm->mmap_sem);
  48933. | ^~~~~~~~
  48934. | mmap_base
  48935. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  48936. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48937. 264 | down_write(&mm->mmap_sem);
  48938. | ^~~~~~~~
  48939. | mmap_base
  48940. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  48941. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48942. 273 | up_write(&mm->mmap_sem);
  48943. | ^~~~~~~~
  48944. | mmap_base
  48945. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  48946. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48947. 282 | return rwsem_is_locked(&mm->mmap_sem);
  48948. | ^~~~~~~~
  48949. | mmap_base
  48950. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  48951. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  48952. 291 | return &mm->mmap_sem;
  48953. | ^~~~~~~~
  48954. | mmap_base
  48955. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  48956. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  48957. 300 | vma->vm_flags |= flags;
  48958. | ^~
  48959. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  48960. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  48961. 309 | vma->vm_flags &= ~flags;
  48962. | ^~
  48963. In file included from ././common/inc/nv-linux.h:37:
  48964. ././common/inc/nv-time.h: At top level:
  48965. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  48966. 40 | struct timespec64 {
  48967. | ^~~~~~~~~~
  48968. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  48969. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  48970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  48971. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  48972. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  48973. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  48974. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  48975. 13 | struct timespec64 {
  48976. | ^~~~~~~~~~
  48977. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  48978. 77 | static inline struct timespec64 timespec64_add
  48979. | ^~~~~~~~~~~~~~
  48980. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  48981. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  48982. | ^~~~~~~~~~~~~~
  48983. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  48984. 95 | static inline struct timespec64 timespec64_sub
  48985. | ^~~~~~~~~~~~~~
  48986. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  48987. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  48988. | ^~~~~~~~~~~~~~
  48989. In file included from ././common/inc/nv-linux.h:34,
  48990. from nvidia/os-registry.c:27:
  48991. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  48992. 29 | typedef int vm_fault_t;
  48993. | ^~~~~~~~~~
  48994. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  48995. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  48996. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  48997. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  48998. from ././common/inc/nv-lock.h:35,
  48999. from ././common/inc/nv-linux.h:32:
  49000. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  49001. 1311 | typedef __bitwise unsigned int vm_fault_t;
  49002. | ^~~~~~~~~~
  49003. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  49004. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  49005. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  49006. from ././common/inc/nv-lock.h:29:
  49007. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  49008. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49009. 52 | #define current get_current()
  49010. | ^~~~~~~~~~~~~
  49011. | |
  49012. | struct task_struct *
  49013. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  49014. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49015. | ^~~~~~~
  49016. In file included from ././common/inc/nv-pgprot.h:30,
  49017. from ././common/inc/nv-linux.h:33:
  49018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  49019. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49020. | ~~~~~~~~~~~~~~^~~~~
  49021. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49022. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49023. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49024. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49025. | ~~~~~~~~~~~~~~^~~~~~~~
  49026. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49027. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49028. | ^~~~~~~~
  49029. | |
  49030. | long unsigned int
  49031. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49032. 2535 | unsigned int gup_flags, struct page **pages);
  49033. | ~~~~~~~~~~~~~~^~~~~
  49034. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49035. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49036. | ^~~~~~~~~~~~~~ ~~~~~
  49037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49038. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49039. | ^~~~~~~~~~~~~~
  49040. In file included from ././common/inc/nv.h:35,
  49041. from ././common/inc/nv-linux.h:28:
  49042. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  49043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49044. 8 | #define NULL ((void *)0)
  49045. | ^~~~~~~~~~~
  49046. | |
  49047. | void *
  49048. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  49049. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49050. | ^~~~
  49051. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  49052. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49053. | ~~~~~~~~~~~~~~^~~~~
  49054. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49055. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49056. | ^~
  49057. | |
  49058. | struct mm_struct *
  49059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49060. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49061. | ~~~~~~~~~~~~~~^~~~~~~~
  49062. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49063. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49064. | ^~~~~~~~
  49065. | |
  49066. | long unsigned int
  49067. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49068. 2535 | unsigned int gup_flags, struct page **pages);
  49069. | ~~~~~~~~~~~~~~^~~~~
  49070. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49071. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49072. | ^~~~~~~~~~~~~~ ~~~~~
  49073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49074. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49075. | ^~~~~~~~~~~~~~
  49076. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  49077. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  49078. 237 | return (unsigned long)(vmf->virtual_address);
  49079. | ^~~~~~~~~~~~~~~
  49080. | real_address
  49081. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  49082. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49083. 246 | down_read(&mm->mmap_sem);
  49084. | ^~~~~~~~
  49085. | mmap_base
  49086. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  49087. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49088. 255 | up_read(&mm->mmap_sem);
  49089. | ^~~~~~~~
  49090. | mmap_base
  49091. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  49092. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49093. 264 | down_write(&mm->mmap_sem);
  49094. | ^~~~~~~~
  49095. | mmap_base
  49096. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  49097. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49098. 273 | up_write(&mm->mmap_sem);
  49099. | ^~~~~~~~
  49100. | mmap_base
  49101. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  49102. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49103. 282 | return rwsem_is_locked(&mm->mmap_sem);
  49104. | ^~~~~~~~
  49105. | mmap_base
  49106. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  49107. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49108. 291 | return &mm->mmap_sem;
  49109. | ^~~~~~~~
  49110. | mmap_base
  49111. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  49112. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  49113. 300 | vma->vm_flags |= flags;
  49114. | ^~
  49115. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  49116. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  49117. 309 | vma->vm_flags &= ~flags;
  49118. | ^~
  49119. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  49120. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  49121. | ^~~~~~~~~~~~~~~~
  49122. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  49123. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  49124. | ^~~~~~~~~~~~~~~~
  49125. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  49126. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49127. 122 | ktime_get_raw_ts64(&ts);
  49128. | ^~~
  49129. | |
  49130. | struct timespec64 *
  49131. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  49132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49133. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49134. | ~~~~~~~~~~~~~~~~~~~^~
  49135. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  49136. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49137. 185 | ktime_get_raw_ts64(&tm_aux);
  49138. | ^~~~~~~
  49139. | |
  49140. | struct timespec64 *
  49141. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49142. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49143. | ~~~~~~~~~~~~~~~~~~~^~
  49144. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49145. 221 | ktime_get_raw_ts64(&tm_aux);
  49146. | ^~~~~~~
  49147. | |
  49148. | struct timespec64 *
  49149. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49150. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49151. | ~~~~~~~~~~~~~~~~~~~^~
  49152. In file included from ././common/inc/nv-linux.h:37:
  49153. ././common/inc/nv-time.h: At top level:
  49154. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  49155. 40 | struct timespec64 {
  49156. | ^~~~~~~~~~
  49157. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  49158. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  49159. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  49160. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  49161. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  49162. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  49163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  49164. 13 | struct timespec64 {
  49165. | ^~~~~~~~~~
  49166. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49167. 77 | static inline struct timespec64 timespec64_add
  49168. | ^~~~~~~~~~~~~~
  49169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49170. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  49171. | ^~~~~~~~~~~~~~
  49172. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49173. 95 | static inline struct timespec64 timespec64_sub
  49174. | ^~~~~~~~~~~~~~
  49175. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49176. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  49177. | ^~~~~~~~~~~~~~
  49178. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  49179. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  49180. | ^~~~~~~~~~~~~~~~
  49181. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  49182. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  49183. | ^~~~~~~~~~~~~~~~
  49184. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  49185. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49186. 122 | ktime_get_raw_ts64(&ts);
  49187. | ^~~
  49188. | |
  49189. | struct timespec64 *
  49190. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  49191. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49192. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49193. | ~~~~~~~~~~~~~~~~~~~^~
  49194. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  49195. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49196. 185 | ktime_get_raw_ts64(&tm_aux);
  49197. | ^~~~~~~
  49198. | |
  49199. | struct timespec64 *
  49200. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49201. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49202. | ~~~~~~~~~~~~~~~~~~~^~
  49203. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49204. 221 | ktime_get_raw_ts64(&tm_aux);
  49205. | ^~~~~~~
  49206. | |
  49207. | struct timespec64 *
  49208. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49209. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49210. | ~~~~~~~~~~~~~~~~~~~^~
  49211. In file included from ././common/inc/nv-linux.h:34,
  49212. from nvidia/nv-modeset-interface.c:27:
  49213. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  49214. 29 | typedef int vm_fault_t;
  49215. | ^~~~~~~~~~
  49216. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  49217. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  49218. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  49219. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  49220. from ././common/inc/nv-lock.h:35,
  49221. from ././common/inc/nv-linux.h:32:
  49222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  49223. 1311 | typedef __bitwise unsigned int vm_fault_t;
  49224. | ^~~~~~~~~~
  49225. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  49226. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  49227. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  49228. from ././common/inc/nv-lock.h:29:
  49229. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  49230. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49231. 52 | #define current get_current()
  49232. | ^~~~~~~~~~~~~
  49233. | |
  49234. | struct task_struct *
  49235. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  49236. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49237. | ^~~~~~~
  49238. In file included from ././common/inc/nv-pgprot.h:30,
  49239. from ././common/inc/nv-linux.h:33:
  49240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  49241. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49242. | ~~~~~~~~~~~~~~^~~~~
  49243. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49244. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49245. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49246. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49247. | ~~~~~~~~~~~~~~^~~~~~~~
  49248. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49249. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49250. | ^~~~~~~~
  49251. | |
  49252. | long unsigned int
  49253. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49254. 2535 | unsigned int gup_flags, struct page **pages);
  49255. | ~~~~~~~~~~~~~~^~~~~
  49256. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49257. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49258. | ^~~~~~~~~~~~~~ ~~~~~
  49259. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49260. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49261. | ^~~~~~~~~~~~~~
  49262. In file included from ././common/inc/nv.h:35,
  49263. from ././common/inc/nv-linux.h:28:
  49264. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  49265. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49266. 8 | #define NULL ((void *)0)
  49267. | ^~~~~~~~~~~
  49268. | |
  49269. | void *
  49270. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  49271. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49272. | ^~~~
  49273. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  49274. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49275. | ~~~~~~~~~~~~~~^~~~~
  49276. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49277. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49278. | ^~
  49279. | |
  49280. | struct mm_struct *
  49281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49282. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49283. | ~~~~~~~~~~~~~~^~~~~~~~
  49284. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49285. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49286. | ^~~~~~~~
  49287. | |
  49288. | long unsigned int
  49289. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49290. 2535 | unsigned int gup_flags, struct page **pages);
  49291. | ~~~~~~~~~~~~~~^~~~~
  49292. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49293. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49294. | ^~~~~~~~~~~~~~ ~~~~~
  49295. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49296. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49297. | ^~~~~~~~~~~~~~
  49298. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  49299. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  49300. 237 | return (unsigned long)(vmf->virtual_address);
  49301. | ^~~~~~~~~~~~~~~
  49302. | real_address
  49303. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  49304. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49305. 246 | down_read(&mm->mmap_sem);
  49306. | ^~~~~~~~
  49307. | mmap_base
  49308. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  49309. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49310. 255 | up_read(&mm->mmap_sem);
  49311. | ^~~~~~~~
  49312. | mmap_base
  49313. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  49314. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49315. 264 | down_write(&mm->mmap_sem);
  49316. | ^~~~~~~~
  49317. | mmap_base
  49318. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  49319. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49320. 273 | up_write(&mm->mmap_sem);
  49321. | ^~~~~~~~
  49322. | mmap_base
  49323. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  49324. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49325. 282 | return rwsem_is_locked(&mm->mmap_sem);
  49326. | ^~~~~~~~
  49327. | mmap_base
  49328. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  49329. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49330. 291 | return &mm->mmap_sem;
  49331. | ^~~~~~~~
  49332. | mmap_base
  49333. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  49334. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  49335. 300 | vma->vm_flags |= flags;
  49336. | ^~
  49337. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  49338. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  49339. 309 | vma->vm_flags &= ~flags;
  49340. | ^~
  49341. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_hkdf.o] Error 1
  49342. In file included from ././common/inc/nv-linux.h:37:
  49343. ././common/inc/nv-time.h: At top level:
  49344. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  49345. 40 | struct timespec64 {
  49346. | ^~~~~~~~~~
  49347. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  49348. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  49349. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  49350. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  49351. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  49352. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  49353. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  49354. 13 | struct timespec64 {
  49355. | ^~~~~~~~~~
  49356. CC [M] nvidia/libspdm_rand.o
  49357. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49358. 77 | static inline struct timespec64 timespec64_add
  49359. | ^~~~~~~~~~~~~~
  49360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49361. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  49362. | ^~~~~~~~~~~~~~
  49363. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49364. 95 | static inline struct timespec64 timespec64_sub
  49365. | ^~~~~~~~~~~~~~
  49366. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49367. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  49368. | ^~~~~~~~~~~~~~
  49369. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  49370. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  49371. | ^~~~~~~~~~~~~~~~
  49372. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  49373. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  49374. | ^~~~~~~~~~~~~~~~
  49375. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  49376. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49377. 122 | ktime_get_raw_ts64(&ts);
  49378. | ^~~
  49379. | |
  49380. | struct timespec64 *
  49381. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  49382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49383. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49384. | ~~~~~~~~~~~~~~~~~~~^~
  49385. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  49386. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49387. 185 | ktime_get_raw_ts64(&tm_aux);
  49388. | ^~~~~~~
  49389. | |
  49390. | struct timespec64 *
  49391. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49392. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49393. | ~~~~~~~~~~~~~~~~~~~^~
  49394. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49395. 221 | ktime_get_raw_ts64(&tm_aux);
  49396. | ^~~~~~~
  49397. | |
  49398. | struct timespec64 *
  49399. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49400. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49401. | ~~~~~~~~~~~~~~~~~~~^~
  49402. In file included from ././common/inc/nv-linux.h:34:
  49403. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  49404. 29 | typedef int vm_fault_t;
  49405. | ^~~~~~~~~~
  49406. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  49407. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  49408. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  49409. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  49410. from ././common/inc/nv-lock.h:35,
  49411. from ././common/inc/nv-linux.h:32:
  49412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  49413. 1311 | typedef __bitwise unsigned int vm_fault_t;
  49414. | ^~~~~~~~~~
  49415. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  49416. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  49417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  49418. from ././common/inc/nv-lock.h:29:
  49419. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  49420. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49421. 52 | #define current get_current()
  49422. | ^~~~~~~~~~~~~
  49423. | |
  49424. | struct task_struct *
  49425. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  49426. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49427. | ^~~~~~~
  49428. In file included from ././common/inc/nv-pgprot.h:30,
  49429. from ././common/inc/nv-linux.h:33:
  49430. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  49431. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49432. | ~~~~~~~~~~~~~~^~~~~
  49433. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49434. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49435. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49436. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49437. | ~~~~~~~~~~~~~~^~~~~~~~
  49438. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49439. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49440. | ^~~~~~~~
  49441. | |
  49442. | long unsigned int
  49443. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49444. 2535 | unsigned int gup_flags, struct page **pages);
  49445. | ~~~~~~~~~~~~~~^~~~~
  49446. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49447. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49448. | ^~~~~~~~~~~~~~ ~~~~~
  49449. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49450. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49451. | ^~~~~~~~~~~~~~
  49452. In file included from ././common/inc/nv.h:35:
  49453. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  49454. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49455. 8 | #define NULL ((void *)0)
  49456. | ^~~~~~~~~~~
  49457. | |
  49458. | void *
  49459. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  49460. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49461. | ^~~~
  49462. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  49463. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49464. | ~~~~~~~~~~~~~~^~~~~
  49465. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49466. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49467. | ^~
  49468. | |
  49469. | struct mm_struct *
  49470. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49471. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49472. | ~~~~~~~~~~~~~~^~~~~~~~
  49473. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49474. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49475. | ^~~~~~~~
  49476. | |
  49477. | long unsigned int
  49478. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49479. 2535 | unsigned int gup_flags, struct page **pages);
  49480. | ~~~~~~~~~~~~~~^~~~~
  49481. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49482. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49483. | ^~~~~~~~~~~~~~ ~~~~~
  49484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49485. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49486. | ^~~~~~~~~~~~~~
  49487. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  49488. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  49489. 237 | return (unsigned long)(vmf->virtual_address);
  49490. | ^~~~~~~~~~~~~~~
  49491. | real_address
  49492. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  49493. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49494. 246 | down_read(&mm->mmap_sem);
  49495. | ^~~~~~~~
  49496. | mmap_base
  49497. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  49498. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49499. 255 | up_read(&mm->mmap_sem);
  49500. | ^~~~~~~~
  49501. | mmap_base
  49502. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  49503. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49504. 264 | down_write(&mm->mmap_sem);
  49505. | ^~~~~~~~
  49506. | mmap_base
  49507. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  49508. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49509. 273 | up_write(&mm->mmap_sem);
  49510. | ^~~~~~~~
  49511. | mmap_base
  49512. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  49513. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49514. 282 | return rwsem_is_locked(&mm->mmap_sem);
  49515. | ^~~~~~~~
  49516. | mmap_base
  49517. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  49518. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49519. 291 | return &mm->mmap_sem;
  49520. | ^~~~~~~~
  49521. | mmap_base
  49522. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  49523. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  49524. 300 | vma->vm_flags |= flags;
  49525. | ^~
  49526. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  49527. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  49528. 309 | vma->vm_flags &= ~flags;
  49529. | ^~
  49530. In file included from ././common/inc/nv-linux.h:34,
  49531. from nvidia/os-usermap.c:27:
  49532. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  49533. 29 | typedef int vm_fault_t;
  49534. | ^~~~~~~~~~
  49535. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  49536. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  49537. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  49538. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  49539. from ././common/inc/nv-lock.h:35,
  49540. from ././common/inc/nv-linux.h:32:
  49541. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  49542. 1311 | typedef __bitwise unsigned int vm_fault_t;
  49543. | ^~~~~~~~~~
  49544. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  49545. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  49546. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  49547. from ././common/inc/nv-lock.h:29:
  49548. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  49549. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49550. 52 | #define current get_current()
  49551. | ^~~~~~~~~~~~~
  49552. | |
  49553. | struct task_struct *
  49554. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  49555. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49556. | ^~~~~~~
  49557. In file included from ././common/inc/nv-pgprot.h:30,
  49558. from ././common/inc/nv-linux.h:33:
  49559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  49560. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49561. | ~~~~~~~~~~~~~~^~~~~
  49562. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49563. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49564. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49565. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49566. | ~~~~~~~~~~~~~~^~~~~~~~
  49567. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49568. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49569. | ^~~~~~~~
  49570. | |
  49571. | long unsigned int
  49572. In file included from ././common/inc/nv-linux.h:34:
  49573. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  49574. 29 | typedef int vm_fault_t;
  49575. | ^~~~~~~~~~
  49576. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  49577. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  49578. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  49579. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  49580. from ././common/inc/nv-lock.h:35,
  49581. from ././common/inc/nv-linux.h:32:
  49582. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  49583. 1311 | typedef __bitwise unsigned int vm_fault_t;
  49584. | ^~~~~~~~~~
  49585. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  49586. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  49587. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  49588. from ././common/inc/nv-lock.h:29:
  49589. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  49590. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49591. 52 | #define current get_current()
  49592. | ^~~~~~~~~~~~~
  49593. | |
  49594. | struct task_struct *
  49595. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  49596. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49597. | ^~~~~~~
  49598. In file included from ././common/inc/nv-pgprot.h:30,
  49599. from ././common/inc/nv-linux.h:33:
  49600. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  49601. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49602. | ~~~~~~~~~~~~~~^~~~~
  49603. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49604. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49605. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49606. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49607. | ~~~~~~~~~~~~~~^~~~~~~~
  49608. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49609. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49610. | ^~~~~~~~
  49611. | |
  49612. | long unsigned int
  49613. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49614. 2535 | unsigned int gup_flags, struct page **pages);
  49615. | ~~~~~~~~~~~~~~^~~~~
  49616. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49617. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49618. | ^~~~~~~~~~~~~~ ~~~~~
  49619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49620. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49621. | ^~~~~~~~~~~~~~
  49622. In file included from ././common/inc/nv-linux.h:37:
  49623. ././common/inc/nv-time.h: At top level:
  49624. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  49625. 40 | struct timespec64 {
  49626. | ^~~~~~~~~~
  49627. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  49628. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  49629. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  49630. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  49631. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  49632. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  49633. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  49634. 13 | struct timespec64 {
  49635. | ^~~~~~~~~~
  49636. In file included from ././common/inc/nv.h:35:
  49637. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  49638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49639. 8 | #define NULL ((void *)0)
  49640. | ^~~~~~~~~~~
  49641. | |
  49642. | void *
  49643. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  49644. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49645. | ^~~~
  49646. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  49647. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49648. | ~~~~~~~~~~~~~~^~~~~
  49649. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49650. 77 | static inline struct timespec64 timespec64_add
  49651. | ^~~~~~~~~~~~~~
  49652. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49653. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49654. | ^~
  49655. | |
  49656. | struct mm_struct *
  49657. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49658. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  49659. | ^~~~~~~~~~~~~~
  49660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49661. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49662. | ~~~~~~~~~~~~~~^~~~~~~~
  49663. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49664. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49665. | ^~~~~~~~
  49666. | |
  49667. | long unsigned int
  49668. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49669. 95 | static inline struct timespec64 timespec64_sub
  49670. | ^~~~~~~~~~~~~~
  49671. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49672. 2535 | unsigned int gup_flags, struct page **pages);
  49673. | ~~~~~~~~~~~~~~^~~~~
  49674. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49675. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49676. | ^~~~~~~~~~~~~~ ~~~~~
  49677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49678. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  49679. | ^~~~~~~~~~~~~~
  49680. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49681. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49682. | ^~~~~~~~~~~~~~
  49683. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  49684. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  49685. | ^~~~~~~~~~~~~~~~
  49686. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  49687. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  49688. | ^~~~~~~~~~~~~~~~
  49689. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  49690. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  49691. 237 | return (unsigned long)(vmf->virtual_address);
  49692. | ^~~~~~~~~~~~~~~
  49693. | real_address
  49694. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  49695. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49696. 122 | ktime_get_raw_ts64(&ts);
  49697. | ^~~
  49698. | |
  49699. | struct timespec64 *
  49700. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  49701. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49702. 246 | down_read(&mm->mmap_sem);
  49703. | ^~~~~~~~
  49704. | mmap_base
  49705. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  49706. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49707. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49708. | ~~~~~~~~~~~~~~~~~~~^~
  49709. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  49710. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49711. 255 | up_read(&mm->mmap_sem);
  49712. | ^~~~~~~~
  49713. | mmap_base
  49714. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  49715. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49716. 264 | down_write(&mm->mmap_sem);
  49717. | ^~~~~~~~
  49718. | mmap_base
  49719. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  49720. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49721. 273 | up_write(&mm->mmap_sem);
  49722. | ^~~~~~~~
  49723. | mmap_base
  49724. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  49725. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  49726. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49727. 185 | ktime_get_raw_ts64(&tm_aux);
  49728. | ^~~~~~~
  49729. | |
  49730. | struct timespec64 *
  49731. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49732. 282 | return rwsem_is_locked(&mm->mmap_sem);
  49733. | ^~~~~~~~
  49734. | mmap_base
  49735. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49736. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49737. | ~~~~~~~~~~~~~~~~~~~^~
  49738. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  49739. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49740. 291 | return &mm->mmap_sem;
  49741. | ^~~~~~~~
  49742. | mmap_base
  49743. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  49744. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  49745. 300 | vma->vm_flags |= flags;
  49746. | ^~
  49747. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  49748. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  49749. 309 | vma->vm_flags &= ~flags;
  49750. | ^~
  49751. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49752. 221 | ktime_get_raw_ts64(&tm_aux);
  49753. | ^~~~~~~
  49754. | |
  49755. | struct timespec64 *
  49756. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49757. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49758. | ~~~~~~~~~~~~~~~~~~~^~
  49759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49760. 2535 | unsigned int gup_flags, struct page **pages);
  49761. | ~~~~~~~~~~~~~~^~~~~
  49762. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49763. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  49764. | ^~~~~~~~~~~~~~ ~~~~~
  49765. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49766. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49767. | ^~~~~~~~~~~~~~
  49768. In file included from ././common/inc/nv.h:35,
  49769. from ././common/inc/nv-linux.h:28:
  49770. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  49771. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49772. 8 | #define NULL ((void *)0)
  49773. | ^~~~~~~~~~~
  49774. | |
  49775. | void *
  49776. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  49777. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49778. | ^~~~
  49779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  49780. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49781. | ~~~~~~~~~~~~~~^~~~~
  49782. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49783. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49784. | ^~
  49785. | |
  49786. | struct mm_struct *
  49787. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  49788. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49789. | ~~~~~~~~~~~~~~^~~~~~~~
  49790. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  49791. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49792. | ^~~~~~~~
  49793. | |
  49794. | long unsigned int
  49795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  49796. 2535 | unsigned int gup_flags, struct page **pages);
  49797. | ~~~~~~~~~~~~~~^~~~~
  49798. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  49799. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  49800. | ^~~~~~~~~~~~~~ ~~~~~
  49801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  49802. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  49803. | ^~~~~~~~~~~~~~
  49804. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  49805. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  49806. 237 | return (unsigned long)(vmf->virtual_address);
  49807. | ^~~~~~~~~~~~~~~
  49808. | real_address
  49809. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  49810. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49811. 246 | down_read(&mm->mmap_sem);
  49812. | ^~~~~~~~
  49813. | mmap_base
  49814. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  49815. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49816. 255 | up_read(&mm->mmap_sem);
  49817. | ^~~~~~~~
  49818. | mmap_base
  49819. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  49820. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49821. 264 | down_write(&mm->mmap_sem);
  49822. | ^~~~~~~~
  49823. | mmap_base
  49824. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  49825. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49826. 273 | up_write(&mm->mmap_sem);
  49827. | ^~~~~~~~
  49828. | mmap_base
  49829. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  49830. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49831. 282 | return rwsem_is_locked(&mm->mmap_sem);
  49832. | ^~~~~~~~
  49833. | mmap_base
  49834. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  49835. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  49836. 291 | return &mm->mmap_sem;
  49837. | ^~~~~~~~
  49838. | mmap_base
  49839. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  49840. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  49841. 300 | vma->vm_flags |= flags;
  49842. | ^~
  49843. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  49844. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  49845. 309 | vma->vm_flags &= ~flags;
  49846. | ^~
  49847. In file included from ././common/inc/nv-linux.h:37:
  49848. ././common/inc/nv-time.h: At top level:
  49849. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  49850. 40 | struct timespec64 {
  49851. | ^~~~~~~~~~
  49852. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  49853. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  49854. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  49855. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  49856. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  49857. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  49858. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  49859. 13 | struct timespec64 {
  49860. | ^~~~~~~~~~
  49861. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49862. 77 | static inline struct timespec64 timespec64_add
  49863. | ^~~~~~~~~~~~~~
  49864. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49865. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  49866. | ^~~~~~~~~~~~~~
  49867. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49868. 95 | static inline struct timespec64 timespec64_sub
  49869. | ^~~~~~~~~~~~~~
  49870. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49871. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  49872. | ^~~~~~~~~~~~~~
  49873. CC [M] nvidia/libspdm_shash.o
  49874. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  49875. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  49876. | ^~~~~~~~~~~~~~~~
  49877. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  49878. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  49879. | ^~~~~~~~~~~~~~~~
  49880. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  49881. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49882. 122 | ktime_get_raw_ts64(&ts);
  49883. | ^~~
  49884. | |
  49885. | struct timespec64 *
  49886. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  49887. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49888. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49889. | ~~~~~~~~~~~~~~~~~~~^~
  49890. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  49891. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49892. 185 | ktime_get_raw_ts64(&tm_aux);
  49893. | ^~~~~~~
  49894. | |
  49895. | struct timespec64 *
  49896. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49897. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49898. | ~~~~~~~~~~~~~~~~~~~^~
  49899. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49900. 221 | ktime_get_raw_ts64(&tm_aux);
  49901. | ^~~~~~~
  49902. | |
  49903. | struct timespec64 *
  49904. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49905. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49906. | ~~~~~~~~~~~~~~~~~~~^~
  49907. In file included from ././common/inc/nv-linux.h:37:
  49908. ././common/inc/nv-time.h: At top level:
  49909. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  49910. 40 | struct timespec64 {
  49911. | ^~~~~~~~~~
  49912. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  49913. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  49914. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  49915. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  49916. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  49917. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  49918. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  49919. 13 | struct timespec64 {
  49920. | ^~~~~~~~~~
  49921. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49922. 77 | static inline struct timespec64 timespec64_add
  49923. | ^~~~~~~~~~~~~~
  49924. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49925. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  49926. | ^~~~~~~~~~~~~~
  49927. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  49928. 95 | static inline struct timespec64 timespec64_sub
  49929. | ^~~~~~~~~~~~~~
  49930. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  49931. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  49932. | ^~~~~~~~~~~~~~
  49933. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  49934. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  49935. | ^~~~~~~~~~~~~~~~
  49936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  49937. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  49938. | ^~~~~~~~~~~~~~~~
  49939. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  49940. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49941. 122 | ktime_get_raw_ts64(&ts);
  49942. | ^~~
  49943. | |
  49944. | struct timespec64 *
  49945. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  49946. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49947. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49948. | ~~~~~~~~~~~~~~~~~~~^~
  49949. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  49950. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49951. 185 | ktime_get_raw_ts64(&tm_aux);
  49952. | ^~~~~~~
  49953. | |
  49954. | struct timespec64 *
  49955. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49956. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49957. | ~~~~~~~~~~~~~~~~~~~^~
  49958. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  49959. 221 | ktime_get_raw_ts64(&tm_aux);
  49960. | ^~~~~~~
  49961. | |
  49962. | struct timespec64 *
  49963. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  49964. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  49965. | ~~~~~~~~~~~~~~~~~~~^~
  49966. In file included from ././common/inc/conftest.h:28,
  49967. from nvidia/internal_crypt_lib.h:32,
  49968. from nvidia/libspdm_shash.c:24:
  49969. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  49970. 74 | #error dma_buf_export() conftest failed!
  49971. | ^~~~~
  49972. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  49973. 87 | #error wait_on_bit_lock() conftest failed!
  49974. | ^~~~~
  49975. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  49976. 90 | #error radix_tree_replace_slot() conftest failed!
  49977. | ^~~~~
  49978. In file included from ././common/inc/nv-linux.h:34:
  49979. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  49980. 29 | typedef int vm_fault_t;
  49981. | ^~~~~~~~~~
  49982. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  49983. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  49984. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  49985. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  49986. from ././common/inc/nv-lock.h:35,
  49987. from ././common/inc/nv-linux.h:32:
  49988. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  49989. 1311 | typedef __bitwise unsigned int vm_fault_t;
  49990. | ^~~~~~~~~~
  49991. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  49992. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  49993. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  49994. from ././common/inc/nv-lock.h:29:
  49995. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  49996. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  49997. 52 | #define current get_current()
  49998. | ^~~~~~~~~~~~~
  49999. | |
  50000. | struct task_struct *
  50001. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  50002. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50003. | ^~~~~~~
  50004. In file included from ././common/inc/nv-pgprot.h:30,
  50005. from ././common/inc/nv-linux.h:33:
  50006. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  50007. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50008. | ~~~~~~~~~~~~~~^~~~~
  50009. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50010. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50011. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50012. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50013. | ~~~~~~~~~~~~~~^~~~~~~~
  50014. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50015. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50016. | ^~~~~~~~
  50017. | |
  50018. | long unsigned int
  50019. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50020. 2535 | unsigned int gup_flags, struct page **pages);
  50021. | ~~~~~~~~~~~~~~^~~~~
  50022. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50023. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50024. | ^~~~~~~~~~~~~~ ~~~~~
  50025. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50026. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50027. | ^~~~~~~~~~~~~~
  50028. In file included from ././common/inc/nv.h:35:
  50029. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  50030. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50031. 8 | #define NULL ((void *)0)
  50032. | ^~~~~~~~~~~
  50033. | |
  50034. | void *
  50035. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  50036. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50037. | ^~~~
  50038. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  50039. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50040. | ~~~~~~~~~~~~~~^~~~~
  50041. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50042. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50043. | ^~
  50044. | |
  50045. | struct mm_struct *
  50046. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50047. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50048. | ~~~~~~~~~~~~~~^~~~~~~~
  50049. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50050. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50051. | ^~~~~~~~
  50052. | |
  50053. | long unsigned int
  50054. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50055. 2535 | unsigned int gup_flags, struct page **pages);
  50056. | ~~~~~~~~~~~~~~^~~~~
  50057. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50058. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50059. | ^~~~~~~~~~~~~~ ~~~~~
  50060. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50061. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50062. | ^~~~~~~~~~~~~~
  50063. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  50064. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  50065. 237 | return (unsigned long)(vmf->virtual_address);
  50066. | ^~~~~~~~~~~~~~~
  50067. | real_address
  50068. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  50069. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50070. 246 | down_read(&mm->mmap_sem);
  50071. | ^~~~~~~~
  50072. | mmap_base
  50073. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  50074. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50075. 255 | up_read(&mm->mmap_sem);
  50076. | ^~~~~~~~
  50077. | mmap_base
  50078. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  50079. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50080. 264 | down_write(&mm->mmap_sem);
  50081. | ^~~~~~~~
  50082. | mmap_base
  50083. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  50084. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50085. 273 | up_write(&mm->mmap_sem);
  50086. | ^~~~~~~~
  50087. | mmap_base
  50088. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  50089. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50090. 282 | return rwsem_is_locked(&mm->mmap_sem);
  50091. | ^~~~~~~~
  50092. | mmap_base
  50093. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  50094. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50095. 291 | return &mm->mmap_sem;
  50096. | ^~~~~~~~
  50097. | mmap_base
  50098. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  50099. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  50100. 300 | vma->vm_flags |= flags;
  50101. | ^~
  50102. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  50103. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  50104. 309 | vma->vm_flags &= ~flags;
  50105. | ^~
  50106. nvidia/nv-kthread-q.c: In function 'thread_create_on_node':
  50107. nvidia/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  50108. 179 | const static unsigned attempts = 3;
  50109. | ^~~~~
  50110. In file included from ././common/inc/nv-linux.h:37:
  50111. ././common/inc/nv-time.h: At top level:
  50112. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  50113. 40 | struct timespec64 {
  50114. | ^~~~~~~~~~
  50115. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  50116. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  50117. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  50118. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  50119. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  50120. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  50121. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  50122. 13 | struct timespec64 {
  50123. | ^~~~~~~~~~
  50124. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  50125. 77 | static inline struct timespec64 timespec64_add
  50126. | ^~~~~~~~~~~~~~
  50127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  50128. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  50129. | ^~~~~~~~~~~~~~
  50130. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  50131. 95 | static inline struct timespec64 timespec64_sub
  50132. | ^~~~~~~~~~~~~~
  50133. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  50134. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  50135. | ^~~~~~~~~~~~~~
  50136. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  50137. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  50138. | ^~~~~~~~~~~~~~~~
  50139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  50140. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  50141. | ^~~~~~~~~~~~~~~~
  50142. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  50143. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50144. 122 | ktime_get_raw_ts64(&ts);
  50145. | ^~~
  50146. | |
  50147. | struct timespec64 *
  50148. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  50149. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50150. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50151. | ~~~~~~~~~~~~~~~~~~~^~
  50152. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  50153. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50154. 185 | ktime_get_raw_ts64(&tm_aux);
  50155. | ^~~~~~~
  50156. | |
  50157. | struct timespec64 *
  50158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50159. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50160. | ~~~~~~~~~~~~~~~~~~~^~
  50161. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50162. 221 | ktime_get_raw_ts64(&tm_aux);
  50163. | ^~~~~~~
  50164. | |
  50165. | struct timespec64 *
  50166. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50167. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50168. | ~~~~~~~~~~~~~~~~~~~^~
  50169. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-kthread-q.o] Error 1
  50170. CC [M] nvidia/libspdm_aead_aes_gcm.o
  50171. CC [M] nvidia/libspdm_sha.o
  50172. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  50173. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  50174. 502 | NV_MEMDBG_ADD(ptr, size);
  50175. | ^
  50176. In file included from ././common/inc/nv-linux.h:34:
  50177. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  50178. 29 | typedef int vm_fault_t;
  50179. | ^~~~~~~~~~
  50180. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  50181. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  50182. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  50183. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  50184. from ././common/inc/nv-lock.h:35,
  50185. from ././common/inc/nv-linux.h:32:
  50186. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  50187. 1311 | typedef __bitwise unsigned int vm_fault_t;
  50188. | ^~~~~~~~~~
  50189. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  50190. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  50191. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  50192. from ././common/inc/nv-lock.h:29:
  50193. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  50194. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50195. 52 | #define current get_current()
  50196. | ^~~~~~~~~~~~~
  50197. | |
  50198. | struct task_struct *
  50199. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  50200. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50201. | ^~~~~~~
  50202. In file included from ././common/inc/nv-pgprot.h:30,
  50203. from ././common/inc/nv-linux.h:33:
  50204. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  50205. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50206. | ~~~~~~~~~~~~~~^~~~~
  50207. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50208. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50209. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50210. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50211. | ~~~~~~~~~~~~~~^~~~~~~~
  50212. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50213. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50214. | ^~~~~~~~
  50215. | |
  50216. | long unsigned int
  50217. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50218. 2535 | unsigned int gup_flags, struct page **pages);
  50219. | ~~~~~~~~~~~~~~^~~~~
  50220. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50221. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50222. | ^~~~~~~~~~~~~~ ~~~~~
  50223. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50224. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50225. | ^~~~~~~~~~~~~~
  50226. In file included from ././common/inc/nv.h:35:
  50227. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  50228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50229. 8 | #define NULL ((void *)0)
  50230. | ^~~~~~~~~~~
  50231. | |
  50232. | void *
  50233. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  50234. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50235. | ^~~~
  50236. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  50237. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50238. | ~~~~~~~~~~~~~~^~~~~
  50239. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50240. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50241. | ^~
  50242. | |
  50243. | struct mm_struct *
  50244. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50245. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50246. | ~~~~~~~~~~~~~~^~~~~~~~
  50247. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50248. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50249. | ^~~~~~~~
  50250. | |
  50251. | long unsigned int
  50252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50253. 2535 | unsigned int gup_flags, struct page **pages);
  50254. | ~~~~~~~~~~~~~~^~~~~
  50255. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50256. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50257. | ^~~~~~~~~~~~~~ ~~~~~
  50258. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50259. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50260. | ^~~~~~~~~~~~~~
  50261. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  50262. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  50263. 237 | return (unsigned long)(vmf->virtual_address);
  50264. | ^~~~~~~~~~~~~~~
  50265. | real_address
  50266. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  50267. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50268. 246 | down_read(&mm->mmap_sem);
  50269. | ^~~~~~~~
  50270. | mmap_base
  50271. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  50272. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50273. 255 | up_read(&mm->mmap_sem);
  50274. | ^~~~~~~~
  50275. | mmap_base
  50276. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  50277. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50278. 264 | down_write(&mm->mmap_sem);
  50279. | ^~~~~~~~
  50280. | mmap_base
  50281. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  50282. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50283. 273 | up_write(&mm->mmap_sem);
  50284. | ^~~~~~~~
  50285. | mmap_base
  50286. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  50287. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50288. 282 | return rwsem_is_locked(&mm->mmap_sem);
  50289. | ^~~~~~~~
  50290. | mmap_base
  50291. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  50292. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50293. 291 | return &mm->mmap_sem;
  50294. | ^~~~~~~~
  50295. | mmap_base
  50296. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  50297. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  50298. 300 | vma->vm_flags |= flags;
  50299. | ^~
  50300. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  50301. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  50302. 309 | vma->vm_flags &= ~flags;
  50303. | ^~
  50304. CC [M] nvidia/libspdm_hmac_sha.o
  50305. In file included from ././common/inc/nv-linux.h:37:
  50306. ././common/inc/nv-time.h: At top level:
  50307. CC [M] nvidia/libspdm_hkdf_sha.o
  50308. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  50309. 40 | struct timespec64 {
  50310. | ^~~~~~~~~~
  50311. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  50312. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  50313. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  50314. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  50315. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  50316. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  50317. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  50318. 13 | struct timespec64 {
  50319. | ^~~~~~~~~~
  50320. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  50321. 77 | static inline struct timespec64 timespec64_add
  50322. | ^~~~~~~~~~~~~~
  50323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  50324. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  50325. | ^~~~~~~~~~~~~~
  50326. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  50327. 95 | static inline struct timespec64 timespec64_sub
  50328. | ^~~~~~~~~~~~~~
  50329. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  50330. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  50331. | ^~~~~~~~~~~~~~
  50332. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  50333. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  50334. | ^~~~~~~~~~~~~~~~
  50335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  50336. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  50337. | ^~~~~~~~~~~~~~~~
  50338. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  50339. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50340. 122 | ktime_get_raw_ts64(&ts);
  50341. | ^~~
  50342. | |
  50343. | struct timespec64 *
  50344. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  50345. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50346. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50347. | ~~~~~~~~~~~~~~~~~~~^~
  50348. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  50349. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50350. 185 | ktime_get_raw_ts64(&tm_aux);
  50351. | ^~~~~~~
  50352. | |
  50353. | struct timespec64 *
  50354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50355. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50356. | ~~~~~~~~~~~~~~~~~~~^~
  50357. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50358. 221 | ktime_get_raw_ts64(&tm_aux);
  50359. | ^~~~~~~
  50360. | |
  50361. | struct timespec64 *
  50362. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50363. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50364. | ~~~~~~~~~~~~~~~~~~~^~
  50365. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  50366. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  50367. 502 | NV_MEMDBG_ADD(ptr, size);
  50368. | ^
  50369. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  50370. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  50371. 502 | NV_MEMDBG_ADD(ptr, size);
  50372. | ^
  50373. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_shash.o] Error 1
  50374. In file included from ././common/inc/nv-linux.h:34,
  50375. from nvidia/nv-frontend.c:25:
  50376. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  50377. 29 | typedef int vm_fault_t;
  50378. | ^~~~~~~~~~
  50379. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  50380. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  50381. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  50382. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  50383. from ././common/inc/nv-lock.h:35,
  50384. from ././common/inc/nv-linux.h:32:
  50385. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  50386. 1311 | typedef __bitwise unsigned int vm_fault_t;
  50387. | ^~~~~~~~~~
  50388. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  50389. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  50390. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  50391. from ././common/inc/nv-lock.h:29:
  50392. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  50393. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50394. 52 | #define current get_current()
  50395. | ^~~~~~~~~~~~~
  50396. | |
  50397. | struct task_struct *
  50398. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  50399. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50400. | ^~~~~~~
  50401. In file included from ././common/inc/nv-pgprot.h:30,
  50402. from ././common/inc/nv-linux.h:33:
  50403. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  50404. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50405. | ~~~~~~~~~~~~~~^~~~~
  50406. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50407. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50409. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50410. | ~~~~~~~~~~~~~~^~~~~~~~
  50411. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50412. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50413. | ^~~~~~~~
  50414. | |
  50415. | long unsigned int
  50416. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50417. 2535 | unsigned int gup_flags, struct page **pages);
  50418. | ~~~~~~~~~~~~~~^~~~~
  50419. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50420. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50421. | ^~~~~~~~~~~~~~ ~~~~~
  50422. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50423. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50424. | ^~~~~~~~~~~~~~
  50425. In file included from ././common/inc/nv.h:35,
  50426. from ././common/inc/nv-linux.h:28:
  50427. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  50428. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50429. 8 | #define NULL ((void *)0)
  50430. | ^~~~~~~~~~~
  50431. | |
  50432. | void *
  50433. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  50434. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50435. | ^~~~
  50436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  50437. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50438. | ~~~~~~~~~~~~~~^~~~~
  50439. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50440. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50441. | ^~
  50442. | |
  50443. | struct mm_struct *
  50444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50445. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50446. | ~~~~~~~~~~~~~~^~~~~~~~
  50447. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50448. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50449. | ^~~~~~~~
  50450. | |
  50451. | long unsigned int
  50452. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50453. 2535 | unsigned int gup_flags, struct page **pages);
  50454. | ~~~~~~~~~~~~~~^~~~~
  50455. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50456. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50457. | ^~~~~~~~~~~~~~ ~~~~~
  50458. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50459. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50460. | ^~~~~~~~~~~~~~
  50461. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  50462. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  50463. 237 | return (unsigned long)(vmf->virtual_address);
  50464. | ^~~~~~~~~~~~~~~
  50465. | real_address
  50466. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  50467. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50468. 246 | down_read(&mm->mmap_sem);
  50469. | ^~~~~~~~
  50470. | mmap_base
  50471. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  50472. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50473. 255 | up_read(&mm->mmap_sem);
  50474. | ^~~~~~~~
  50475. | mmap_base
  50476. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  50477. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50478. 264 | down_write(&mm->mmap_sem);
  50479. | ^~~~~~~~
  50480. | mmap_base
  50481. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  50482. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50483. 273 | up_write(&mm->mmap_sem);
  50484. | ^~~~~~~~
  50485. | mmap_base
  50486. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  50487. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50488. 282 | return rwsem_is_locked(&mm->mmap_sem);
  50489. | ^~~~~~~~
  50490. | mmap_base
  50491. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  50492. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50493. 291 | return &mm->mmap_sem;
  50494. | ^~~~~~~~
  50495. | mmap_base
  50496. CC [M] nvidia/libspdm_ec.o
  50497. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  50498. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  50499. 300 | vma->vm_flags |= flags;
  50500. | ^~
  50501. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  50502. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  50503. 309 | vma->vm_flags &= ~flags;
  50504. | ^~
  50505. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  50506. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  50507. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  50508. | ^~~~~~~~~~~~~~~~~~~~~~~
  50509. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  50510. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  50511. 520 | NV_MEMDBG_ADD(ptr, size);
  50512. | ^
  50513. CC [M] nvidia/libspdm_x509.o
  50514. In file included from ././common/inc/nv-linux.h:37:
  50515. ././common/inc/nv-time.h: At top level:
  50516. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  50517. 40 | struct timespec64 {
  50518. | ^~~~~~~~~~
  50519. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  50520. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  50521. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  50522. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  50523. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  50524. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  50525. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  50526. 13 | struct timespec64 {
  50527. | ^~~~~~~~~~
  50528. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  50529. 77 | static inline struct timespec64 timespec64_add
  50530. | ^~~~~~~~~~~~~~
  50531. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  50532. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  50533. | ^~~~~~~~~~~~~~
  50534. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  50535. 95 | static inline struct timespec64 timespec64_sub
  50536. | ^~~~~~~~~~~~~~
  50537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  50538. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  50539. | ^~~~~~~~~~~~~~
  50540. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  50541. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  50542. | ^~~~~~~~~~~~~~~~
  50543. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  50544. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  50545. | ^~~~~~~~~~~~~~~~
  50546. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  50547. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50548. 122 | ktime_get_raw_ts64(&ts);
  50549. | ^~~
  50550. | |
  50551. | struct timespec64 *
  50552. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  50553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50554. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50555. | ~~~~~~~~~~~~~~~~~~~^~
  50556. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  50557. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50558. 185 | ktime_get_raw_ts64(&tm_aux);
  50559. | ^~~~~~~
  50560. | |
  50561. | struct timespec64 *
  50562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50563. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50564. | ~~~~~~~~~~~~~~~~~~~^~
  50565. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50566. 221 | ktime_get_raw_ts64(&tm_aux);
  50567. | ^~~~~~~
  50568. | |
  50569. | struct timespec64 *
  50570. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50571. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50572. | ~~~~~~~~~~~~~~~~~~~^~
  50573. In file included from ././common/inc/nv-linux.h:34:
  50574. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  50575. 29 | typedef int vm_fault_t;
  50576. | ^~~~~~~~~~
  50577. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  50578. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  50579. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  50580. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  50581. from ././common/inc/nv-lock.h:35,
  50582. from ././common/inc/nv-linux.h:32:
  50583. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  50584. 1311 | typedef __bitwise unsigned int vm_fault_t;
  50585. | ^~~~~~~~~~
  50586. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  50587. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  50588. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  50589. from ././common/inc/nv-lock.h:29:
  50590. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  50591. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50592. 52 | #define current get_current()
  50593. | ^~~~~~~~~~~~~
  50594. | |
  50595. | struct task_struct *
  50596. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  50597. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50598. | ^~~~~~~
  50599. In file included from ././common/inc/nv-pgprot.h:30,
  50600. from ././common/inc/nv-linux.h:33:
  50601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  50602. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50603. | ~~~~~~~~~~~~~~^~~~~
  50604. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50605. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50606. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50607. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50608. | ~~~~~~~~~~~~~~^~~~~~~~
  50609. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50610. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50611. | ^~~~~~~~
  50612. | |
  50613. | long unsigned int
  50614. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50615. 2535 | unsigned int gup_flags, struct page **pages);
  50616. | ~~~~~~~~~~~~~~^~~~~
  50617. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50618. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50619. | ^~~~~~~~~~~~~~ ~~~~~
  50620. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50621. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50622. | ^~~~~~~~~~~~~~
  50623. In file included from ././common/inc/nv.h:35:
  50624. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  50625. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50626. 8 | #define NULL ((void *)0)
  50627. | ^~~~~~~~~~~
  50628. | |
  50629. | void *
  50630. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  50631. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50632. | ^~~~
  50633. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  50634. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50635. | ~~~~~~~~~~~~~~^~~~~
  50636. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50637. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50638. | ^~
  50639. | |
  50640. | struct mm_struct *
  50641. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50642. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50643. | ~~~~~~~~~~~~~~^~~~~~~~
  50644. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50645. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50646. | ^~~~~~~~
  50647. | |
  50648. | long unsigned int
  50649. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50650. 2535 | unsigned int gup_flags, struct page **pages);
  50651. | ~~~~~~~~~~~~~~^~~~~
  50652. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50653. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50654. | ^~~~~~~~~~~~~~ ~~~~~
  50655. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50656. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50657. | ^~~~~~~~~~~~~~
  50658. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  50659. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  50660. 237 | return (unsigned long)(vmf->virtual_address);
  50661. | ^~~~~~~~~~~~~~~
  50662. | real_address
  50663. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  50664. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50665. 246 | down_read(&mm->mmap_sem);
  50666. | ^~~~~~~~
  50667. | mmap_base
  50668. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  50669. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50670. 255 | up_read(&mm->mmap_sem);
  50671. | ^~~~~~~~
  50672. | mmap_base
  50673. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  50674. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50675. 264 | down_write(&mm->mmap_sem);
  50676. | ^~~~~~~~
  50677. | mmap_base
  50678. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  50679. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50680. 273 | up_write(&mm->mmap_sem);
  50681. | ^~~~~~~~
  50682. | mmap_base
  50683. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  50684. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50685. 282 | return rwsem_is_locked(&mm->mmap_sem);
  50686. | ^~~~~~~~
  50687. | mmap_base
  50688. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  50689. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50690. 291 | return &mm->mmap_sem;
  50691. | ^~~~~~~~
  50692. | mmap_base
  50693. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  50694. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  50695. 300 | vma->vm_flags |= flags;
  50696. | ^~
  50697. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  50698. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  50699. 309 | vma->vm_flags &= ~flags;
  50700. | ^~
  50701. CC [M] nvidia/nvlink_linux.o
  50702. In file included from ././common/inc/nv-linux.h:37:
  50703. ././common/inc/nv-time.h: At top level:
  50704. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  50705. 40 | struct timespec64 {
  50706. | ^~~~~~~~~~
  50707. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  50708. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  50709. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  50710. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  50711. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  50712. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  50713. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  50714. 13 | struct timespec64 {
  50715. | ^~~~~~~~~~
  50716. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  50717. 77 | static inline struct timespec64 timespec64_add
  50718. | ^~~~~~~~~~~~~~
  50719. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  50720. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  50721. | ^~~~~~~~~~~~~~
  50722. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  50723. 95 | static inline struct timespec64 timespec64_sub
  50724. | ^~~~~~~~~~~~~~
  50725. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  50726. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  50727. | ^~~~~~~~~~~~~~
  50728. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  50729. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  50730. | ^~~~~~~~~~~~~~~~
  50731. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  50732. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  50733. | ^~~~~~~~~~~~~~~~
  50734. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  50735. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50736. 122 | ktime_get_raw_ts64(&ts);
  50737. | ^~~
  50738. | |
  50739. | struct timespec64 *
  50740. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  50741. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50742. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50743. | ~~~~~~~~~~~~~~~~~~~^~
  50744. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  50745. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  50746. 502 | NV_MEMDBG_ADD(ptr, size);
  50747. | ^
  50748. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  50749. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50750. 185 | ktime_get_raw_ts64(&tm_aux);
  50751. | ^~~~~~~
  50752. | |
  50753. | struct timespec64 *
  50754. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50755. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50756. | ~~~~~~~~~~~~~~~~~~~^~
  50757. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  50758. 221 | ktime_get_raw_ts64(&tm_aux);
  50759. | ^~~~~~~
  50760. | |
  50761. | struct timespec64 *
  50762. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  50763. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  50764. | ~~~~~~~~~~~~~~~~~~~^~
  50765. CC [M] nvidia/nvlink_caps.o
  50766. In file included from ././common/inc/nv-linux.h:34:
  50767. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  50768. 29 | typedef int vm_fault_t;
  50769. | ^~~~~~~~~~
  50770. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  50771. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  50772. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  50773. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  50774. from ././common/inc/nv-lock.h:35,
  50775. from ././common/inc/nv-linux.h:32:
  50776. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  50777. 1311 | typedef __bitwise unsigned int vm_fault_t;
  50778. | ^~~~~~~~~~
  50779. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  50780. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  50781. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  50782. from ././common/inc/nv-lock.h:29:
  50783. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  50784. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50785. 52 | #define current get_current()
  50786. | ^~~~~~~~~~~~~
  50787. | |
  50788. | struct task_struct *
  50789. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  50790. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50791. | ^~~~~~~
  50792. In file included from ././common/inc/nv-pgprot.h:30,
  50793. from ././common/inc/nv-linux.h:33:
  50794. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  50795. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50796. | ~~~~~~~~~~~~~~^~~~~
  50797. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50798. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50799. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50800. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50801. | ~~~~~~~~~~~~~~^~~~~~~~
  50802. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50803. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50804. | ^~~~~~~~
  50805. | |
  50806. | long unsigned int
  50807. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50808. 2535 | unsigned int gup_flags, struct page **pages);
  50809. | ~~~~~~~~~~~~~~^~~~~
  50810. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50811. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50812. | ^~~~~~~~~~~~~~ ~~~~~
  50813. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50814. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50815. | ^~~~~~~~~~~~~~
  50816. In file included from ././common/inc/nv.h:35:
  50817. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  50818. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50819. 8 | #define NULL ((void *)0)
  50820. | ^~~~~~~~~~~
  50821. | |
  50822. | void *
  50823. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  50824. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50825. | ^~~~
  50826. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  50827. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50828. | ~~~~~~~~~~~~~~^~~~~
  50829. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50830. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50831. | ^~
  50832. | |
  50833. | struct mm_struct *
  50834. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50835. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50836. | ~~~~~~~~~~~~~~^~~~~~~~
  50837. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50838. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50839. | ^~~~~~~~
  50840. | |
  50841. | long unsigned int
  50842. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50843. 2535 | unsigned int gup_flags, struct page **pages);
  50844. | ~~~~~~~~~~~~~~^~~~~
  50845. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50846. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50847. | ^~~~~~~~~~~~~~ ~~~~~
  50848. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50849. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50850. | ^~~~~~~~~~~~~~
  50851. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  50852. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  50853. 237 | return (unsigned long)(vmf->virtual_address);
  50854. | ^~~~~~~~~~~~~~~
  50855. | real_address
  50856. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  50857. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50858. 246 | down_read(&mm->mmap_sem);
  50859. | ^~~~~~~~
  50860. | mmap_base
  50861. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  50862. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50863. 255 | up_read(&mm->mmap_sem);
  50864. | ^~~~~~~~
  50865. | mmap_base
  50866. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  50867. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50868. 264 | down_write(&mm->mmap_sem);
  50869. | ^~~~~~~~
  50870. | mmap_base
  50871. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  50872. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50873. 273 | up_write(&mm->mmap_sem);
  50874. | ^~~~~~~~
  50875. | mmap_base
  50876. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  50877. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50878. 282 | return rwsem_is_locked(&mm->mmap_sem);
  50879. | ^~~~~~~~
  50880. | mmap_base
  50881. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  50882. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  50883. 291 | return &mm->mmap_sem;
  50884. | ^~~~~~~~
  50885. | mmap_base
  50886. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  50887. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  50888. 300 | vma->vm_flags |= flags;
  50889. | ^~
  50890. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  50891. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  50892. 309 | vma->vm_flags &= ~flags;
  50893. | ^~
  50894. CC [M] nvidia/linux_nvswitch.o
  50895. In file included from ././common/inc/conftest.h:28,
  50896. from nvidia/nvlink_linux.c:24:
  50897. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  50898. 74 | #error dma_buf_export() conftest failed!
  50899. | ^~~~~
  50900. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  50901. 87 | #error wait_on_bit_lock() conftest failed!
  50902. | ^~~~~
  50903. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  50904. 90 | #error radix_tree_replace_slot() conftest failed!
  50905. | ^~~~~
  50906. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  50907. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  50908. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  50909. | ^~~~~~~~~~~~~~~~~~~~~~~
  50910. In file included from ././common/inc/nv-linux.h:34,
  50911. from nvidia/nv_uvm_interface.c:33:
  50912. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  50913. 29 | typedef int vm_fault_t;
  50914. | ^~~~~~~~~~
  50915. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  50916. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  50917. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  50918. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  50919. from ././common/inc/nv-lock.h:35,
  50920. from ././common/inc/nv-linux.h:32:
  50921. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  50922. 1311 | typedef __bitwise unsigned int vm_fault_t;
  50923. | ^~~~~~~~~~
  50924. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  50925. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  50926. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  50927. from ././common/inc/nv-lock.h:29:
  50928. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  50929. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  50930. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  50931. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  50932. | ^~~~~~~~~~~~~~~~~~~~~~~
  50933. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50934. 52 | #define current get_current()
  50935. | ^~~~~~~~~~~~~
  50936. | |
  50937. | struct task_struct *
  50938. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  50939. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50940. | ^~~~~~~
  50941. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  50942. In file included from ././common/inc/nv-pgprot.h:30,
  50943. from ././common/inc/nv-linux.h:33:
  50944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  50945. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50946. | ~~~~~~~~~~~~~~^~~~~
  50947. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  50948. 520 | NV_MEMDBG_ADD(ptr, size);
  50949. | ^
  50950. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50951. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50952. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50953. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50954. | ~~~~~~~~~~~~~~^~~~~~~~
  50955. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  50956. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50957. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50958. | ^~~~~~~~
  50959. | |
  50960. | long unsigned int
  50961. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  50962. 520 | NV_MEMDBG_ADD(ptr, size);
  50963. | ^
  50964. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  50965. 2535 | unsigned int gup_flags, struct page **pages);
  50966. | ~~~~~~~~~~~~~~^~~~~
  50967. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  50968. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  50969. | ^~~~~~~~~~~~~~ ~~~~~
  50970. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  50971. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50972. | ^~~~~~~~~~~~~~
  50973. In file included from ././common/inc/nv.h:35,
  50974. from ././common/inc/nv-linux.h:28:
  50975. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  50976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50977. 8 | #define NULL ((void *)0)
  50978. | ^~~~~~~~~~~
  50979. | |
  50980. | void *
  50981. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  50982. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50983. | ^~~~
  50984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  50985. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50986. | ~~~~~~~~~~~~~~^~~~~
  50987. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  50988. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50989. | ^~
  50990. | |
  50991. | struct mm_struct *
  50992. In file included from ././common/inc/nv-linux.h:37:
  50993. ././common/inc/nv-time.h: At top level:
  50994. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  50995. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  50996. | ~~~~~~~~~~~~~~^~~~~~~~
  50997. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  50998. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  50999. | ^~~~~~~~
  51000. | |
  51001. | long unsigned int
  51002. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  51003. 40 | struct timespec64 {
  51004. | ^~~~~~~~~~
  51005. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  51006. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  51007. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  51008. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  51009. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  51010. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  51011. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  51012. 13 | struct timespec64 {
  51013. | ^~~~~~~~~~
  51014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  51015. 2535 | unsigned int gup_flags, struct page **pages);
  51016. | ~~~~~~~~~~~~~~^~~~~
  51017. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  51018. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  51019. | ^~~~~~~~~~~~~~ ~~~~~
  51020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  51021. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  51022. | ^~~~~~~~~~~~~~
  51023. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  51024. 77 | static inline struct timespec64 timespec64_add
  51025. | ^~~~~~~~~~~~~~
  51026. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  51027. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  51028. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  51029. | ^~~~~~~~~~~~~~
  51030. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  51031. 237 | return (unsigned long)(vmf->virtual_address);
  51032. | ^~~~~~~~~~~~~~~
  51033. | real_address
  51034. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  51035. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  51036. 246 | down_read(&mm->mmap_sem);
  51037. | ^~~~~~~~
  51038. | mmap_base
  51039. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  51040. 95 | static inline struct timespec64 timespec64_sub
  51041. | ^~~~~~~~~~~~~~
  51042. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  51043. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  51044. | ^~~~~~~~~~~~~~
  51045. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  51046. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  51047. 255 | up_read(&mm->mmap_sem);
  51048. | ^~~~~~~~
  51049. | mmap_base
  51050. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  51051. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  51052. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  51053. | ^~~~~~~~~~~~~~~~
  51054. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  51055. 264 | down_write(&mm->mmap_sem);
  51056. | ^~~~~~~~
  51057. | mmap_base
  51058. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  51059. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  51060. | ^~~~~~~~~~~~~~~~
  51061. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  51062. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  51063. 273 | up_write(&mm->mmap_sem);
  51064. | ^~~~~~~~
  51065. | mmap_base
  51066. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  51067. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  51068. 122 | ktime_get_raw_ts64(&ts);
  51069. | ^~~
  51070. | |
  51071. | struct timespec64 *
  51072. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  51073. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  51074. 282 | return rwsem_is_locked(&mm->mmap_sem);
  51075. | ^~~~~~~~
  51076. | mmap_base
  51077. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  51078. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  51079. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  51080. | ~~~~~~~~~~~~~~~~~~~^~
  51081. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  51082. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  51083. 291 | return &mm->mmap_sem;
  51084. | ^~~~~~~~
  51085. | mmap_base
  51086. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  51087. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  51088. 300 | vma->vm_flags |= flags;
  51089. | ^~
  51090. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  51091. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  51092. 309 | vma->vm_flags &= ~flags;
  51093. | ^~
  51094. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  51095. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  51096. 185 | ktime_get_raw_ts64(&tm_aux);
  51097. | ^~~~~~~
  51098. | |
  51099. | struct timespec64 *
  51100. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  51101. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  51102. | ~~~~~~~~~~~~~~~~~~~^~
  51103. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  51104. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51105. 502 | NV_MEMDBG_ADD(ptr, size);
  51106. | ^
  51107. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  51108. 221 | ktime_get_raw_ts64(&tm_aux);
  51109. | ^~~~~~~
  51110. | |
  51111. | struct timespec64 *
  51112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  51113. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  51114. | ~~~~~~~~~~~~~~~~~~~^~
  51115. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51116. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51117. 533 | ptr = ioremap_cache_shared(phys, size);
  51118. | ^~~~~~~~~~~~~~~~~~~~
  51119. | ioremap_cache
  51120. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51121. 533 | ptr = ioremap_cache_shared(phys, size);
  51122. | ^
  51123. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51124. 556 | NV_MEMDBG_ADD(ptr, size);
  51125. | ^
  51126. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  51127. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51128. 502 | NV_MEMDBG_ADD(ptr, size);
  51129. | ^
  51130. In file included from ././common/inc/nv-linux.h:37:
  51131. ././common/inc/nv-time.h: At top level:
  51132. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  51133. 40 | struct timespec64 {
  51134. | ^~~~~~~~~~
  51135. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  51136. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  51137. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  51138. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  51139. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  51140. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  51141. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  51142. 13 | struct timespec64 {
  51143. | ^~~~~~~~~~
  51144. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  51145. 77 | static inline struct timespec64 timespec64_add
  51146. | ^~~~~~~~~~~~~~
  51147. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  51148. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  51149. | ^~~~~~~~~~~~~~
  51150. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  51151. 95 | static inline struct timespec64 timespec64_sub
  51152. | ^~~~~~~~~~~~~~
  51153. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  51154. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  51155. | ^~~~~~~~~~~~~~
  51156. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  51157. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  51158. | ^~~~~~~~~~~~~~~~
  51159. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  51160. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  51161. | ^~~~~~~~~~~~~~~~
  51162. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  51163. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  51164. 122 | ktime_get_raw_ts64(&ts);
  51165. | ^~~
  51166. | |
  51167. | struct timespec64 *
  51168. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  51169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  51170. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  51171. | ~~~~~~~~~~~~~~~~~~~^~
  51172. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  51173. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  51174. 185 | ktime_get_raw_ts64(&tm_aux);
  51175. | ^~~~~~~
  51176. | |
  51177. | struct timespec64 *
  51178. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  51179. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  51180. | ~~~~~~~~~~~~~~~~~~~^~
  51181. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  51182. 221 | ktime_get_raw_ts64(&tm_aux);
  51183. | ^~~~~~~
  51184. | |
  51185. | struct timespec64 *
  51186. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  51187. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  51188. | ~~~~~~~~~~~~~~~~~~~^~
  51189. In file included from ././common/inc/conftest.h:28,
  51190. from ././common/inc/nv_stdarg.h:29,
  51191. from ././common/inc/nv.h:41,
  51192. from ././common/inc/nv-linux.h:28,
  51193. from nvidia/linux_nvswitch.h:28,
  51194. from nvidia/linux_nvswitch.c:24:
  51195. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51196. 74 | #error dma_buf_export() conftest failed!
  51197. | ^~~~~
  51198. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51199. 87 | #error wait_on_bit_lock() conftest failed!
  51200. | ^~~~~
  51201. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51202. 90 | #error radix_tree_replace_slot() conftest failed!
  51203. | ^~~~~
  51204. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51205. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51206. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51207. | ^~~~~~~~~~~~~~~~~~~~~~~
  51208. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51209. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51210. 520 | NV_MEMDBG_ADD(ptr, size);
  51211. | ^
  51212. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51213. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51214. 533 | ptr = ioremap_cache_shared(phys, size);
  51215. | ^~~~~~~~~~~~~~~~~~~~
  51216. | ioremap_cache
  51217. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51218. 533 | ptr = ioremap_cache_shared(phys, size);
  51219. | ^
  51220. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51221. 556 | NV_MEMDBG_ADD(ptr, size);
  51222. | ^
  51223. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  51224. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51225. 502 | NV_MEMDBG_ADD(ptr, size);
  51226. | ^
  51227. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51228. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51229. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51230. | ^~~~~~~~~~~~~~~~~~~~~~~
  51231. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51232. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51233. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51234. 533 | ptr = ioremap_cache_shared(phys, size);
  51235. | ^~~~~~~~~~~~~~~~~~~~
  51236. | ioremap_cache
  51237. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51238. 533 | ptr = ioremap_cache_shared(phys, size);
  51239. | ^
  51240. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51241. 556 | NV_MEMDBG_ADD(ptr, size);
  51242. | ^
  51243. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51244. 520 | NV_MEMDBG_ADD(ptr, size);
  51245. | ^
  51246. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51247. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51248. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51249. | ^~~~~~~~~~~~~~~~~~~~~~~
  51250. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51251. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51252. 520 | NV_MEMDBG_ADD(ptr, size);
  51253. | ^
  51254. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51255. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51256. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51257. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51258. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51259. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51260. | ^
  51261. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51262. 573 | NV_MEMDBG_ADD(ptr, size);
  51263. | ^
  51264. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51265. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51266. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51267. | ^
  51268. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  51269. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51270. 502 | NV_MEMDBG_ADD(ptr, size);
  51271. | ^
  51272. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51273. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51274. 533 | ptr = ioremap_cache_shared(phys, size);
  51275. | ^~~~~~~~~~~~~~~~~~~~
  51276. | ioremap_cache
  51277. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51278. 533 | ptr = ioremap_cache_shared(phys, size);
  51279. | ^
  51280. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51281. 556 | NV_MEMDBG_ADD(ptr, size);
  51282. | ^
  51283. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51284. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51285. 736 | return phys_to_dma(dev, pa);
  51286. | ^~~~~~~~~~~
  51287. | nv_phys_to_dma
  51288. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51289. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51290. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51291. | ^~~~~~~~~~~~~
  51292. | d_is_dir
  51293. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  51294. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51295. 502 | NV_MEMDBG_ADD(ptr, size);
  51296. | ^
  51297. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51298. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51299. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51300. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51301. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51302. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51303. | ^
  51304. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51305. 573 | NV_MEMDBG_ADD(ptr, size);
  51306. | ^
  51307. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51308. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51309. 533 | ptr = ioremap_cache_shared(phys, size);
  51310. | ^~~~~~~~~~~~~~~~~~~~
  51311. | ioremap_cache
  51312. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51313. 533 | ptr = ioremap_cache_shared(phys, size);
  51314. | ^
  51315. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51316. 556 | NV_MEMDBG_ADD(ptr, size);
  51317. | ^
  51318. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51319. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51320. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51321. | ^
  51322. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51323. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51324. 533 | ptr = ioremap_cache_shared(phys, size);
  51325. | ^~~~~~~~~~~~~~~~~~~~
  51326. | ioremap_cache
  51327. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51328. 533 | ptr = ioremap_cache_shared(phys, size);
  51329. | ^
  51330. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51331. 556 | NV_MEMDBG_ADD(ptr, size);
  51332. | ^
  51333. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51334. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51335. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51336. | ^~~~~~~~~~~~~~~~~~~~~~~
  51337. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51338. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51339. 520 | NV_MEMDBG_ADD(ptr, size);
  51340. | ^
  51341. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51342. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51343. 736 | return phys_to_dma(dev, pa);
  51344. | ^~~~~~~~~~~
  51345. | nv_phys_to_dma
  51346. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51347. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51348. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51349. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51350. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51351. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51352. | ^
  51353. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51354. 573 | NV_MEMDBG_ADD(ptr, size);
  51355. | ^
  51356. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51357. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51358. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51359. | ^
  51360. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51361. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51362. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51363. | ^~~~~~~~~~~~~~~~~~~~~~~
  51364. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51365. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51366. 520 | NV_MEMDBG_ADD(ptr, size);
  51367. | ^
  51368. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  51369. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51370. 502 | NV_MEMDBG_ADD(ptr, size);
  51371. | ^
  51372. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51373. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51374. 736 | return phys_to_dma(dev, pa);
  51375. | ^~~~~~~~~~~
  51376. | nv_phys_to_dma
  51377. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51378. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51379. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51380. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51381. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51382. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51383. | ^
  51384. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51385. 573 | NV_MEMDBG_ADD(ptr, size);
  51386. | ^
  51387. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51388. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51389. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51390. | ^
  51391. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51392. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51393. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51394. | ^~~~~~~~~~~~~
  51395. | d_is_dir
  51396. nvidia/os-mlock.c: In function 'nv_follow_pfn':
  51397. nvidia/os-mlock.c:34:12: error: implicit declaration of function 'unsafe_follow_pfn'; did you mean 'nv_follow_pfn'? [-Wimplicit-function-declaration]
  51398. 34 | return unsafe_follow_pfn(vma, address, pfn);
  51399. | ^~~~~~~~~~~~~~~~~
  51400. | nv_follow_pfn
  51401. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51402. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51403. 736 | return phys_to_dma(dev, pa);
  51404. | ^~~~~~~~~~~
  51405. | nv_phys_to_dma
  51406. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51407. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51408. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51409. | ^~~~~~~~~~~~~
  51410. | d_is_dir
  51411. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51412. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51413. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51414. | ^~~~~~~~~~~~~~~~~~~~~~~
  51415. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51416. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51417. 520 | NV_MEMDBG_ADD(ptr, size);
  51418. | ^
  51419. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-mlock.o] Error 1
  51420. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  51421. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51422. 502 | NV_MEMDBG_ADD(ptr, size);
  51423. | ^
  51424. CC [M] nvidia/procfs_nvswitch.o
  51425. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51426. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51427. 533 | ptr = ioremap_cache_shared(phys, size);
  51428. | ^~~~~~~~~~~~~~~~~~~~
  51429. | ioremap_cache
  51430. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51431. 533 | ptr = ioremap_cache_shared(phys, size);
  51432. | ^
  51433. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51434. 556 | NV_MEMDBG_ADD(ptr, size);
  51435. | ^
  51436. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51437. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51438. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51439. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51440. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51441. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51442. | ^
  51443. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51444. 573 | NV_MEMDBG_ADD(ptr, size);
  51445. | ^
  51446. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51447. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51448. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51449. | ^
  51450. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51451. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51452. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51453. | ^~~~~~~~~~~~~
  51454. | d_is_dir
  51455. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51456. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51457. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51458. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51459. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51460. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51461. | ^
  51462. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51463. 573 | NV_MEMDBG_ADD(ptr, size);
  51464. | ^
  51465. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51466. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51467. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51468. | ^
  51469. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-pci.o] Error 1
  51470. CC [M] nvidia/i2c_nvswitch.o
  51471. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51472. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51473. 533 | ptr = ioremap_cache_shared(phys, size);
  51474. | ^~~~~~~~~~~~~~~~~~~~
  51475. | ioremap_cache
  51476. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51477. 533 | ptr = ioremap_cache_shared(phys, size);
  51478. | ^
  51479. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51480. 556 | NV_MEMDBG_ADD(ptr, size);
  51481. | ^
  51482. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51483. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51484. 736 | return phys_to_dma(dev, pa);
  51485. | ^~~~~~~~~~~
  51486. | nv_phys_to_dma
  51487. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51488. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51489. 736 | return phys_to_dma(dev, pa);
  51490. | ^~~~~~~~~~~
  51491. | nv_phys_to_dma
  51492. In file included from ././common/inc/conftest.h:28,
  51493. from ././common/inc/nv_stdarg.h:29,
  51494. from ././common/inc/nv.h:41,
  51495. from ././common/inc/nv-linux.h:28,
  51496. from nvidia/linux_nvswitch.h:28,
  51497. from nvidia/procfs_nvswitch.c:24:
  51498. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51499. 74 | #error dma_buf_export() conftest failed!
  51500. | ^~~~~
  51501. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51502. 87 | #error wait_on_bit_lock() conftest failed!
  51503. | ^~~~~
  51504. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51505. 90 | #error radix_tree_replace_slot() conftest failed!
  51506. | ^~~~~
  51507. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51508. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51509. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51510. | ^~~~~~~~~~~~~~~~~~~~~~~
  51511. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51512. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51513. 520 | NV_MEMDBG_ADD(ptr, size);
  51514. | ^
  51515. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  51516. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51517. 502 | NV_MEMDBG_ADD(ptr, size);
  51518. | ^
  51519. In file included from ././common/inc/conftest.h:28,
  51520. from ././common/inc/nv_stdarg.h:29,
  51521. from ././common/inc/nv.h:41,
  51522. from ././common/inc/nv-linux.h:28,
  51523. from nvidia/linux_nvswitch.h:28,
  51524. from nvidia/i2c_nvswitch.c:24:
  51525. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51526. 74 | #error dma_buf_export() conftest failed!
  51527. | ^~~~~
  51528. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51529. 87 | #error wait_on_bit_lock() conftest failed!
  51530. | ^~~~~
  51531. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51532. 90 | #error radix_tree_replace_slot() conftest failed!
  51533. | ^~~~~
  51534. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  51535. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51536. 502 | NV_MEMDBG_ADD(ptr, size);
  51537. | ^
  51538. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-registry.o] Error 1
  51539. CC [M] nvidia-uvm/uvm_ats_sva.o
  51540. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-modeset-interface.o] Error 1
  51541. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51542. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51543. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51544. | ^~~~~~~~~~~~~
  51545. | d_is_dir
  51546. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51547. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51548. 533 | ptr = ioremap_cache_shared(phys, size);
  51549. | ^~~~~~~~~~~~~~~~~~~~
  51550. | ioremap_cache
  51551. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51552. 533 | ptr = ioremap_cache_shared(phys, size);
  51553. | ^
  51554. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51555. 556 | NV_MEMDBG_ADD(ptr, size);
  51556. | ^
  51557. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51558. CC [M] nvidia-uvm/uvm_conf_computing.o
  51559. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51560. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51561. | ^~~~~~~~~~~~~
  51562. | d_is_dir
  51563. In file included from ././common/inc/conftest.h:28,
  51564. from ././common/inc/nv-time.h:27,
  51565. from nvidia-uvm/uvm_linux.h:37,
  51566. from nvidia-uvm/uvm_gpu.h:31,
  51567. from nvidia-uvm/uvm_ats_sva.h:27,
  51568. from nvidia-uvm/uvm_ats_sva.c:24:
  51569. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51570. 74 | #error dma_buf_export() conftest failed!
  51571. | ^~~~~
  51572. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51573. 87 | #error wait_on_bit_lock() conftest failed!
  51574. | ^~~~~
  51575. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51576. 90 | #error radix_tree_replace_slot() conftest failed!
  51577. | ^~~~~
  51578. In file included from ././common/inc/conftest.h:28,
  51579. from ././common/inc/nv-time.h:27,
  51580. from nvidia-uvm/uvm_linux.h:37,
  51581. from nvidia-uvm/uvm_common.h:43,
  51582. from nvidia-uvm/uvm_conf_computing.c:24:
  51583. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51584. 74 | #error dma_buf_export() conftest failed!
  51585. | ^~~~~
  51586. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51587. 87 | #error wait_on_bit_lock() conftest failed!
  51588. | ^~~~~
  51589. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51590. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51591. 90 | #error radix_tree_replace_slot() conftest failed!
  51592. | ^~~~~
  51593. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51594. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51595. | ^~~~~~~~~~~~~~~~~~~~~~~
  51596. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51597. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51598. 520 | NV_MEMDBG_ADD(ptr, size);
  51599. | ^
  51600. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51601. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-report-err.o] Error 1
  51602. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51603. 533 | ptr = ioremap_cache_shared(phys, size);
  51604. | ^~~~~~~~~~~~~~~~~~~~
  51605. | ioremap_cache
  51606. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51607. 533 | ptr = ioremap_cache_shared(phys, size);
  51608. | ^
  51609. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51610. 556 | NV_MEMDBG_ADD(ptr, size);
  51611. | ^
  51612. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51613. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51614. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51615. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51616. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51617. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51618. | ^
  51619. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51620. 573 | NV_MEMDBG_ADD(ptr, size);
  51621. | ^
  51622. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51623. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51624. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51625. | ^
  51626. CC [M] nvidia-uvm/uvm_sec2_test.o
  51627. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-memdbg.o] Error 1
  51628. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51629. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51630. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51631. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51632. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51633. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51634. | ^
  51635. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51636. 573 | NV_MEMDBG_ADD(ptr, size);
  51637. | ^
  51638. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51639. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51640. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51641. | ^
  51642. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51643. CC [M] nvidia-uvm/uvm_maxwell_sec2.o
  51644. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51645. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51646. | ^~~~~~~~~~~~~~~~~~~~~~~
  51647. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51648. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51649. 520 | NV_MEMDBG_ADD(ptr, size);
  51650. | ^
  51651. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51652. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51653. 736 | return phys_to_dma(dev, pa);
  51654. | ^~~~~~~~~~~
  51655. | nv_phys_to_dma
  51656. In file included from ././common/inc/conftest.h:28,
  51657. from ././common/inc/nv-time.h:27,
  51658. from ././nvidia-uvm/uvm_linux.h:37,
  51659. from ././nvidia-uvm/uvm_common.h:43,
  51660. from nvidia-uvm/uvm_sec2_test.c:24:
  51661. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51662. 74 | #error dma_buf_export() conftest failed!
  51663. | ^~~~~
  51664. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  51665. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  51666. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  51667. | ^~~~~~~~~~~~~~~~~~~~~~~
  51668. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51669. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51670. 520 | NV_MEMDBG_ADD(ptr, size);
  51671. | ^
  51672. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51673. 87 | #error wait_on_bit_lock() conftest failed!
  51674. | ^~~~~
  51675. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51676. 90 | #error radix_tree_replace_slot() conftest failed!
  51677. | ^~~~~
  51678. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51679. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51680. 736 | return phys_to_dma(dev, pa);
  51681. | ^~~~~~~~~~~
  51682. | nv_phys_to_dma
  51683. In file included from ././common/inc/conftest.h:28,
  51684. from ././common/inc/nv-time.h:27,
  51685. from nvidia-uvm/uvm_linux.h:37,
  51686. from nvidia-uvm/uvm_gpu.h:31,
  51687. from nvidia-uvm/uvm_maxwell_sec2.c:24:
  51688. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51689. 74 | #error dma_buf_export() conftest failed!
  51690. | ^~~~~
  51691. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51692. 87 | #error wait_on_bit_lock() conftest failed!
  51693. | ^~~~~
  51694. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51695. 90 | #error radix_tree_replace_slot() conftest failed!
  51696. | ^~~~~
  51697. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51698. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51699. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51700. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51701. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51702. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51703. | ^
  51704. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51705. 573 | NV_MEMDBG_ADD(ptr, size);
  51706. | ^
  51707. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51708. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51709. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51710. | ^
  51711. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51712. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51713. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51714. | ^~~~~~~~~~~~~
  51715. | d_is_dir
  51716. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51717. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51718. 533 | ptr = ioremap_cache_shared(phys, size);
  51719. | ^~~~~~~~~~~~~~~~~~~~
  51720. | ioremap_cache
  51721. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51722. 533 | ptr = ioremap_cache_shared(phys, size);
  51723. | ^
  51724. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51725. 556 | NV_MEMDBG_ADD(ptr, size);
  51726. | ^
  51727. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51728. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51729. 736 | return phys_to_dma(dev, pa);
  51730. | ^~~~~~~~~~~
  51731. | nv_phys_to_dma
  51732. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51733. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51734. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51735. | ^~~~~~~~~~~~~
  51736. | d_is_dir
  51737. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51738. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51739. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51740. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51741. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51742. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51743. | ^
  51744. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51745. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51746. 533 | ptr = ioremap_cache_shared(phys, size);
  51747. | ^~~~~~~~~~~~~~~~~~~~
  51748. | ioremap_cache
  51749. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51750. 573 | NV_MEMDBG_ADD(ptr, size);
  51751. | ^
  51752. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51753. 533 | ptr = ioremap_cache_shared(phys, size);
  51754. | ^
  51755. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51756. 556 | NV_MEMDBG_ADD(ptr, size);
  51757. | ^
  51758. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51759. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51760. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51761. | ^
  51762. nvidia/nv-ibmnpu.c: At top level:
  51763. nvidia/nv-ibmnpu.c:395:6: warning: no previous prototype for 'nv_init_ibmnpu_info' [-Wmissing-prototypes]
  51764. 395 | void nv_init_ibmnpu_info(nv_state_t *nv)
  51765. | ^~~~~~~~~~~~~~~~~~~
  51766. nvidia/nv-ibmnpu.c:399:6: warning: no previous prototype for 'nv_destroy_ibmnpu_info' [-Wmissing-prototypes]
  51767. 399 | void nv_destroy_ibmnpu_info(nv_state_t *nv)
  51768. | ^~~~~~~~~~~~~~~~~~~~~~
  51769. nvidia/nv-ibmnpu.c:403:5: warning: no previous prototype for 'nv_init_ibmnpu_devices' [-Wmissing-prototypes]
  51770. 403 | int nv_init_ibmnpu_devices(nv_state_t *nv)
  51771. | ^~~~~~~~~~~~~~~~~~~~~~
  51772. nvidia/nv-ibmnpu.c:408:6: warning: no previous prototype for 'nv_unregister_ibmnpu_devices' [-Wmissing-prototypes]
  51773. 408 | void nv_unregister_ibmnpu_devices(nv_state_t *nv)
  51774. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  51775. nvidia/nv-ibmnpu.c:428:5: warning: no previous prototype for 'nv_get_ibmnpu_chip_id' [-Wmissing-prototypes]
  51776. 428 | int nv_get_ibmnpu_chip_id(nv_state_t *nv)
  51777. | ^~~~~~~~~~~~~~~~~~~~~
  51778. nvidia/nv-ibmnpu.c:437:6: warning: no previous prototype for 'nv_ibmnpu_cache_flush_numa_region' [-Wmissing-prototypes]
  51779. 437 | void nv_ibmnpu_cache_flush_numa_region(nv_state_t *nv)
  51780. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  51781. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51782. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51783. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51784. | ^~~~~~~~~~~~~
  51785. | d_is_dir
  51786. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-usermap.o] Error 1
  51787. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  51788. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  51789. 533 | ptr = ioremap_cache_shared(phys, size);
  51790. | ^~~~~~~~~~~~~~~~~~~~
  51791. | ioremap_cache
  51792. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51793. 533 | ptr = ioremap_cache_shared(phys, size);
  51794. | ^
  51795. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51796. 556 | NV_MEMDBG_ADD(ptr, size);
  51797. | ^
  51798. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51799. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51800. 736 | return phys_to_dma(dev, pa);
  51801. | ^~~~~~~~~~~
  51802. | nv_phys_to_dma
  51803. CC [M] nvidia-uvm/uvm_hopper_sec2.o
  51804. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-ibmnpu.o] Error 1
  51805. CC [M] nvidia-uvm/uvm_common.o
  51806. In file included from ././common/inc/conftest.h:28,
  51807. from ././common/inc/nv-time.h:27,
  51808. from nvidia-uvm/uvm_linux.h:37,
  51809. from nvidia-uvm/uvm_common.h:43,
  51810. from nvidia-uvm/uvm_hal.h:28,
  51811. from nvidia-uvm/uvm_hopper_sec2.c:24:
  51812. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51813. 74 | #error dma_buf_export() conftest failed!
  51814. | ^~~~~
  51815. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51816. 87 | #error wait_on_bit_lock() conftest failed!
  51817. | ^~~~~
  51818. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51819. 90 | #error radix_tree_replace_slot() conftest failed!
  51820. | ^~~~~
  51821. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51822. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51823. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51824. | ^~~~~~~~~~~~~
  51825. | d_is_dir
  51826. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-rsync.o] Error 1
  51827. In file included from ././common/inc/conftest.h:28,
  51828. from ././common/inc/nv-time.h:27,
  51829. from nvidia-uvm/uvm_linux.h:37,
  51830. from nvidia-uvm/uvm_common.h:43,
  51831. from nvidia-uvm/uvm_common.c:20:
  51832. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51833. 74 | #error dma_buf_export() conftest failed!
  51834. | ^~~~~
  51835. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51836. 87 | #error wait_on_bit_lock() conftest failed!
  51837. | ^~~~~
  51838. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51839. 90 | #error radix_tree_replace_slot() conftest failed!
  51840. | ^~~~~
  51841. CC [M] nvidia-uvm/uvm_linux.o
  51842. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51843. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51844. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51845. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51846. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51847. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51848. | ^
  51849. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51850. 573 | NV_MEMDBG_ADD(ptr, size);
  51851. | ^
  51852. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51853. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51854. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51855. | ^
  51856. In file included from ././common/inc/conftest.h:28,
  51857. from ././common/inc/nv-time.h:27,
  51858. from nvidia-uvm/uvm_linux.h:37,
  51859. from nvidia-uvm/uvm_linux.c:24:
  51860. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  51861. 74 | #error dma_buf_export() conftest failed!
  51862. | ^~~~~
  51863. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51864. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51865. 736 | return phys_to_dma(dev, pa);
  51866. | ^~~~~~~~~~~
  51867. | nv_phys_to_dma
  51868. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  51869. 87 | #error wait_on_bit_lock() conftest failed!
  51870. | ^~~~~
  51871. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  51872. 90 | #error radix_tree_replace_slot() conftest failed!
  51873. | ^~~~~
  51874. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51875. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51876. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51877. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51878. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51879. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51880. | ^
  51881. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51882. 573 | NV_MEMDBG_ADD(ptr, size);
  51883. | ^
  51884. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51885. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51886. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51887. | ^
  51888. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51889. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51890. 736 | return phys_to_dma(dev, pa);
  51891. | ^~~~~~~~~~~
  51892. | nv_phys_to_dma
  51893. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-frontend.o] Error 1
  51894. CC [M] nvidia-uvm/nvstatus.o
  51895. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  51896. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  51897. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51898. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  51899. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  51900. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  51901. | ^
  51902. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51903. 573 | NV_MEMDBG_ADD(ptr, size);
  51904. | ^
  51905. ././common/inc/nv-linux.h: In function 'nv_vmap':
  51906. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51907. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  51908. | ^
  51909. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51910. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51911. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51912. | ^~~~~~~~~~~~~
  51913. | d_is_dir
  51914. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  51915. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  51916. 736 | return phys_to_dma(dev, pa);
  51917. | ^~~~~~~~~~~
  51918. | nv_phys_to_dma
  51919. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  51920. 40 | struct timespec64 {
  51921. | ^~~~~~~~~~
  51922. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  51923. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  51924. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  51925. from ././common/inc/nv-time.h:29:
  51926. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  51927. 13 | struct timespec64 {
  51928. | ^~~~~~~~~~
  51929. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  51930. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  51931. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  51932. | ^~~~~~~~~~~~~
  51933. | d_is_dir
  51934. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  51935. 77 | static inline struct timespec64 timespec64_add
  51936. | ^~~~~~~~~~~~~~
  51937. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  51938. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  51939. | ^~~~~~~~~~~~~~
  51940. nvidia/nv-msi.c: In function 'nv_init_msi':
  51941. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51942. 602 | NV_MEMDBG_ADD(ptr, size); \
  51943. | ^
  51944. nvidia/nv-msi.c:39:9: note: in expansion of macro 'NV_KZALLOC'
  51945. 39 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * nvl->num_intr);
  51946. | ^~~~~~~~~~
  51947. nvidia/nv-msi.c: In function 'nv_init_msix':
  51948. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  51949. 40 | struct timespec64 {
  51950. | ^~~~~~~~~~
  51951. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  51952. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  51953. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  51954. from ././common/inc/nv-time.h:29:
  51955. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  51956. 13 | struct timespec64 {
  51957. | ^~~~~~~~~~
  51958. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51959. 595 | NV_MEMDBG_ADD(ptr, size); \
  51960. | ^
  51961. nvidia/nv-msi.c:90:5: note: in expansion of macro 'NV_KMALLOC'
  51962. 90 | NV_KMALLOC(nvl->msix_entries, sizeof(struct msix_entry) * num_intr);
  51963. | ^~~~~~~~~~
  51964. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  51965. 77 | static inline struct timespec64 timespec64_add
  51966. | ^~~~~~~~~~~~~~
  51967. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  51968. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  51969. | ^~~~~~~~~~~~~~
  51970. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  51971. 95 | static inline struct timespec64 timespec64_sub
  51972. | ^~~~~~~~~~~~~~
  51973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  51974. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  51975. | ^~~~~~~~~~~~~~
  51976. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  51977. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  51978. | ^~~~~~~~~~~~~~~~
  51979. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  51980. 602 | NV_MEMDBG_ADD(ptr, size); \
  51981. | ^
  51982. nvidia/nv-msi.c:102:5: note: in expansion of macro 'NV_KZALLOC'
  51983. 102 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * num_intr);
  51984. | ^~~~~~~~~~
  51985. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  51986. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  51987. | ^~~~~~~~~~~~~~~~
  51988. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  51989. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  51990. 122 | ktime_get_raw_ts64(&ts);
  51991. | ^~~
  51992. | |
  51993. | struct timespec64 *
  51994. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  51995. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  51996. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  51997. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  51998. from ././common/inc/nv-time.h:30:
  51999. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52000. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52001. | ~~~~~~~~~~~~~~~~~~~^~
  52002. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52003. 95 | static inline struct timespec64 timespec64_sub
  52004. | ^~~~~~~~~~~~~~
  52005. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52006. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  52007. | ^~~~~~~~~~~~~~
  52008. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  52009. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  52010. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  52011. | ^~~~~~~~~~~~~~~~
  52012. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52013. 185 | ktime_get_raw_ts64(&tm_aux);
  52014. | ^~~~~~~
  52015. | |
  52016. | struct timespec64 *
  52017. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  52018. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  52019. | ^~~~~~~~~~~~~~~~
  52020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52021. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52022. | ~~~~~~~~~~~~~~~~~~~^~
  52023. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  52024. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52025. 122 | ktime_get_raw_ts64(&ts);
  52026. | ^~~
  52027. | |
  52028. | struct timespec64 *
  52029. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  52030. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  52031. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  52032. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  52033. from ././common/inc/nv-time.h:30:
  52034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52035. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52036. | ~~~~~~~~~~~~~~~~~~~^~
  52037. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  52038. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52039. 185 | ktime_get_raw_ts64(&tm_aux);
  52040. | ^~~~~~~
  52041. | |
  52042. | struct timespec64 *
  52043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52044. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52045. | ~~~~~~~~~~~~~~~~~~~^~
  52046. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52047. 221 | ktime_get_raw_ts64(&tm_aux);
  52048. | ^~~~~~~
  52049. | |
  52050. | struct timespec64 *
  52051. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52052. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52053. | ~~~~~~~~~~~~~~~~~~~^~
  52054. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52055. 221 | ktime_get_raw_ts64(&tm_aux);
  52056. | ^~~~~~~
  52057. | |
  52058. | struct timespec64 *
  52059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52060. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52061. | ~~~~~~~~~~~~~~~~~~~^~
  52062. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-msi.o] Error 1
  52063. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  52064. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  52065. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  52066. | ^~~~~~~~~~~~~
  52067. | d_is_dir
  52068. CC [M] nvidia-uvm/nv-kthread-q.o
  52069. CC [M] nvidia-uvm/nvCpuUuid.o
  52070. CC [M] nvidia-uvm/nv-kthread-q-selftest.o
  52071. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  52072. 40 | struct timespec64 {
  52073. | ^~~~~~~~~~
  52074. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  52075. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  52076. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  52077. from ././common/inc/nv-time.h:29:
  52078. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  52079. 13 | struct timespec64 {
  52080. | ^~~~~~~~~~
  52081. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52082. 77 | static inline struct timespec64 timespec64_add
  52083. | ^~~~~~~~~~~~~~
  52084. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52085. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  52086. | ^~~~~~~~~~~~~~
  52087. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52088. 95 | static inline struct timespec64 timespec64_sub
  52089. | ^~~~~~~~~~~~~~
  52090. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52091. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  52092. | ^~~~~~~~~~~~~~
  52093. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  52094. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  52095. | ^~~~~~~~~~~~~~~~
  52096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  52097. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  52098. | ^~~~~~~~~~~~~~~~
  52099. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  52100. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52101. 122 | ktime_get_raw_ts64(&ts);
  52102. | ^~~
  52103. | |
  52104. | struct timespec64 *
  52105. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  52106. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  52107. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  52108. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  52109. from ././common/inc/nv-time.h:30:
  52110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52111. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52112. | ~~~~~~~~~~~~~~~~~~~^~
  52113. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  52114. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52115. 185 | ktime_get_raw_ts64(&tm_aux);
  52116. | ^~~~~~~
  52117. | |
  52118. | struct timespec64 *
  52119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52120. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52121. | ~~~~~~~~~~~~~~~~~~~^~
  52122. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52123. 221 | ktime_get_raw_ts64(&tm_aux);
  52124. | ^~~~~~~
  52125. | |
  52126. | struct timespec64 *
  52127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52128. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52129. | ~~~~~~~~~~~~~~~~~~~^~
  52130. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  52131. 40 | struct timespec64 {
  52132. | ^~~~~~~~~~
  52133. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  52134. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  52135. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  52136. from ././common/inc/nv-time.h:29:
  52137. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  52138. 13 | struct timespec64 {
  52139. | ^~~~~~~~~~
  52140. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52141. 77 | static inline struct timespec64 timespec64_add
  52142. | ^~~~~~~~~~~~~~
  52143. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52144. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  52145. | ^~~~~~~~~~~~~~
  52146. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52147. 95 | static inline struct timespec64 timespec64_sub
  52148. | ^~~~~~~~~~~~~~
  52149. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52150. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  52151. | ^~~~~~~~~~~~~~
  52152. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  52153. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  52154. | ^~~~~~~~~~~~~~~~
  52155. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  52156. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  52157. | ^~~~~~~~~~~~~~~~
  52158. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  52159. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52160. 122 | ktime_get_raw_ts64(&ts);
  52161. | ^~~
  52162. | |
  52163. | struct timespec64 *
  52164. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  52165. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  52166. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  52167. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  52168. from ././common/inc/nv-time.h:30:
  52169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52170. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52171. | ~~~~~~~~~~~~~~~~~~~^~
  52172. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  52173. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52174. 185 | ktime_get_raw_ts64(&tm_aux);
  52175. | ^~~~~~~
  52176. | |
  52177. | struct timespec64 *
  52178. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52179. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52180. | ~~~~~~~~~~~~~~~~~~~^~
  52181. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52182. 221 | ktime_get_raw_ts64(&tm_aux);
  52183. | ^~~~~~~
  52184. | |
  52185. | struct timespec64 *
  52186. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52187. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52188. | ~~~~~~~~~~~~~~~~~~~^~
  52189. CC [M] nvidia-uvm/uvm.o
  52190. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv_uvm_interface.o] Error 1
  52191. In file included from ././common/inc/nv-linux.h:34,
  52192. from nvidia/nvlink_linux.c:30:
  52193. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  52194. 29 | typedef int vm_fault_t;
  52195. | ^~~~~~~~~~
  52196. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  52197. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  52198. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16,
  52199. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list_lru.h:14,
  52200. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:13,
  52201. from nvidia/nvlink_linux.h:30,
  52202. from nvidia/nvlink_linux.c:27:
  52203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  52204. 1311 | typedef __bitwise unsigned int vm_fault_t;
  52205. | ^~~~~~~~~~
  52206. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  52207. from nvidia/nvlink_linux.h:28:
  52208. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  52209. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52210. 52 | #define current get_current()
  52211. | ^~~~~~~~~~~~~
  52212. | |
  52213. | struct task_struct *
  52214. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  52215. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52216. | ^~~~~~~
  52217. In file included from ././common/inc/nv-pgprot.h:30,
  52218. from ././common/inc/nv-linux.h:33:
  52219. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  52220. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52221. | ~~~~~~~~~~~~~~^~~~~
  52222. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52223. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52224. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  52225. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52226. | ~~~~~~~~~~~~~~^~~~~~~~
  52227. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  52228. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52229. | ^~~~~~~~
  52230. | |
  52231. | long unsigned int
  52232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  52233. 2535 | unsigned int gup_flags, struct page **pages);
  52234. | ~~~~~~~~~~~~~~^~~~~
  52235. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  52236. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52237. | ^~~~~~~~~~~~~~ ~~~~~
  52238. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  52239. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52240. | ^~~~~~~~~~~~~~
  52241. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  52242. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  52243. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  52244. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  52245. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  52246. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  52247. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  52248. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  52249. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/init.h:5,
  52250. from nvidia/nvlink_linux.h:27:
  52251. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  52252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52253. 8 | #define NULL ((void *)0)
  52254. | ^~~~~~~~~~~
  52255. | |
  52256. | void *
  52257. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  52258. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  52259. | ^~~~
  52260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  52261. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52262. | ~~~~~~~~~~~~~~^~~~~
  52263. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52264. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  52265. | ^~
  52266. | |
  52267. | struct mm_struct *
  52268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  52269. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52270. | ~~~~~~~~~~~~~~^~~~~~~~
  52271. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  52272. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  52273. | ^~~~~~~~
  52274. | |
  52275. | long unsigned int
  52276. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  52277. 2535 | unsigned int gup_flags, struct page **pages);
  52278. | ~~~~~~~~~~~~~~^~~~~
  52279. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  52280. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  52281. | ^~~~~~~~~~~~~~ ~~~~~
  52282. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  52283. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52284. | ^~~~~~~~~~~~~~
  52285. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  52286. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  52287. 237 | return (unsigned long)(vmf->virtual_address);
  52288. | ^~~~~~~~~~~~~~~
  52289. | real_address
  52290. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  52291. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52292. 246 | down_read(&mm->mmap_sem);
  52293. | ^~~~~~~~
  52294. | mmap_base
  52295. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  52296. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52297. 255 | up_read(&mm->mmap_sem);
  52298. | ^~~~~~~~
  52299. | mmap_base
  52300. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  52301. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52302. 264 | down_write(&mm->mmap_sem);
  52303. | ^~~~~~~~
  52304. | mmap_base
  52305. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  52306. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52307. 273 | up_write(&mm->mmap_sem);
  52308. | ^~~~~~~~
  52309. | mmap_base
  52310. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  52311. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52312. 282 | return rwsem_is_locked(&mm->mmap_sem);
  52313. | ^~~~~~~~
  52314. | mmap_base
  52315. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  52316. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52317. 291 | return &mm->mmap_sem;
  52318. | ^~~~~~~~
  52319. | mmap_base
  52320. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  52321. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  52322. 300 | vma->vm_flags |= flags;
  52323. | ^~
  52324. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  52325. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  52326. 309 | vma->vm_flags &= ~flags;
  52327. | ^~
  52328. CC [M] nvidia-uvm/uvm_tools.o
  52329. In file included from ././common/inc/conftest.h:28,
  52330. from ././common/inc/nv-time.h:27,
  52331. from nvidia-uvm/uvm_linux.h:37,
  52332. from nvidia-uvm/uvm_common.h:43,
  52333. from nvidia-uvm/uvm_api.h:28,
  52334. from nvidia-uvm/uvm.c:24:
  52335. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  52336. 74 | #error dma_buf_export() conftest failed!
  52337. | ^~~~~
  52338. In file included from ././common/inc/nv-linux.h:37:
  52339. ././common/inc/nv-time.h: At top level:
  52340. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  52341. 40 | struct timespec64 {
  52342. | ^~~~~~~~~~
  52343. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  52344. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  52345. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:10:
  52346. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  52347. 13 | struct timespec64 {
  52348. | ^~~~~~~~~~
  52349. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52350. 77 | static inline struct timespec64 timespec64_add
  52351. | ^~~~~~~~~~~~~~
  52352. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52353. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  52354. | ^~~~~~~~~~~~~~
  52355. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52356. 95 | static inline struct timespec64 timespec64_sub
  52357. | ^~~~~~~~~~~~~~
  52358. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52359. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  52360. | ^~~~~~~~~~~~~~
  52361. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  52362. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  52363. | ^~~~~~~~~~~~~~~~
  52364. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  52365. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  52366. | ^~~~~~~~~~~~~~~~
  52367. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  52368. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52369. 122 | ktime_get_raw_ts64(&ts);
  52370. | ^~~
  52371. | |
  52372. | struct timespec64 *
  52373. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  52374. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  52375. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  52376. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  52377. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52378. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52379. | ~~~~~~~~~~~~~~~~~~~^~
  52380. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  52381. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52382. 185 | ktime_get_raw_ts64(&tm_aux);
  52383. | ^~~~~~~
  52384. | |
  52385. | struct timespec64 *
  52386. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52387. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52388. | ~~~~~~~~~~~~~~~~~~~^~
  52389. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52390. 221 | ktime_get_raw_ts64(&tm_aux);
  52391. | ^~~~~~~
  52392. | |
  52393. | struct timespec64 *
  52394. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52395. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52396. | ~~~~~~~~~~~~~~~~~~~^~
  52397. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  52398. 87 | #error wait_on_bit_lock() conftest failed!
  52399. | ^~~~~
  52400. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  52401. 90 | #error radix_tree_replace_slot() conftest failed!
  52402. | ^~~~~
  52403. In file included from ././common/inc/nv-linux.h:34:
  52404. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  52405. 29 | typedef int vm_fault_t;
  52406. | ^~~~~~~~~~
  52407. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  52408. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  52409. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  52410. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  52411. from ././common/inc/nv-lock.h:35,
  52412. from ././common/inc/nv-linux.h:32:
  52413. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  52414. 1311 | typedef __bitwise unsigned int vm_fault_t;
  52415. | ^~~~~~~~~~
  52416. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  52417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  52418. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  52419. from ././common/inc/nv-lock.h:29:
  52420. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  52421. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52422. 52 | #define current get_current()
  52423. | ^~~~~~~~~~~~~
  52424. | |
  52425. | struct task_struct *
  52426. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  52427. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52428. | ^~~~~~~
  52429. In file included from ././common/inc/nv-pgprot.h:30,
  52430. from ././common/inc/nv-linux.h:33:
  52431. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  52432. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52433. | ~~~~~~~~~~~~~~^~~~~
  52434. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52435. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  52437. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52438. | ~~~~~~~~~~~~~~^~~~~~~~
  52439. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  52440. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52441. | ^~~~~~~~
  52442. | |
  52443. | long unsigned int
  52444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  52445. 2535 | unsigned int gup_flags, struct page **pages);
  52446. | ~~~~~~~~~~~~~~^~~~~
  52447. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  52448. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52449. | ^~~~~~~~~~~~~~ ~~~~~
  52450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  52451. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52452. | ^~~~~~~~~~~~~~
  52453. In file included from ././common/inc/nv.h:35:
  52454. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  52455. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52456. 8 | #define NULL ((void *)0)
  52457. | ^~~~~~~~~~~
  52458. | |
  52459. | void *
  52460. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  52461. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  52462. | ^~~~
  52463. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  52464. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52465. | ~~~~~~~~~~~~~~^~~~~
  52466. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52467. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  52468. | ^~
  52469. | |
  52470. | struct mm_struct *
  52471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  52472. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52473. | ~~~~~~~~~~~~~~^~~~~~~~
  52474. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  52475. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  52476. | ^~~~~~~~
  52477. | |
  52478. | long unsigned int
  52479. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  52480. 2535 | unsigned int gup_flags, struct page **pages);
  52481. | ~~~~~~~~~~~~~~^~~~~
  52482. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  52483. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  52484. | ^~~~~~~~~~~~~~ ~~~~~
  52485. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  52486. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52487. | ^~~~~~~~~~~~~~
  52488. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  52489. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  52490. 237 | return (unsigned long)(vmf->virtual_address);
  52491. | ^~~~~~~~~~~~~~~
  52492. | real_address
  52493. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  52494. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52495. 246 | down_read(&mm->mmap_sem);
  52496. | ^~~~~~~~
  52497. | mmap_base
  52498. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  52499. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52500. 255 | up_read(&mm->mmap_sem);
  52501. | ^~~~~~~~
  52502. | mmap_base
  52503. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  52504. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52505. 264 | down_write(&mm->mmap_sem);
  52506. | ^~~~~~~~
  52507. | mmap_base
  52508. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  52509. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52510. 273 | up_write(&mm->mmap_sem);
  52511. | ^~~~~~~~
  52512. | mmap_base
  52513. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  52514. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52515. 282 | return rwsem_is_locked(&mm->mmap_sem);
  52516. | ^~~~~~~~
  52517. | mmap_base
  52518. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  52519. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  52520. 291 | return &mm->mmap_sem;
  52521. | ^~~~~~~~
  52522. | mmap_base
  52523. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  52524. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  52525. 300 | vma->vm_flags |= flags;
  52526. | ^~
  52527. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  52528. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  52529. 309 | vma->vm_flags &= ~flags;
  52530. | ^~
  52531. In file included from ././common/inc/conftest.h:28,
  52532. from ././common/inc/nv-time.h:27,
  52533. from nvidia-uvm/uvm_linux.h:37,
  52534. from nvidia-uvm/uvm_common.h:43,
  52535. from nvidia-uvm/uvm_tools.c:23:
  52536. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  52537. 74 | #error dma_buf_export() conftest failed!
  52538. | ^~~~~
  52539. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  52540. 87 | #error wait_on_bit_lock() conftest failed!
  52541. | ^~~~~
  52542. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  52543. 90 | #error radix_tree_replace_slot() conftest failed!
  52544. | ^~~~~
  52545. In file included from ././common/inc/nv-linux.h:37:
  52546. ././common/inc/nv-time.h: At top level:
  52547. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  52548. 40 | struct timespec64 {
  52549. | ^~~~~~~~~~
  52550. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  52551. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  52552. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  52553. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  52554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  52555. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  52556. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  52557. 13 | struct timespec64 {
  52558. | ^~~~~~~~~~
  52559. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52560. 77 | static inline struct timespec64 timespec64_add
  52561. | ^~~~~~~~~~~~~~
  52562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52563. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  52564. | ^~~~~~~~~~~~~~
  52565. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52566. 95 | static inline struct timespec64 timespec64_sub
  52567. | ^~~~~~~~~~~~~~
  52568. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52569. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  52570. | ^~~~~~~~~~~~~~
  52571. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  52572. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  52573. | ^~~~~~~~~~~~~~~~
  52574. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  52575. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  52576. | ^~~~~~~~~~~~~~~~
  52577. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  52578. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52579. 122 | ktime_get_raw_ts64(&ts);
  52580. | ^~~
  52581. | |
  52582. | struct timespec64 *
  52583. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  52584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52585. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52586. | ~~~~~~~~~~~~~~~~~~~^~
  52587. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  52588. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52589. 185 | ktime_get_raw_ts64(&tm_aux);
  52590. | ^~~~~~~
  52591. | |
  52592. | struct timespec64 *
  52593. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52594. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52595. | ~~~~~~~~~~~~~~~~~~~^~
  52596. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52597. 221 | ktime_get_raw_ts64(&tm_aux);
  52598. | ^~~~~~~
  52599. | |
  52600. | struct timespec64 *
  52601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52602. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52603. | ~~~~~~~~~~~~~~~~~~~^~
  52604. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  52605. 40 | struct timespec64 {
  52606. | ^~~~~~~~~~
  52607. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  52608. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  52609. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  52610. from ././common/inc/nv-time.h:29:
  52611. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  52612. 13 | struct timespec64 {
  52613. | ^~~~~~~~~~
  52614. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52615. 77 | static inline struct timespec64 timespec64_add
  52616. | ^~~~~~~~~~~~~~
  52617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52618. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  52619. | ^~~~~~~~~~~~~~
  52620. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52621. 95 | static inline struct timespec64 timespec64_sub
  52622. | ^~~~~~~~~~~~~~
  52623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52624. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  52625. | ^~~~~~~~~~~~~~
  52626. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  52627. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  52628. | ^~~~~~~~~~~~~~~~
  52629. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  52630. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  52631. | ^~~~~~~~~~~~~~~~
  52632. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  52633. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52634. 122 | ktime_get_raw_ts64(&ts);
  52635. | ^~~
  52636. | |
  52637. | struct timespec64 *
  52638. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  52639. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  52640. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  52641. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  52642. from ././common/inc/nv-time.h:30:
  52643. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52644. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52645. | ~~~~~~~~~~~~~~~~~~~^~
  52646. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  52647. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52648. 185 | ktime_get_raw_ts64(&tm_aux);
  52649. | ^~~~~~~
  52650. | |
  52651. | struct timespec64 *
  52652. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52653. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52654. | ~~~~~~~~~~~~~~~~~~~^~
  52655. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52656. 221 | ktime_get_raw_ts64(&tm_aux);
  52657. | ^~~~~~~
  52658. | |
  52659. | struct timespec64 *
  52660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52661. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52662. | ~~~~~~~~~~~~~~~~~~~^~
  52663. nvidia/nv-caps.c: At top level:
  52664. nvidia/nv-caps.c:269:5: warning: no previous prototype for 'nv_cap_procfs_init' [-Wmissing-prototypes]
  52665. 269 | int nv_cap_procfs_init(void)
  52666. | ^~~~~~~~~~~~~~~~~~
  52667. In file included from ././common/inc/nv-procfs.h:26,
  52668. from nvidia/nv-caps.c:26:
  52669. nvidia/nv-caps.c: In function 'nv_cap_procfs_init':
  52670. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  52671. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  52672. | ^~~~
  52673. | |
  52674. | const nv_proc_ops_t * {aka const struct file_operations *}
  52675. nvidia/nv-caps.c:279:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  52676. 279 | file_entry = NV_CREATE_PROC_FILE("mig-minors", nv_cap_procfs_dir,
  52677. | ^~~~~~~~~~~~~~~~~~~
  52678. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  52679. from ././common/inc/nv-linux.h:220:
  52680. /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 *'}
  52681. 111 | const struct proc_ops *,
  52682. | ^~~~~~~~~~~~~~~~~~~~~~~
  52683. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  52684. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  52685. | ^~~~
  52686. | |
  52687. | const nv_proc_ops_t * {aka const struct file_operations *}
  52688. nvidia/nv-caps.c:286:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  52689. 286 | file_entry = NV_CREATE_PROC_FILE("nvlink-minors", nv_cap_procfs_dir,
  52690. | ^~~~~~~~~~~~~~~~~~~
  52691. /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 *'}
  52692. 111 | const struct proc_ops *,
  52693. | ^~~~~~~~~~~~~~~~~~~~~~~
  52694. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  52695. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  52696. | ^~~~
  52697. | |
  52698. | const nv_proc_ops_t * {aka const struct file_operations *}
  52699. nvidia/nv-caps.c:293:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  52700. 293 | file_entry = NV_CREATE_PROC_FILE("sys-minors", nv_cap_procfs_dir,
  52701. | ^~~~~~~~~~~~~~~~~~~
  52702. /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 *'}
  52703. 111 | const struct proc_ops *,
  52704. | ^~~~~~~~~~~~~~~~~~~~~~~
  52705. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/string.h:392,
  52706. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bitmap.h:13,
  52707. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/cpumask.h:12,
  52708. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt.h:21,
  52709. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:102,
  52710. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18,
  52711. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:59:
  52712. nvidia/nv-caps.c: In function 'nv_cap_find_minor':
  52713. /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]
  52714. 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \
  52715. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  52716. 259 | __builtin_strlen(p), __fortify_strlen(p))
  52717. | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  52718. | |
  52719. | __kernel_size_t {aka long unsigned int}
  52720. ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen'
  52721. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  52722. | ^~~~~~
  52723. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  52724. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  52725. | ^~~~~~~~~~~~~~
  52726. nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key'
  52727. 310 | unsigned int key = nv_cap_hash_key(path);
  52728. | ^~~~~~~~~~~~~~~
  52729. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dcache.h:15,
  52730. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:8,
  52731. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7,
  52732. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133:
  52733. /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'}
  52734. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  52735. | ^~~~~~~~~~~~
  52736. In file included from nvidia/nv-caps.c:27:
  52737. ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2
  52738. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  52739. | ^~~~~~~~~~~~~~
  52740. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  52741. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  52742. | ^~~~~~~~~~~~~~
  52743. nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key'
  52744. 310 | unsigned int key = nv_cap_hash_key(path);
  52745. | ^~~~~~~~~~~~~~~
  52746. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here
  52747. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  52748. | ^~~~~~~~~~~~~~
  52749. nvidia/nv-caps.c: In function '_nv_cap_table_init':
  52750. /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]
  52751. 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \
  52752. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  52753. 259 | __builtin_strlen(p), __fortify_strlen(p))
  52754. | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  52755. | |
  52756. | __kernel_size_t {aka long unsigned int}
  52757. ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen'
  52758. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  52759. | ^~~~~~
  52760. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  52761. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  52762. | ^~~~~~~~~~~~~~
  52763. nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key'
  52764. 334 | key = nv_cap_hash_key(table[i].name);
  52765. | ^~~~~~~~~~~~~~~
  52766. /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'}
  52767. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  52768. | ^~~~~~~~~~~~
  52769. ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2
  52770. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  52771. | ^~~~~~~~~~~~~~
  52772. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  52773. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  52774. | ^~~~~~~~~~~~~~
  52775. nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key'
  52776. 334 | key = nv_cap_hash_key(table[i].name);
  52777. | ^~~~~~~~~~~~~~~
  52778. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here
  52779. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  52780. | ^~~~~~~~~~~~~~
  52781. nvidia/nv-caps.c: In function 'nv_cap_procfs_open':
  52782. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  52783. 595 | NV_MEMDBG_ADD(ptr, size); \
  52784. | ^
  52785. nvidia/nv-caps.c:410:5: note: in expansion of macro 'NV_KMALLOC'
  52786. 410 | NV_KMALLOC(private, sizeof(nv_cap_file_private_t));
  52787. | ^~~~~~~~~~
  52788. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  52789. 40 | struct timespec64 {
  52790. | ^~~~~~~~~~
  52791. nvidia/nv-caps.c: In function 'nv_cap_alloc':
  52792. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  52793. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  52794. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  52795. from ././common/inc/nv-time.h:29:
  52796. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  52797. 13 | struct timespec64 {
  52798. | ^~~~~~~~~~
  52799. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  52800. 595 | NV_MEMDBG_ADD(ptr, size); \
  52801. | ^
  52802. nvidia/nv-caps.c:614:5: note: in expansion of macro 'NV_KMALLOC'
  52803. 614 | NV_KMALLOC(cap, sizeof(nv_cap_t));
  52804. | ^~~~~~~~~~
  52805. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52806. 77 | static inline struct timespec64 timespec64_add
  52807. | ^~~~~~~~~~~~~~
  52808. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52809. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  52810. | ^~~~~~~~~~~~~~
  52811. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52812. 95 | static inline struct timespec64 timespec64_sub
  52813. | ^~~~~~~~~~~~~~
  52814. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52815. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  52816. | ^~~~~~~~~~~~~~
  52817. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  52818. 595 | NV_MEMDBG_ADD(ptr, size); \
  52819. | ^
  52820. nvidia/nv-caps.c:621:5: note: in expansion of macro 'NV_KMALLOC'
  52821. 621 | NV_KMALLOC(cap->path, len);
  52822. | ^~~~~~~~~~
  52823. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  52824. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  52825. | ^~~~~~~~~~~~~~~~
  52826. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  52827. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  52828. | ^~~~~~~~~~~~~~~~
  52829. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  52830. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52831. 122 | ktime_get_raw_ts64(&ts);
  52832. | ^~~
  52833. | |
  52834. | struct timespec64 *
  52835. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  52836. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  52837. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  52838. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  52839. from ././common/inc/nv-time.h:30:
  52840. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52841. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52842. | ~~~~~~~~~~~~~~~~~~~^~
  52843. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  52844. 595 | NV_MEMDBG_ADD(ptr, size); \
  52845. | ^
  52846. nvidia/nv-caps.c:633:5: note: in expansion of macro 'NV_KMALLOC'
  52847. 633 | NV_KMALLOC(cap->name, len);
  52848. | ^~~~~~~~~~
  52849. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  52850. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52851. 185 | ktime_get_raw_ts64(&tm_aux);
  52852. | ^~~~~~~
  52853. | |
  52854. | struct timespec64 *
  52855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52856. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52857. | ~~~~~~~~~~~~~~~~~~~^~
  52858. nvidia/nv-caps.c: In function 'nv_cap_create_file_entry':
  52859. nvidia/nv-caps.c:688:35: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  52860. 688 | &g_nv_cap_procfs_fops, (void*)cap);
  52861. | ^~~~~~~~~~~~~~~~~~~~~
  52862. | |
  52863. | nv_proc_ops_t * {aka struct file_operations *}
  52864. /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 *'}
  52865. 111 | const struct proc_ops *,
  52866. | ^~~~~~~~~~~~~~~~~~~~~~~
  52867. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52868. 221 | ktime_get_raw_ts64(&tm_aux);
  52869. | ^~~~~~~
  52870. | |
  52871. | struct timespec64 *
  52872. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52873. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52874. | ~~~~~~~~~~~~~~~~~~~^~
  52875. nvidia/nv-caps.c: In function 'nv_cap_init':
  52876. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  52877. 595 | NV_MEMDBG_ADD(ptr, size); \
  52878. | ^
  52879. nvidia/nv-caps.c:738:5: note: in expansion of macro 'NV_KMALLOC'
  52880. 738 | NV_KMALLOC(name, (strlen(path) + strlen(dir)) + 1);
  52881. | ^~~~~~~~~~
  52882. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  52883. 40 | struct timespec64 {
  52884. | ^~~~~~~~~~
  52885. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  52886. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  52887. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  52888. from ././common/inc/nv-time.h:29:
  52889. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  52890. 13 | struct timespec64 {
  52891. | ^~~~~~~~~~
  52892. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52893. 77 | static inline struct timespec64 timespec64_add
  52894. | ^~~~~~~~~~~~~~
  52895. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52896. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  52897. | ^~~~~~~~~~~~~~
  52898. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  52899. 95 | static inline struct timespec64 timespec64_sub
  52900. | ^~~~~~~~~~~~~~
  52901. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  52902. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  52903. | ^~~~~~~~~~~~~~
  52904. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  52905. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  52906. | ^~~~~~~~~~~~~~~~
  52907. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  52908. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  52909. | ^~~~~~~~~~~~~~~~
  52910. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  52911. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52912. 122 | ktime_get_raw_ts64(&ts);
  52913. | ^~~
  52914. | |
  52915. | struct timespec64 *
  52916. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  52917. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  52918. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  52919. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  52920. from ././common/inc/nv-time.h:30:
  52921. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52922. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52923. | ~~~~~~~~~~~~~~~~~~~^~
  52924. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-caps.o] Error 1
  52925. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  52926. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52927. 185 | ktime_get_raw_ts64(&tm_aux);
  52928. | ^~~~~~~
  52929. | |
  52930. | struct timespec64 *
  52931. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52932. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52933. | ~~~~~~~~~~~~~~~~~~~^~
  52934. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  52935. 221 | ktime_get_raw_ts64(&tm_aux);
  52936. | ^~~~~~~
  52937. | |
  52938. | struct timespec64 *
  52939. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  52940. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  52941. | ~~~~~~~~~~~~~~~~~~~^~
  52942. CC [M] nvidia-uvm/uvm_global.o
  52943. In file included from ././common/inc/nv-linux.h:34:
  52944. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  52945. 29 | typedef int vm_fault_t;
  52946. | ^~~~~~~~~~
  52947. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  52948. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  52949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  52950. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  52951. from ././common/inc/nv-lock.h:35,
  52952. from ././common/inc/nv-linux.h:32:
  52953. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  52954. 1311 | typedef __bitwise unsigned int vm_fault_t;
  52955. | ^~~~~~~~~~
  52956. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  52957. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  52958. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  52959. from ././common/inc/nv-lock.h:29:
  52960. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  52961. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52962. 52 | #define current get_current()
  52963. | ^~~~~~~~~~~~~
  52964. | |
  52965. | struct task_struct *
  52966. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  52967. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52968. | ^~~~~~~
  52969. In file included from ././common/inc/nv-pgprot.h:30,
  52970. from ././common/inc/nv-linux.h:33:
  52971. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  52972. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52973. | ~~~~~~~~~~~~~~^~~~~
  52974. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52975. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  52977. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52978. | ~~~~~~~~~~~~~~^~~~~~~~
  52979. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  52980. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52981. | ^~~~~~~~
  52982. | |
  52983. | long unsigned int
  52984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  52985. 2535 | unsigned int gup_flags, struct page **pages);
  52986. | ~~~~~~~~~~~~~~^~~~~
  52987. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  52988. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  52989. | ^~~~~~~~~~~~~~ ~~~~~
  52990. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  52991. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  52992. | ^~~~~~~~~~~~~~
  52993. In file included from ././common/inc/nv.h:35:
  52994. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  52995. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  52996. 8 | #define NULL ((void *)0)
  52997. | ^~~~~~~~~~~
  52998. | |
  52999. | void *
  53000. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  53001. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53002. | ^~~~
  53003. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  53004. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53005. | ~~~~~~~~~~~~~~^~~~~
  53006. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53007. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53008. | ^~
  53009. | |
  53010. | struct mm_struct *
  53011. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53012. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53013. | ~~~~~~~~~~~~~~^~~~~~~~
  53014. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53015. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53016. | ^~~~~~~~
  53017. | |
  53018. | long unsigned int
  53019. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53020. 2535 | unsigned int gup_flags, struct page **pages);
  53021. | ~~~~~~~~~~~~~~^~~~~
  53022. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53023. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53024. | ^~~~~~~~~~~~~~ ~~~~~
  53025. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53026. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53027. | ^~~~~~~~~~~~~~
  53028. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  53029. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  53030. 237 | return (unsigned long)(vmf->virtual_address);
  53031. | ^~~~~~~~~~~~~~~
  53032. | real_address
  53033. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  53034. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53035. 246 | down_read(&mm->mmap_sem);
  53036. | ^~~~~~~~
  53037. | mmap_base
  53038. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  53039. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53040. 255 | up_read(&mm->mmap_sem);
  53041. | ^~~~~~~~
  53042. | mmap_base
  53043. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  53044. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53045. 264 | down_write(&mm->mmap_sem);
  53046. | ^~~~~~~~
  53047. | mmap_base
  53048. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  53049. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53050. 273 | up_write(&mm->mmap_sem);
  53051. | ^~~~~~~~
  53052. | mmap_base
  53053. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  53054. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53055. 282 | return rwsem_is_locked(&mm->mmap_sem);
  53056. | ^~~~~~~~
  53057. | mmap_base
  53058. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  53059. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53060. 291 | return &mm->mmap_sem;
  53061. | ^~~~~~~~
  53062. | mmap_base
  53063. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  53064. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  53065. 300 | vma->vm_flags |= flags;
  53066. | ^~
  53067. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  53068. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  53069. 309 | vma->vm_flags &= ~flags;
  53070. | ^~
  53071. In file included from ././common/inc/nv-linux.h:34:
  53072. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  53073. 29 | typedef int vm_fault_t;
  53074. | ^~~~~~~~~~
  53075. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  53076. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  53077. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  53078. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  53079. from ././common/inc/nv-lock.h:35,
  53080. from ././common/inc/nv-linux.h:32:
  53081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  53082. 1311 | typedef __bitwise unsigned int vm_fault_t;
  53083. | ^~~~~~~~~~
  53084. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  53085. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  53086. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  53087. from ././common/inc/nv-lock.h:29:
  53088. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  53089. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53090. 52 | #define current get_current()
  53091. | ^~~~~~~~~~~~~
  53092. | |
  53093. | struct task_struct *
  53094. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  53095. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53096. | ^~~~~~~
  53097. In file included from ././common/inc/nv-pgprot.h:30,
  53098. from ././common/inc/nv-linux.h:33:
  53099. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  53100. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53101. | ~~~~~~~~~~~~~~^~~~~
  53102. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53103. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53105. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53106. | ~~~~~~~~~~~~~~^~~~~~~~
  53107. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53108. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53109. | ^~~~~~~~
  53110. | |
  53111. | long unsigned int
  53112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53113. 2535 | unsigned int gup_flags, struct page **pages);
  53114. | ~~~~~~~~~~~~~~^~~~~
  53115. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53116. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53117. | ^~~~~~~~~~~~~~ ~~~~~
  53118. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53119. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53120. | ^~~~~~~~~~~~~~
  53121. In file included from ././common/inc/nv.h:35:
  53122. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  53123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53124. 8 | #define NULL ((void *)0)
  53125. | ^~~~~~~~~~~
  53126. | |
  53127. | void *
  53128. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  53129. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53130. | ^~~~
  53131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  53132. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53133. | ~~~~~~~~~~~~~~^~~~~
  53134. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53135. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53136. | ^~
  53137. | |
  53138. | struct mm_struct *
  53139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53140. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53141. | ~~~~~~~~~~~~~~^~~~~~~~
  53142. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53143. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53144. | ^~~~~~~~
  53145. | |
  53146. | long unsigned int
  53147. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53148. 2535 | unsigned int gup_flags, struct page **pages);
  53149. | ~~~~~~~~~~~~~~^~~~~
  53150. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53151. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53152. | ^~~~~~~~~~~~~~ ~~~~~
  53153. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53154. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53155. | ^~~~~~~~~~~~~~
  53156. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  53157. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  53158. 237 | return (unsigned long)(vmf->virtual_address);
  53159. | ^~~~~~~~~~~~~~~
  53160. | real_address
  53161. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  53162. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53163. 246 | down_read(&mm->mmap_sem);
  53164. | ^~~~~~~~
  53165. | mmap_base
  53166. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  53167. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53168. 255 | up_read(&mm->mmap_sem);
  53169. | ^~~~~~~~
  53170. | mmap_base
  53171. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  53172. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53173. 264 | down_write(&mm->mmap_sem);
  53174. | ^~~~~~~~
  53175. | mmap_base
  53176. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  53177. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53178. 273 | up_write(&mm->mmap_sem);
  53179. | ^~~~~~~~
  53180. | mmap_base
  53181. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  53182. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53183. 282 | return rwsem_is_locked(&mm->mmap_sem);
  53184. | ^~~~~~~~
  53185. | mmap_base
  53186. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  53187. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53188. 291 | return &mm->mmap_sem;
  53189. | ^~~~~~~~
  53190. | mmap_base
  53191. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  53192. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  53193. 300 | vma->vm_flags |= flags;
  53194. | ^~
  53195. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  53196. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  53197. 309 | vma->vm_flags &= ~flags;
  53198. | ^~
  53199. In file included from ././common/inc/nv-linux.h:37:
  53200. ././common/inc/nv-time.h: At top level:
  53201. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  53202. 40 | struct timespec64 {
  53203. | ^~~~~~~~~~
  53204. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  53205. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  53206. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  53207. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  53208. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  53209. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  53210. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  53211. 13 | struct timespec64 {
  53212. | ^~~~~~~~~~
  53213. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  53214. 77 | static inline struct timespec64 timespec64_add
  53215. | ^~~~~~~~~~~~~~
  53216. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  53217. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  53218. | ^~~~~~~~~~~~~~
  53219. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  53220. 95 | static inline struct timespec64 timespec64_sub
  53221. | ^~~~~~~~~~~~~~
  53222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  53223. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  53224. | ^~~~~~~~~~~~~~
  53225. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  53226. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  53227. | ^~~~~~~~~~~~~~~~
  53228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  53229. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  53230. | ^~~~~~~~~~~~~~~~
  53231. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  53232. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53233. 122 | ktime_get_raw_ts64(&ts);
  53234. | ^~~
  53235. | |
  53236. | struct timespec64 *
  53237. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  53238. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53239. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53240. | ~~~~~~~~~~~~~~~~~~~^~
  53241. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  53242. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53243. 185 | ktime_get_raw_ts64(&tm_aux);
  53244. | ^~~~~~~
  53245. | |
  53246. | struct timespec64 *
  53247. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53248. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53249. | ~~~~~~~~~~~~~~~~~~~^~
  53250. In file included from ././common/inc/conftest.h:28,
  53251. from ././common/inc/nv-time.h:27,
  53252. from nvidia-uvm/uvm_linux.h:37,
  53253. from nvidia-uvm/uvm_common.h:43,
  53254. from nvidia-uvm/uvm_api.h:28,
  53255. from nvidia-uvm/uvm_global.c:24:
  53256. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  53257. 74 | #error dma_buf_export() conftest failed!
  53258. | ^~~~~
  53259. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  53260. 87 | #error wait_on_bit_lock() conftest failed!
  53261. | ^~~~~
  53262. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  53263. 90 | #error radix_tree_replace_slot() conftest failed!
  53264. | ^~~~~
  53265. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53266. 221 | ktime_get_raw_ts64(&tm_aux);
  53267. | ^~~~~~~
  53268. | |
  53269. | struct timespec64 *
  53270. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53271. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53272. | ~~~~~~~~~~~~~~~~~~~^~
  53273. In file included from ././common/inc/nv-linux.h:37:
  53274. ././common/inc/nv-time.h: At top level:
  53275. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  53276. 40 | struct timespec64 {
  53277. | ^~~~~~~~~~
  53278. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  53279. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  53280. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  53281. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  53282. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  53283. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  53284. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  53285. 13 | struct timespec64 {
  53286. | ^~~~~~~~~~
  53287. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  53288. 77 | static inline struct timespec64 timespec64_add
  53289. | ^~~~~~~~~~~~~~
  53290. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  53291. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  53292. | ^~~~~~~~~~~~~~
  53293. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  53294. 95 | static inline struct timespec64 timespec64_sub
  53295. | ^~~~~~~~~~~~~~
  53296. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  53297. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  53298. | ^~~~~~~~~~~~~~
  53299. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  53300. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  53301. | ^~~~~~~~~~~~~~~~
  53302. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  53303. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  53304. | ^~~~~~~~~~~~~~~~
  53305. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  53306. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53307. 122 | ktime_get_raw_ts64(&ts);
  53308. | ^~~
  53309. | |
  53310. | struct timespec64 *
  53311. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  53312. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53313. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53314. | ~~~~~~~~~~~~~~~~~~~^~
  53315. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  53316. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53317. 185 | ktime_get_raw_ts64(&tm_aux);
  53318. | ^~~~~~~
  53319. | |
  53320. | struct timespec64 *
  53321. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53322. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53323. | ~~~~~~~~~~~~~~~~~~~^~
  53324. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53325. 221 | ktime_get_raw_ts64(&tm_aux);
  53326. | ^~~~~~~
  53327. | |
  53328. | struct timespec64 *
  53329. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53330. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53331. | ~~~~~~~~~~~~~~~~~~~^~
  53332. In file included from ././common/inc/conftest.h:28,
  53333. from ././common/inc/nv-kthread-q.h:33,
  53334. from nvidia-uvm/nv-kthread-q.c:24:
  53335. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  53336. 74 | #error dma_buf_export() conftest failed!
  53337. | ^~~~~
  53338. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  53339. 87 | #error wait_on_bit_lock() conftest failed!
  53340. | ^~~~~
  53341. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  53342. 90 | #error radix_tree_replace_slot() conftest failed!
  53343. | ^~~~~
  53344. In file included from ././common/inc/nv-linux.h:34,
  53345. from nvidia-uvm/uvm_linux.h:40:
  53346. ././common/inc/nv-mm.h: At top level:
  53347. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  53348. 29 | typedef int vm_fault_t;
  53349. | ^~~~~~~~~~
  53350. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  53351. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  53352. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  53353. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  53354. from ././common/inc/nv-lock.h:35,
  53355. from ././common/inc/nv-linux.h:32:
  53356. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  53357. 1311 | typedef __bitwise unsigned int vm_fault_t;
  53358. | ^~~~~~~~~~
  53359. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  53360. from ././common/inc/nv-time.h:28:
  53361. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  53362. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53363. 52 | #define current get_current()
  53364. | ^~~~~~~~~~~~~
  53365. | |
  53366. | struct task_struct *
  53367. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  53368. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53369. | ^~~~~~~
  53370. In file included from ././common/inc/nv-pgprot.h:30,
  53371. from ././common/inc/nv-linux.h:33:
  53372. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  53373. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53374. | ~~~~~~~~~~~~~~^~~~~
  53375. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53376. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53377. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53378. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53379. | ~~~~~~~~~~~~~~^~~~~~~~
  53380. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53381. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53382. | ^~~~~~~~
  53383. | |
  53384. | long unsigned int
  53385. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53386. 2535 | unsigned int gup_flags, struct page **pages);
  53387. | ~~~~~~~~~~~~~~^~~~~
  53388. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53389. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53390. | ^~~~~~~~~~~~~~ ~~~~~
  53391. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53392. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53393. | ^~~~~~~~~~~~~~
  53394. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  53395. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  53396. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  53397. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  53398. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  53399. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  53400. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53401. 8 | #define NULL ((void *)0)
  53402. | ^~~~~~~~~~~
  53403. | |
  53404. | void *
  53405. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  53406. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53407. | ^~~~
  53408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  53409. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53410. | ~~~~~~~~~~~~~~^~~~~
  53411. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53412. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53413. | ^~
  53414. | |
  53415. | struct mm_struct *
  53416. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53417. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53418. | ~~~~~~~~~~~~~~^~~~~~~~
  53419. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53420. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53421. | ^~~~~~~~
  53422. | |
  53423. | long unsigned int
  53424. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53425. 2535 | unsigned int gup_flags, struct page **pages);
  53426. | ~~~~~~~~~~~~~~^~~~~
  53427. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53428. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53429. | ^~~~~~~~~~~~~~ ~~~~~
  53430. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53431. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53432. | ^~~~~~~~~~~~~~
  53433. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  53434. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  53435. 237 | return (unsigned long)(vmf->virtual_address);
  53436. | ^~~~~~~~~~~~~~~
  53437. | real_address
  53438. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  53439. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53440. 246 | down_read(&mm->mmap_sem);
  53441. | ^~~~~~~~
  53442. | mmap_base
  53443. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  53444. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53445. 255 | up_read(&mm->mmap_sem);
  53446. | ^~~~~~~~
  53447. | mmap_base
  53448. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  53449. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53450. 264 | down_write(&mm->mmap_sem);
  53451. | ^~~~~~~~
  53452. | mmap_base
  53453. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  53454. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53455. 273 | up_write(&mm->mmap_sem);
  53456. | ^~~~~~~~
  53457. | mmap_base
  53458. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  53459. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53460. 282 | return rwsem_is_locked(&mm->mmap_sem);
  53461. | ^~~~~~~~
  53462. | mmap_base
  53463. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  53464. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53465. 291 | return &mm->mmap_sem;
  53466. | ^~~~~~~~
  53467. | mmap_base
  53468. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  53469. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  53470. 300 | vma->vm_flags |= flags;
  53471. | ^~
  53472. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  53473. In file included from ././common/inc/nv-linux.h:34,
  53474. from nvidia-uvm/uvm_linux.h:40:
  53475. ././common/inc/nv-mm.h: At top level:
  53476. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  53477. 29 | typedef int vm_fault_t;
  53478. | ^~~~~~~~~~
  53479. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  53480. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  53481. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  53482. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  53483. from ././common/inc/nv-lock.h:35,
  53484. from ././common/inc/nv-linux.h:32:
  53485. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  53486. 1311 | typedef __bitwise unsigned int vm_fault_t;
  53487. | ^~~~~~~~~~
  53488. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  53489. from ././common/inc/nv-time.h:28:
  53490. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  53491. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53492. 52 | #define current get_current()
  53493. | ^~~~~~~~~~~~~
  53494. | |
  53495. | struct task_struct *
  53496. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  53497. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53498. | ^~~~~~~
  53499. In file included from ././common/inc/nv-pgprot.h:30,
  53500. from ././common/inc/nv-linux.h:33:
  53501. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  53502. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53503. | ~~~~~~~~~~~~~~^~~~~
  53504. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53505. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53506. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53507. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53508. | ~~~~~~~~~~~~~~^~~~~~~~
  53509. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53510. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53511. | ^~~~~~~~
  53512. | |
  53513. | long unsigned int
  53514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53515. 2535 | unsigned int gup_flags, struct page **pages);
  53516. | ~~~~~~~~~~~~~~^~~~~
  53517. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53518. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53519. | ^~~~~~~~~~~~~~ ~~~~~
  53520. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53521. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53522. | ^~~~~~~~~~~~~~
  53523. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  53524. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  53525. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  53526. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  53527. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  53528. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  53529. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53530. 8 | #define NULL ((void *)0)
  53531. | ^~~~~~~~~~~
  53532. | |
  53533. | void *
  53534. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  53535. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53536. | ^~~~
  53537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  53538. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53539. | ~~~~~~~~~~~~~~^~~~~
  53540. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53541. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53542. | ^~
  53543. | |
  53544. | struct mm_struct *
  53545. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53546. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53547. | ~~~~~~~~~~~~~~^~~~~~~~
  53548. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53549. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53550. | ^~~~~~~~
  53551. | |
  53552. | long unsigned int
  53553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53554. 2535 | unsigned int gup_flags, struct page **pages);
  53555. | ~~~~~~~~~~~~~~^~~~~
  53556. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53557. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53558. | ^~~~~~~~~~~~~~ ~~~~~
  53559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53560. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53561. | ^~~~~~~~~~~~~~
  53562. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  53563. 309 | vma->vm_flags &= ~flags;
  53564. | ^~
  53565. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  53566. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  53567. 237 | return (unsigned long)(vmf->virtual_address);
  53568. | ^~~~~~~~~~~~~~~
  53569. | real_address
  53570. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  53571. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53572. 246 | down_read(&mm->mmap_sem);
  53573. | ^~~~~~~~
  53574. | mmap_base
  53575. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  53576. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53577. 255 | up_read(&mm->mmap_sem);
  53578. | ^~~~~~~~
  53579. | mmap_base
  53580. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  53581. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53582. 264 | down_write(&mm->mmap_sem);
  53583. | ^~~~~~~~
  53584. | mmap_base
  53585. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  53586. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53587. 273 | up_write(&mm->mmap_sem);
  53588. | ^~~~~~~~
  53589. | mmap_base
  53590. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  53591. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53592. 282 | return rwsem_is_locked(&mm->mmap_sem);
  53593. | ^~~~~~~~
  53594. | mmap_base
  53595. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  53596. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53597. 291 | return &mm->mmap_sem;
  53598. | ^~~~~~~~
  53599. | mmap_base
  53600. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  53601. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  53602. 300 | vma->vm_flags |= flags;
  53603. | ^~
  53604. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  53605. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  53606. 309 | vma->vm_flags &= ~flags;
  53607. | ^~
  53608. In file included from ././common/inc/conftest.h:28,
  53609. from ././common/inc/nv-kthread-q.h:33,
  53610. from nvidia-uvm/nv-kthread-q-selftest.c:24:
  53611. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  53612. 74 | #error dma_buf_export() conftest failed!
  53613. | ^~~~~
  53614. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  53615. 87 | #error wait_on_bit_lock() conftest failed!
  53616. | ^~~~~
  53617. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  53618. 90 | #error radix_tree_replace_slot() conftest failed!
  53619. | ^~~~~
  53620. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  53621. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  53622. 502 | NV_MEMDBG_ADD(ptr, size);
  53623. | ^
  53624. In file included from ././common/inc/nv-linux.h:34,
  53625. from ././nvidia-uvm/uvm_linux.h:40:
  53626. ././common/inc/nv-mm.h: At top level:
  53627. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  53628. 29 | typedef int vm_fault_t;
  53629. | ^~~~~~~~~~
  53630. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  53631. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  53632. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  53633. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  53634. from ././common/inc/nv-lock.h:35,
  53635. from ././common/inc/nv-linux.h:32:
  53636. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  53637. 1311 | typedef __bitwise unsigned int vm_fault_t;
  53638. | ^~~~~~~~~~
  53639. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  53640. from ././common/inc/nv-time.h:28:
  53641. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  53642. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53643. 52 | #define current get_current()
  53644. | ^~~~~~~~~~~~~
  53645. | |
  53646. | struct task_struct *
  53647. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  53648. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53649. | ^~~~~~~
  53650. In file included from ././common/inc/nv-pgprot.h:30,
  53651. from ././common/inc/nv-linux.h:33:
  53652. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  53653. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53654. | ~~~~~~~~~~~~~~^~~~~
  53655. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53656. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53657. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53658. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53659. | ~~~~~~~~~~~~~~^~~~~~~~
  53660. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53661. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53662. | ^~~~~~~~
  53663. | |
  53664. | long unsigned int
  53665. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53666. 2535 | unsigned int gup_flags, struct page **pages);
  53667. | ~~~~~~~~~~~~~~^~~~~
  53668. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53669. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53670. | ^~~~~~~~~~~~~~ ~~~~~
  53671. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53672. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53673. | ^~~~~~~~~~~~~~
  53674. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  53675. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  53676. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  53677. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  53678. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  53679. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  53680. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53681. 8 | #define NULL ((void *)0)
  53682. | ^~~~~~~~~~~
  53683. | |
  53684. | void *
  53685. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  53686. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53687. | ^~~~
  53688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  53689. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53690. | ~~~~~~~~~~~~~~^~~~~
  53691. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53692. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53693. | ^~
  53694. | |
  53695. | struct mm_struct *
  53696. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53697. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53698. | ~~~~~~~~~~~~~~^~~~~~~~
  53699. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53700. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53701. | ^~~~~~~~
  53702. | |
  53703. | long unsigned int
  53704. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53705. 2535 | unsigned int gup_flags, struct page **pages);
  53706. | ~~~~~~~~~~~~~~^~~~~
  53707. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53708. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53709. | ^~~~~~~~~~~~~~ ~~~~~
  53710. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53711. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53712. | ^~~~~~~~~~~~~~
  53713. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  53714. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  53715. 237 | return (unsigned long)(vmf->virtual_address);
  53716. | ^~~~~~~~~~~~~~~
  53717. | real_address
  53718. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  53719. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53720. 246 | down_read(&mm->mmap_sem);
  53721. | ^~~~~~~~
  53722. | mmap_base
  53723. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  53724. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53725. 255 | up_read(&mm->mmap_sem);
  53726. | ^~~~~~~~
  53727. | mmap_base
  53728. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  53729. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53730. 264 | down_write(&mm->mmap_sem);
  53731. | ^~~~~~~~
  53732. | mmap_base
  53733. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  53734. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53735. 273 | up_write(&mm->mmap_sem);
  53736. | ^~~~~~~~
  53737. | mmap_base
  53738. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  53739. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53740. 282 | return rwsem_is_locked(&mm->mmap_sem);
  53741. | ^~~~~~~~
  53742. | mmap_base
  53743. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  53744. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53745. 291 | return &mm->mmap_sem;
  53746. | ^~~~~~~~
  53747. | mmap_base
  53748. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  53749. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  53750. 300 | vma->vm_flags |= flags;
  53751. | ^~
  53752. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  53753. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  53754. 309 | vma->vm_flags &= ~flags;
  53755. | ^~
  53756. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  53757. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  53758. 502 | NV_MEMDBG_ADD(ptr, size);
  53759. | ^
  53760. In file included from ././common/inc/nv-linux.h:34,
  53761. from nvidia-uvm/uvm_linux.h:40:
  53762. ././common/inc/nv-mm.h: At top level:
  53763. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  53764. 29 | typedef int vm_fault_t;
  53765. | ^~~~~~~~~~
  53766. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  53767. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  53768. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  53769. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  53770. from ././common/inc/nv-lock.h:35,
  53771. from ././common/inc/nv-linux.h:32:
  53772. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  53773. 1311 | typedef __bitwise unsigned int vm_fault_t;
  53774. | ^~~~~~~~~~
  53775. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  53776. from ././common/inc/nv-time.h:28:
  53777. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  53778. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  53779. 40 | struct timespec64 {
  53780. | ^~~~~~~~~~
  53781. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  53782. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  53783. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  53784. from ././common/inc/nv-time.h:29:
  53785. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  53786. 13 | struct timespec64 {
  53787. | ^~~~~~~~~~
  53788. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53789. 52 | #define current get_current()
  53790. | ^~~~~~~~~~~~~
  53791. | |
  53792. | struct task_struct *
  53793. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  53794. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53795. | ^~~~~~~
  53796. In file included from ././common/inc/nv-pgprot.h:30,
  53797. from ././common/inc/nv-linux.h:33:
  53798. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  53799. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53800. | ~~~~~~~~~~~~~~^~~~~
  53801. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53802. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53803. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  53804. 77 | static inline struct timespec64 timespec64_add
  53805. | ^~~~~~~~~~~~~~
  53806. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  53807. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  53808. | ^~~~~~~~~~~~~~
  53809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53810. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53811. | ~~~~~~~~~~~~~~^~~~~~~~
  53812. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53813. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53814. | ^~~~~~~~
  53815. | |
  53816. | long unsigned int
  53817. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53818. 2535 | unsigned int gup_flags, struct page **pages);
  53819. | ~~~~~~~~~~~~~~^~~~~
  53820. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  53821. 95 | static inline struct timespec64 timespec64_sub
  53822. | ^~~~~~~~~~~~~~
  53823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  53824. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  53825. | ^~~~~~~~~~~~~~
  53826. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53827. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  53828. | ^~~~~~~~~~~~~~ ~~~~~
  53829. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  53830. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  53831. | ^~~~~~~~~~~~~~~~
  53832. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  53833. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  53834. | ^~~~~~~~~~~~~~~~
  53835. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53836. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53837. | ^~~~~~~~~~~~~~
  53838. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  53839. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53840. 122 | ktime_get_raw_ts64(&ts);
  53841. | ^~~
  53842. | |
  53843. | struct timespec64 *
  53844. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  53845. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  53846. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  53847. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  53848. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  53849. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  53850. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  53851. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  53852. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  53853. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  53854. from ././common/inc/nv-time.h:30:
  53855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53856. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53857. | ~~~~~~~~~~~~~~~~~~~^~
  53858. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53859. 8 | #define NULL ((void *)0)
  53860. | ^~~~~~~~~~~
  53861. | |
  53862. | void *
  53863. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  53864. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53865. | ^~~~
  53866. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  53867. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53868. | ~~~~~~~~~~~~~~^~~~~
  53869. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  53870. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53871. | ^~
  53872. | |
  53873. | struct mm_struct *
  53874. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  53875. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53876. | ~~~~~~~~~~~~~~^~~~~~~~
  53877. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  53878. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53879. | ^~~~~~~~
  53880. | |
  53881. | long unsigned int
  53882. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  53883. 2535 | unsigned int gup_flags, struct page **pages);
  53884. | ~~~~~~~~~~~~~~^~~~~
  53885. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  53886. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  53887. | ^~~~~~~~~~~~~~ ~~~~~
  53888. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  53889. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  53890. | ^~~~~~~~~~~~~~
  53891. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  53892. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53893. 185 | ktime_get_raw_ts64(&tm_aux);
  53894. | ^~~~~~~
  53895. | |
  53896. | struct timespec64 *
  53897. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  53898. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53899. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53900. | ~~~~~~~~~~~~~~~~~~~^~
  53901. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  53902. 237 | return (unsigned long)(vmf->virtual_address);
  53903. | ^~~~~~~~~~~~~~~
  53904. | real_address
  53905. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  53906. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53907. 246 | down_read(&mm->mmap_sem);
  53908. | ^~~~~~~~
  53909. | mmap_base
  53910. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  53911. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53912. 255 | up_read(&mm->mmap_sem);
  53913. | ^~~~~~~~
  53914. | mmap_base
  53915. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  53916. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53917. 264 | down_write(&mm->mmap_sem);
  53918. | ^~~~~~~~
  53919. | mmap_base
  53920. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  53921. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53922. 273 | up_write(&mm->mmap_sem);
  53923. | ^~~~~~~~
  53924. | mmap_base
  53925. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  53926. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53927. 282 | return rwsem_is_locked(&mm->mmap_sem);
  53928. | ^~~~~~~~
  53929. | mmap_base
  53930. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  53931. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  53932. 291 | return &mm->mmap_sem;
  53933. | ^~~~~~~~
  53934. | mmap_base
  53935. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  53936. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  53937. 300 | vma->vm_flags |= flags;
  53938. | ^~
  53939. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53940. 221 | ktime_get_raw_ts64(&tm_aux);
  53941. | ^~~~~~~
  53942. | |
  53943. | struct timespec64 *
  53944. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  53945. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  53946. 309 | vma->vm_flags &= ~flags;
  53947. | ^~
  53948. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53949. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53950. | ~~~~~~~~~~~~~~~~~~~^~
  53951. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  53952. 40 | struct timespec64 {
  53953. | ^~~~~~~~~~
  53954. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  53955. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  53956. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  53957. from ././common/inc/nv-time.h:29:
  53958. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  53959. 13 | struct timespec64 {
  53960. | ^~~~~~~~~~
  53961. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  53962. 77 | static inline struct timespec64 timespec64_add
  53963. | ^~~~~~~~~~~~~~
  53964. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  53965. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  53966. | ^~~~~~~~~~~~~~
  53967. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  53968. 95 | static inline struct timespec64 timespec64_sub
  53969. | ^~~~~~~~~~~~~~
  53970. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  53971. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  53972. | ^~~~~~~~~~~~~~
  53973. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  53974. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  53975. | ^~~~~~~~~~~~~~~~
  53976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  53977. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  53978. | ^~~~~~~~~~~~~~~~
  53979. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  53980. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53981. 122 | ktime_get_raw_ts64(&ts);
  53982. | ^~~
  53983. | |
  53984. | struct timespec64 *
  53985. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  53986. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  53987. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  53988. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  53989. from ././common/inc/nv-time.h:30:
  53990. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  53991. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  53992. | ~~~~~~~~~~~~~~~~~~~^~
  53993. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  53994. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  53995. 185 | ktime_get_raw_ts64(&tm_aux);
  53996. | ^~~~~~~
  53997. | |
  53998. | struct timespec64 *
  53999. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  54000. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  54001. | ~~~~~~~~~~~~~~~~~~~^~
  54002. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  54003. 221 | ktime_get_raw_ts64(&tm_aux);
  54004. | ^~~~~~~
  54005. | |
  54006. | struct timespec64 *
  54007. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  54008. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  54009. | ~~~~~~~~~~~~~~~~~~~^~
  54010. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  54011. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  54012. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  54013. | ^~~~~~~~~~~~~~~~~~~~~~~
  54014. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54015. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54016. 520 | NV_MEMDBG_ADD(ptr, size);
  54017. | ^
  54018. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  54019. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  54020. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  54021. | ^~~~~~~~~~~~~~~~~~~~~~~
  54022. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54023. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54024. 520 | NV_MEMDBG_ADD(ptr, size);
  54025. | ^
  54026. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  54027. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  54028. 533 | ptr = ioremap_cache_shared(phys, size);
  54029. | ^~~~~~~~~~~~~~~~~~~~
  54030. | ioremap_cache
  54031. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54032. 533 | ptr = ioremap_cache_shared(phys, size);
  54033. | ^
  54034. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54035. 556 | NV_MEMDBG_ADD(ptr, size);
  54036. | ^
  54037. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  54038. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54039. 502 | NV_MEMDBG_ADD(ptr, size);
  54040. | ^
  54041. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  54042. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54043. 502 | NV_MEMDBG_ADD(ptr, size);
  54044. | ^
  54045. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  54046. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  54047. 533 | ptr = ioremap_cache_shared(phys, size);
  54048. | ^~~~~~~~~~~~~~~~~~~~
  54049. | ioremap_cache
  54050. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54051. 533 | ptr = ioremap_cache_shared(phys, size);
  54052. | ^
  54053. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54054. 556 | NV_MEMDBG_ADD(ptr, size);
  54055. | ^
  54056. In file included from ././common/inc/nv-linux.h:34,
  54057. from nvidia-uvm/uvm_linux.h:40:
  54058. ././common/inc/nv-mm.h: At top level:
  54059. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  54060. 29 | typedef int vm_fault_t;
  54061. | ^~~~~~~~~~
  54062. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  54063. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  54064. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  54065. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  54066. from ././common/inc/nv-lock.h:35,
  54067. from ././common/inc/nv-linux.h:32:
  54068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  54069. 1311 | typedef __bitwise unsigned int vm_fault_t;
  54070. | ^~~~~~~~~~
  54071. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  54072. from ././common/inc/nv-time.h:28:
  54073. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  54074. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54075. 52 | #define current get_current()
  54076. | ^~~~~~~~~~~~~
  54077. | |
  54078. | struct task_struct *
  54079. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  54080. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54081. | ^~~~~~~
  54082. In file included from ././common/inc/nv-pgprot.h:30,
  54083. from ././common/inc/nv-linux.h:33:
  54084. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  54085. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54086. | ~~~~~~~~~~~~~~^~~~~
  54087. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54088. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54089. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54090. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54091. | ~~~~~~~~~~~~~~^~~~~~~~
  54092. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54093. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54094. | ^~~~~~~~
  54095. | |
  54096. | long unsigned int
  54097. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54098. 2535 | unsigned int gup_flags, struct page **pages);
  54099. | ~~~~~~~~~~~~~~^~~~~
  54100. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54101. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54102. | ^~~~~~~~~~~~~~ ~~~~~
  54103. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54104. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54105. | ^~~~~~~~~~~~~~
  54106. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  54107. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  54108. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  54109. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  54110. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  54111. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  54112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54113. 8 | #define NULL ((void *)0)
  54114. | ^~~~~~~~~~~
  54115. | |
  54116. | void *
  54117. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  54118. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54119. | ^~~~
  54120. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  54121. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54122. | ~~~~~~~~~~~~~~^~~~~
  54123. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54124. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54125. | ^~
  54126. | |
  54127. | struct mm_struct *
  54128. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54129. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54130. | ~~~~~~~~~~~~~~^~~~~~~~
  54131. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54132. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54133. | ^~~~~~~~
  54134. | |
  54135. | long unsigned int
  54136. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54137. 2535 | unsigned int gup_flags, struct page **pages);
  54138. | ~~~~~~~~~~~~~~^~~~~
  54139. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54140. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54141. | ^~~~~~~~~~~~~~ ~~~~~
  54142. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54143. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54144. | ^~~~~~~~~~~~~~
  54145. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  54146. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  54147. 237 | return (unsigned long)(vmf->virtual_address);
  54148. | ^~~~~~~~~~~~~~~
  54149. | real_address
  54150. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  54151. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54152. 246 | down_read(&mm->mmap_sem);
  54153. | ^~~~~~~~
  54154. | mmap_base
  54155. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  54156. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54157. 255 | up_read(&mm->mmap_sem);
  54158. | ^~~~~~~~
  54159. | mmap_base
  54160. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  54161. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54162. 264 | down_write(&mm->mmap_sem);
  54163. | ^~~~~~~~
  54164. | mmap_base
  54165. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  54166. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54167. 273 | up_write(&mm->mmap_sem);
  54168. | ^~~~~~~~
  54169. | mmap_base
  54170. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  54171. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54172. 282 | return rwsem_is_locked(&mm->mmap_sem);
  54173. | ^~~~~~~~
  54174. | mmap_base
  54175. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  54176. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54177. 291 | return &mm->mmap_sem;
  54178. | ^~~~~~~~
  54179. | mmap_base
  54180. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  54181. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  54182. 300 | vma->vm_flags |= flags;
  54183. | ^~
  54184. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  54185. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  54186. 309 | vma->vm_flags &= ~flags;
  54187. | ^~
  54188. In file included from ././common/inc/nv-linux.h:34,
  54189. from nvidia-uvm/uvm_linux.h:40:
  54190. ././common/inc/nv-mm.h: At top level:
  54191. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  54192. 29 | typedef int vm_fault_t;
  54193. | ^~~~~~~~~~
  54194. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  54195. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  54196. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  54197. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  54198. from ././common/inc/nv-lock.h:35,
  54199. from ././common/inc/nv-linux.h:32:
  54200. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  54201. 1311 | typedef __bitwise unsigned int vm_fault_t;
  54202. | ^~~~~~~~~~
  54203. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  54204. from ././common/inc/nv-time.h:28:
  54205. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  54206. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54207. 52 | #define current get_current()
  54208. | ^~~~~~~~~~~~~
  54209. | |
  54210. | struct task_struct *
  54211. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  54212. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54213. | ^~~~~~~
  54214. In file included from ././common/inc/nv-pgprot.h:30,
  54215. from ././common/inc/nv-linux.h:33:
  54216. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  54217. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54218. | ~~~~~~~~~~~~~~^~~~~
  54219. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54220. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54222. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54223. | ~~~~~~~~~~~~~~^~~~~~~~
  54224. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54225. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54226. | ^~~~~~~~
  54227. | |
  54228. | long unsigned int
  54229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54230. 2535 | unsigned int gup_flags, struct page **pages);
  54231. | ~~~~~~~~~~~~~~^~~~~
  54232. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54233. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54234. | ^~~~~~~~~~~~~~ ~~~~~
  54235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54236. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54237. | ^~~~~~~~~~~~~~
  54238. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  54239. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  54240. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  54241. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  54242. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  54243. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  54244. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54245. 8 | #define NULL ((void *)0)
  54246. | ^~~~~~~~~~~
  54247. | |
  54248. | void *
  54249. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  54250. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54251. | ^~~~
  54252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  54253. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54254. | ~~~~~~~~~~~~~~^~~~~
  54255. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54256. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54257. | ^~
  54258. | |
  54259. | struct mm_struct *
  54260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54261. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54262. | ~~~~~~~~~~~~~~^~~~~~~~
  54263. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54264. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54265. | ^~~~~~~~
  54266. | |
  54267. | long unsigned int
  54268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54269. 2535 | unsigned int gup_flags, struct page **pages);
  54270. | ~~~~~~~~~~~~~~^~~~~
  54271. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54272. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54273. | ^~~~~~~~~~~~~~ ~~~~~
  54274. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54275. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54276. | ^~~~~~~~~~~~~~
  54277. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  54278. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  54279. 237 | return (unsigned long)(vmf->virtual_address);
  54280. | ^~~~~~~~~~~~~~~
  54281. | real_address
  54282. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  54283. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54284. 246 | down_read(&mm->mmap_sem);
  54285. | ^~~~~~~~
  54286. | mmap_base
  54287. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  54288. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54289. 255 | up_read(&mm->mmap_sem);
  54290. | ^~~~~~~~
  54291. | mmap_base
  54292. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  54293. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54294. 264 | down_write(&mm->mmap_sem);
  54295. | ^~~~~~~~
  54296. | mmap_base
  54297. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  54298. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54299. 273 | up_write(&mm->mmap_sem);
  54300. | ^~~~~~~~
  54301. | mmap_base
  54302. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  54303. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54304. 282 | return rwsem_is_locked(&mm->mmap_sem);
  54305. | ^~~~~~~~
  54306. | mmap_base
  54307. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  54308. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54309. 291 | return &mm->mmap_sem;
  54310. | ^~~~~~~~
  54311. | mmap_base
  54312. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  54313. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  54314. 300 | vma->vm_flags |= flags;
  54315. | ^~
  54316. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  54317. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  54318. 309 | vma->vm_flags &= ~flags;
  54319. | ^~
  54320. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  54321. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54322. 502 | NV_MEMDBG_ADD(ptr, size);
  54323. | ^
  54324. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  54325. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  54326. 40 | struct timespec64 {
  54327. | ^~~~~~~~~~
  54328. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54329. 502 | NV_MEMDBG_ADD(ptr, size);
  54330. | ^
  54331. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  54332. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  54333. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  54334. from ././common/inc/nv-time.h:29:
  54335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  54336. 13 | struct timespec64 {
  54337. | ^~~~~~~~~~
  54338. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  54339. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  54340. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  54341. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  54342. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54343. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  54344. | ^
  54345. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54346. 573 | NV_MEMDBG_ADD(ptr, size);
  54347. | ^
  54348. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  54349. 77 | static inline struct timespec64 timespec64_add
  54350. | ^~~~~~~~~~~~~~
  54351. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  54352. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  54353. | ^~~~~~~~~~~~~~
  54354. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  54355. 95 | static inline struct timespec64 timespec64_sub
  54356. | ^~~~~~~~~~~~~~
  54357. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  54358. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  54359. | ^~~~~~~~~~~~~~
  54360. ././common/inc/nv-linux.h: In function 'nv_vmap':
  54361. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54362. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  54363. | ^
  54364. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  54365. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  54366. | ^~~~~~~~~~~~~~~~
  54367. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  54368. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  54369. | ^~~~~~~~~~~~~~~~
  54370. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  54371. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  54372. 122 | ktime_get_raw_ts64(&ts);
  54373. | ^~~
  54374. | |
  54375. | struct timespec64 *
  54376. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  54377. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  54378. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  54379. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  54380. from ././common/inc/nv-time.h:30:
  54381. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  54382. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  54383. | ~~~~~~~~~~~~~~~~~~~^~
  54384. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  54385. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  54386. 185 | ktime_get_raw_ts64(&tm_aux);
  54387. | ^~~~~~~
  54388. | |
  54389. | struct timespec64 *
  54390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  54391. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  54392. | ~~~~~~~~~~~~~~~~~~~^~
  54393. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  54394. 221 | ktime_get_raw_ts64(&tm_aux);
  54395. | ^~~~~~~
  54396. | |
  54397. | struct timespec64 *
  54398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  54399. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  54400. | ~~~~~~~~~~~~~~~~~~~^~
  54401. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  54402. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  54403. 736 | return phys_to_dma(dev, pa);
  54404. | ^~~~~~~~~~~
  54405. | nv_phys_to_dma
  54406. In file included from ././common/inc/nv-linux.h:34,
  54407. from nvidia-uvm/uvm_linux.h:40:
  54408. ././common/inc/nv-mm.h: At top level:
  54409. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  54410. 29 | typedef int vm_fault_t;
  54411. | ^~~~~~~~~~
  54412. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  54413. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  54414. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  54415. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  54416. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  54417. from ././common/inc/nv-lock.h:35,
  54418. from ././common/inc/nv-linux.h:32:
  54419. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  54420. 1311 | typedef __bitwise unsigned int vm_fault_t;
  54421. | ^~~~~~~~~~
  54422. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  54423. from ././common/inc/nv-time.h:28:
  54424. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  54425. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54426. 52 | #define current get_current()
  54427. | ^~~~~~~~~~~~~
  54428. | |
  54429. | struct task_struct *
  54430. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  54431. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54432. | ^~~~~~~
  54433. In file included from ././common/inc/nv-pgprot.h:30,
  54434. from ././common/inc/nv-linux.h:33:
  54435. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  54436. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54437. | ~~~~~~~~~~~~~~^~~~~
  54438. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54439. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54440. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54441. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54442. | ~~~~~~~~~~~~~~^~~~~~~~
  54443. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54444. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54445. | ^~~~~~~~
  54446. | |
  54447. | long unsigned int
  54448. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54449. 2535 | unsigned int gup_flags, struct page **pages);
  54450. | ~~~~~~~~~~~~~~^~~~~
  54451. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54452. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54453. | ^~~~~~~~~~~~~~ ~~~~~
  54454. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54455. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54456. | ^~~~~~~~~~~~~~
  54457. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  54458. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  54459. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  54460. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  54461. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  54462. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  54463. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54464. 8 | #define NULL ((void *)0)
  54465. | ^~~~~~~~~~~
  54466. | |
  54467. | void *
  54468. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  54469. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54470. | ^~~~
  54471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  54472. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54473. | ~~~~~~~~~~~~~~^~~~~
  54474. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54475. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54476. | ^~
  54477. | |
  54478. | struct mm_struct *
  54479. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54480. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54481. | ~~~~~~~~~~~~~~^~~~~~~~
  54482. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54483. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54484. | ^~~~~~~~
  54485. | |
  54486. | long unsigned int
  54487. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54488. 2535 | unsigned int gup_flags, struct page **pages);
  54489. | ~~~~~~~~~~~~~~^~~~~
  54490. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54491. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54492. | ^~~~~~~~~~~~~~ ~~~~~
  54493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54494. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54495. | ^~~~~~~~~~~~~~
  54496. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  54497. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  54498. 237 | return (unsigned long)(vmf->virtual_address);
  54499. | ^~~~~~~~~~~~~~~
  54500. | real_address
  54501. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  54502. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54503. 246 | down_read(&mm->mmap_sem);
  54504. | ^~~~~~~~
  54505. | mmap_base
  54506. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  54507. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54508. 255 | up_read(&mm->mmap_sem);
  54509. | ^~~~~~~~
  54510. | mmap_base
  54511. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  54512. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54513. 264 | down_write(&mm->mmap_sem);
  54514. | ^~~~~~~~
  54515. | mmap_base
  54516. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  54517. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54518. 273 | up_write(&mm->mmap_sem);
  54519. | ^~~~~~~~
  54520. | mmap_base
  54521. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  54522. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54523. 282 | return rwsem_is_locked(&mm->mmap_sem);
  54524. | ^~~~~~~~
  54525. | mmap_base
  54526. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  54527. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54528. 291 | return &mm->mmap_sem;
  54529. | ^~~~~~~~
  54530. | mmap_base
  54531. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  54532. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  54533. 300 | vma->vm_flags |= flags;
  54534. | ^~
  54535. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  54536. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  54537. 309 | vma->vm_flags &= ~flags;
  54538. | ^~
  54539. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  54540. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  54541. | ^~~~~~~~~~~~~~~~~~~~~~~
  54542. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54543. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54544. 520 | NV_MEMDBG_ADD(ptr, size);
  54545. | ^
  54546. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  54547. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54548. 502 | NV_MEMDBG_ADD(ptr, size);
  54549. | ^
  54550. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  54551. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  54552. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  54553. | ^~~~~~~~~~~~~~~~~~~~~~~
  54554. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54555. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54556. 520 | NV_MEMDBG_ADD(ptr, size);
  54557. | ^
  54558. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  54559. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  54560. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  54561. | ^~~~~~~~~~~~~
  54562. | d_is_dir
  54563. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  54564. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54565. 502 | NV_MEMDBG_ADD(ptr, size);
  54566. | ^
  54567. nvidia/linux_nvswitch.c: At top level:
  54568. nvidia/linux_nvswitch.c:52:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  54569. 52 | const static struct
  54570. | ^~~~~
  54571. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  54572. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  54573. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  54574. | ^~~~~~~~~~~~~~~~~~~~~~~
  54575. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54576. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54577. 520 | NV_MEMDBG_ADD(ptr, size);
  54578. | ^
  54579. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  54580. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  54581. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  54582. | ^~~~~~~~~~~~~~~~~~~~~~~
  54583. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54584. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54585. 520 | NV_MEMDBG_ADD(ptr, size);
  54586. | ^
  54587. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  54588. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  54589. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  54590. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  54591. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54592. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  54593. | ^
  54594. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54595. 573 | NV_MEMDBG_ADD(ptr, size);
  54596. | ^
  54597. ././common/inc/nv-linux.h: In function 'nv_vmap':
  54598. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54599. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  54600. | ^
  54601. nvidia/linux_nvswitch.c:1705:1: warning: no previous prototype for 'nvswitch_init' [-Wmissing-prototypes]
  54602. 1705 | nvswitch_init
  54603. | ^~~~~~~~~~~~~
  54604. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  54605. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  54606. 533 | ptr = ioremap_cache_shared(phys, size);
  54607. | ^~~~~~~~~~~~~~~~~~~~
  54608. | ioremap_cache
  54609. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54610. 533 | ptr = ioremap_cache_shared(phys, size);
  54611. | ^
  54612. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54613. 556 | NV_MEMDBG_ADD(ptr, size);
  54614. | ^
  54615. nvidia/linux_nvswitch.c:1790:1: warning: no previous prototype for 'nvswitch_exit' [-Wmissing-prototypes]
  54616. 1790 | nvswitch_exit
  54617. | ^~~~~~~~~~~~~
  54618. nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time':
  54619. nvidia/linux_nvswitch.c:1827:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  54620. 1827 | ktime_get_raw_ts64(&ts);
  54621. | ^~~
  54622. | |
  54623. | struct timespec64 *
  54624. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  54625. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  54626. | ~~~~~~~~~~~~~~~~~~~^~
  54627. nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time_epoch':
  54628. nvidia/linux_nvswitch.c:1849:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  54629. 1849 | ktime_get_real_ts64(&ts);
  54630. | ^~~
  54631. | |
  54632. | struct timespec64 *
  54633. /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 *'
  54634. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  54635. | ~~~~~~~~~~~~~~~~~~~^~
  54636. nvidia-uvm/nv-kthread-q.c: In function 'thread_create_on_node':
  54637. nvidia-uvm/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  54638. 179 | const static unsigned attempts = 3;
  54639. | ^~~~~
  54640. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  54641. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  54642. 736 | return phys_to_dma(dev, pa);
  54643. | ^~~~~~~~~~~
  54644. | nv_phys_to_dma
  54645. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  54646. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  54647. 533 | ptr = ioremap_cache_shared(phys, size);
  54648. | ^~~~~~~~~~~~~~~~~~~~
  54649. | ioremap_cache
  54650. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54651. 533 | ptr = ioremap_cache_shared(phys, size);
  54652. | ^
  54653. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54654. 556 | NV_MEMDBG_ADD(ptr, size);
  54655. | ^
  54656. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  54657. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  54658. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  54659. | ^~~~~~~~~~~~~~~~~~~~~~~
  54660. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54661. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54662. 520 | NV_MEMDBG_ADD(ptr, size);
  54663. | ^
  54664. In file included from ././common/inc/nv-linux.h:34,
  54665. from nvidia-uvm/uvm_linux.h:40:
  54666. ././common/inc/nv-mm.h: At top level:
  54667. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  54668. 29 | typedef int vm_fault_t;
  54669. | ^~~~~~~~~~
  54670. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  54671. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  54672. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  54673. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  54674. from ././common/inc/nv-lock.h:35,
  54675. from ././common/inc/nv-linux.h:32:
  54676. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  54677. 1311 | typedef __bitwise unsigned int vm_fault_t;
  54678. | ^~~~~~~~~~
  54679. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  54680. from ././common/inc/nv-time.h:28:
  54681. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  54682. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54683. 52 | #define current get_current()
  54684. | ^~~~~~~~~~~~~
  54685. | |
  54686. | struct task_struct *
  54687. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  54688. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54689. | ^~~~~~~
  54690. In file included from ././common/inc/nv-pgprot.h:30,
  54691. from ././common/inc/nv-linux.h:33:
  54692. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  54693. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54694. | ~~~~~~~~~~~~~~^~~~~
  54695. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54696. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54697. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54698. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54699. | ~~~~~~~~~~~~~~^~~~~~~~
  54700. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54701. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54702. | ^~~~~~~~
  54703. | |
  54704. | long unsigned int
  54705. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54706. 2535 | unsigned int gup_flags, struct page **pages);
  54707. | ~~~~~~~~~~~~~~^~~~~
  54708. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54709. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54710. | ^~~~~~~~~~~~~~ ~~~~~
  54711. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54712. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54713. | ^~~~~~~~~~~~~~
  54714. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  54715. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  54716. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  54717. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  54718. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  54719. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  54720. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54721. 8 | #define NULL ((void *)0)
  54722. | ^~~~~~~~~~~
  54723. | |
  54724. | void *
  54725. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  54726. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54727. | ^~~~
  54728. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  54729. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54730. | ~~~~~~~~~~~~~~^~~~~
  54731. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54732. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54733. | ^~
  54734. | |
  54735. | struct mm_struct *
  54736. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54737. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54738. | ~~~~~~~~~~~~~~^~~~~~~~
  54739. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54740. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54741. | ^~~~~~~~
  54742. | |
  54743. | long unsigned int
  54744. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54745. 2535 | unsigned int gup_flags, struct page **pages);
  54746. | ~~~~~~~~~~~~~~^~~~~
  54747. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54748. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54749. | ^~~~~~~~~~~~~~ ~~~~~
  54750. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54751. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54752. | ^~~~~~~~~~~~~~
  54753. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  54754. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  54755. 237 | return (unsigned long)(vmf->virtual_address);
  54756. | ^~~~~~~~~~~~~~~
  54757. | real_address
  54758. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  54759. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54760. 246 | down_read(&mm->mmap_sem);
  54761. | ^~~~~~~~
  54762. | mmap_base
  54763. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  54764. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54765. 255 | up_read(&mm->mmap_sem);
  54766. | ^~~~~~~~
  54767. | mmap_base
  54768. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  54769. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54770. 264 | down_write(&mm->mmap_sem);
  54771. | ^~~~~~~~
  54772. | mmap_base
  54773. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  54774. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54775. 273 | up_write(&mm->mmap_sem);
  54776. | ^~~~~~~~
  54777. | mmap_base
  54778. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  54779. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54780. 282 | return rwsem_is_locked(&mm->mmap_sem);
  54781. | ^~~~~~~~
  54782. | mmap_base
  54783. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  54784. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54785. 291 | return &mm->mmap_sem;
  54786. | ^~~~~~~~
  54787. | mmap_base
  54788. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  54789. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  54790. 300 | vma->vm_flags |= flags;
  54791. | ^~
  54792. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  54793. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  54794. 309 | vma->vm_flags &= ~flags;
  54795. | ^~
  54796. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/nv-kthread-q.o] Error 1
  54797. CC [M] nvidia-uvm/uvm_gpu.o
  54798. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  54799. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  54800. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  54801. | ^~~~~~~~~~~~~
  54802. | d_is_dir
  54803. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  54804. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  54805. 533 | ptr = ioremap_cache_shared(phys, size);
  54806. | ^~~~~~~~~~~~~~~~~~~~
  54807. | ioremap_cache
  54808. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54809. 533 | ptr = ioremap_cache_shared(phys, size);
  54810. | ^
  54811. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54812. 556 | NV_MEMDBG_ADD(ptr, size);
  54813. | ^
  54814. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/linux_nvswitch.o] Error 1
  54815. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  54816. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  54817. 533 | ptr = ioremap_cache_shared(phys, size);
  54818. | ^~~~~~~~~~~~~~~~~~~~
  54819. | ioremap_cache
  54820. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54821. 533 | ptr = ioremap_cache_shared(phys, size);
  54822. | ^
  54823. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54824. 556 | NV_MEMDBG_ADD(ptr, size);
  54825. | ^
  54826. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  54827. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  54828. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  54829. | ^~~~~~~~~~~~~~~~~~~~~~~
  54830. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54831. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54832. 520 | NV_MEMDBG_ADD(ptr, size);
  54833. | ^
  54834. CC [M] nvidia-uvm/uvm_gpu_isr.o
  54835. In file included from ././common/inc/conftest.h:28,
  54836. from ././common/inc/nv-time.h:27,
  54837. from ././nvidia-uvm/uvm_linux.h:37,
  54838. from ././common/inc/nv_uvm_interface.h:37,
  54839. from nvidia-uvm/uvm_gpu.c:24:
  54840. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  54841. 74 | #error dma_buf_export() conftest failed!
  54842. | ^~~~~
  54843. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  54844. 87 | #error wait_on_bit_lock() conftest failed!
  54845. | ^~~~~
  54846. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  54847. 90 | #error radix_tree_replace_slot() conftest failed!
  54848. | ^~~~~
  54849. In file included from ././common/inc/nv-procfs.h:26,
  54850. from nvidia/nvlink_linux.c:31:
  54851. nvidia/nvlink_linux.c: In function 'nvlink_permissions_init':
  54852. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  54853. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  54854. | ^~~~
  54855. | |
  54856. | const nv_proc_ops_t * {aka const struct file_operations *}
  54857. nvidia/nvlink_linux.c:115:26: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  54858. 115 | nvlink_permissions = NV_CREATE_PROC_FILE("permissions",
  54859. | ^~~~~~~~~~~~~~~~~~~
  54860. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  54861. from ././common/inc/nv-linux.h:220:
  54862. /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 *'}
  54863. 111 | const struct proc_ops *,
  54864. | ^~~~~~~~~~~~~~~~~~~~~~~
  54865. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  54866. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  54867. 533 | ptr = ioremap_cache_shared(phys, size);
  54868. | ^~~~~~~~~~~~~~~~~~~~
  54869. | ioremap_cache
  54870. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  54871. 533 | ptr = ioremap_cache_shared(phys, size);
  54872. | ^
  54873. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  54874. 556 | NV_MEMDBG_ADD(ptr, size);
  54875. | ^
  54876. nvidia/nvlink_linux.c: At top level:
  54877. nvidia/nvlink_linux.c:313:12: warning: no previous prototype for 'nvlink_core_init' [-Wmissing-prototypes]
  54878. 313 | int __init nvlink_core_init(void)
  54879. | ^~~~~~~~~~~~~~~~
  54880. nvidia/nvlink_linux.c:389:6: warning: no previous prototype for 'nvlink_core_exit' [-Wmissing-prototypes]
  54881. 389 | void nvlink_core_exit(void)
  54882. | ^~~~~~~~~~~~~~~~
  54883. In file included from ././common/inc/nv-linux.h:34,
  54884. from nvidia-uvm/nv-kthread-q-selftest.c:39:
  54885. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  54886. 29 | typedef int vm_fault_t;
  54887. | ^~~~~~~~~~
  54888. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  54889. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  54890. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4,
  54891. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9,
  54892. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17,
  54893. from nvidia-uvm/nv-kthread-q-selftest.c:29:
  54894. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  54895. 1311 | typedef __bitwise unsigned int vm_fault_t;
  54896. | ^~~~~~~~~~
  54897. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  54898. from ././common/inc/nv-kthread-q.h:29:
  54899. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  54900. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54901. 52 | #define current get_current()
  54902. | ^~~~~~~~~~~~~
  54903. | |
  54904. | struct task_struct *
  54905. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  54906. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54907. | ^~~~~~~
  54908. In file included from nvidia-uvm/nv-kthread-q-selftest.c:31:
  54909. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  54910. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54911. | ~~~~~~~~~~~~~~^~~~~
  54912. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54913. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54914. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54915. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54916. | ~~~~~~~~~~~~~~^~~~~~~~
  54917. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54918. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54919. | ^~~~~~~~
  54920. | |
  54921. | long unsigned int
  54922. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54923. 2535 | unsigned int gup_flags, struct page **pages);
  54924. | ~~~~~~~~~~~~~~^~~~~
  54925. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54926. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  54927. | ^~~~~~~~~~~~~~ ~~~~~
  54928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54929. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54930. | ^~~~~~~~~~~~~~
  54931. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  54932. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  54933. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  54934. from ././common/inc/nv-kthread-q.h:27:
  54935. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  54936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54937. 8 | #define NULL ((void *)0)
  54938. | ^~~~~~~~~~~
  54939. | |
  54940. | void *
  54941. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  54942. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54943. | ^~~~
  54944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  54945. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54946. | ~~~~~~~~~~~~~~^~~~~
  54947. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  54948. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54949. | ^~
  54950. | |
  54951. | struct mm_struct *
  54952. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  54953. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54954. | ~~~~~~~~~~~~~~^~~~~~~~
  54955. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  54956. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54957. | ^~~~~~~~
  54958. | |
  54959. | long unsigned int
  54960. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  54961. 2535 | unsigned int gup_flags, struct page **pages);
  54962. | ~~~~~~~~~~~~~~^~~~~
  54963. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  54964. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  54965. | ^~~~~~~~~~~~~~ ~~~~~
  54966. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  54967. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  54968. | ^~~~~~~~~~~~~~
  54969. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  54970. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  54971. 237 | return (unsigned long)(vmf->virtual_address);
  54972. | ^~~~~~~~~~~~~~~
  54973. | real_address
  54974. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  54975. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54976. 246 | down_read(&mm->mmap_sem);
  54977. | ^~~~~~~~
  54978. | mmap_base
  54979. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  54980. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54981. 255 | up_read(&mm->mmap_sem);
  54982. | ^~~~~~~~
  54983. | mmap_base
  54984. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  54985. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54986. 264 | down_write(&mm->mmap_sem);
  54987. | ^~~~~~~~
  54988. | mmap_base
  54989. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  54990. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54991. 273 | up_write(&mm->mmap_sem);
  54992. | ^~~~~~~~
  54993. | mmap_base
  54994. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  54995. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  54996. 282 | return rwsem_is_locked(&mm->mmap_sem);
  54997. | ^~~~~~~~
  54998. | mmap_base
  54999. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  55000. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55001. 291 | return &mm->mmap_sem;
  55002. | ^~~~~~~~
  55003. | mmap_base
  55004. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  55005. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  55006. 300 | vma->vm_flags |= flags;
  55007. | ^~
  55008. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  55009. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  55010. 309 | vma->vm_flags &= ~flags;
  55011. | ^~
  55012. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  55013. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  55014. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55015. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  55016. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55017. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55018. | ^
  55019. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55020. 573 | NV_MEMDBG_ADD(ptr, size);
  55021. | ^
  55022. In file included from ././common/inc/conftest.h:28,
  55023. from ././common/inc/nv-time.h:27,
  55024. from nvidia-uvm/uvm_linux.h:37,
  55025. from nvidia-uvm/uvm_common.h:43,
  55026. from nvidia-uvm/uvm_api.h:28,
  55027. from nvidia-uvm/uvm_gpu_isr.c:24:
  55028. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  55029. 74 | #error dma_buf_export() conftest failed!
  55030. | ^~~~~
  55031. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  55032. 87 | #error wait_on_bit_lock() conftest failed!
  55033. | ^~~~~
  55034. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  55035. 90 | #error radix_tree_replace_slot() conftest failed!
  55036. | ^~~~~
  55037. ././common/inc/nv-linux.h: In function 'nv_vmap':
  55038. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55039. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  55040. | ^
  55041. In file included from ././common/inc/nv-linux.h:34,
  55042. from nvidia-uvm/uvm_linux.h:40:
  55043. ././common/inc/nv-mm.h: At top level:
  55044. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  55045. 29 | typedef int vm_fault_t;
  55046. | ^~~~~~~~~~
  55047. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  55048. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  55049. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  55050. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  55051. from ././common/inc/nv-lock.h:35,
  55052. from ././common/inc/nv-linux.h:32:
  55053. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  55054. 1311 | typedef __bitwise unsigned int vm_fault_t;
  55055. | ^~~~~~~~~~
  55056. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  55057. from ././common/inc/nv-time.h:28:
  55058. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  55059. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  55060. 52 | #define current get_current()
  55061. | ^~~~~~~~~~~~~
  55062. | |
  55063. | struct task_struct *
  55064. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  55065. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  55066. | ^~~~~~~
  55067. In file included from ././common/inc/nv-pgprot.h:30,
  55068. from ././common/inc/nv-linux.h:33:
  55069. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  55070. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55071. | ~~~~~~~~~~~~~~^~~~~
  55072. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  55073. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  55074. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  55075. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55076. | ~~~~~~~~~~~~~~^~~~~~~~
  55077. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  55078. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  55079. | ^~~~~~~~
  55080. | |
  55081. | long unsigned int
  55082. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  55083. 2535 | unsigned int gup_flags, struct page **pages);
  55084. | ~~~~~~~~~~~~~~^~~~~
  55085. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  55086. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  55087. | ^~~~~~~~~~~~~~ ~~~~~
  55088. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  55089. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55090. | ^~~~~~~~~~~~~~
  55091. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  55092. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  55093. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  55094. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  55095. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  55096. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  55097. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  55098. 8 | #define NULL ((void *)0)
  55099. | ^~~~~~~~~~~
  55100. | |
  55101. | void *
  55102. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  55103. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  55104. | ^~~~
  55105. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  55106. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55107. | ~~~~~~~~~~~~~~^~~~~
  55108. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  55109. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  55110. | ^~
  55111. | |
  55112. | struct mm_struct *
  55113. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  55114. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55115. | ~~~~~~~~~~~~~~^~~~~~~~
  55116. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  55117. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  55118. | ^~~~~~~~
  55119. | |
  55120. | long unsigned int
  55121. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  55122. 2535 | unsigned int gup_flags, struct page **pages);
  55123. | ~~~~~~~~~~~~~~^~~~~
  55124. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  55125. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  55126. | ^~~~~~~~~~~~~~ ~~~~~
  55127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  55128. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55129. | ^~~~~~~~~~~~~~
  55130. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  55131. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  55132. 237 | return (unsigned long)(vmf->virtual_address);
  55133. | ^~~~~~~~~~~~~~~
  55134. | real_address
  55135. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  55136. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55137. 246 | down_read(&mm->mmap_sem);
  55138. | ^~~~~~~~
  55139. | mmap_base
  55140. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  55141. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55142. 255 | up_read(&mm->mmap_sem);
  55143. | ^~~~~~~~
  55144. | mmap_base
  55145. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  55146. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55147. 264 | down_write(&mm->mmap_sem);
  55148. | ^~~~~~~~
  55149. | mmap_base
  55150. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  55151. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55152. 273 | up_write(&mm->mmap_sem);
  55153. | ^~~~~~~~
  55154. | mmap_base
  55155. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  55156. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55157. 282 | return rwsem_is_locked(&mm->mmap_sem);
  55158. | ^~~~~~~~
  55159. | mmap_base
  55160. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  55161. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55162. 291 | return &mm->mmap_sem;
  55163. | ^~~~~~~~
  55164. | mmap_base
  55165. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  55166. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  55167. 300 | vma->vm_flags |= flags;
  55168. | ^~
  55169. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  55170. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  55171. 309 | vma->vm_flags &= ~flags;
  55172. | ^~
  55173. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  55174. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  55175. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55176. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  55177. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55178. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55179. | ^
  55180. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55181. 573 | NV_MEMDBG_ADD(ptr, size);
  55182. | ^
  55183. In file included from ././common/inc/nv-linux.h:37:
  55184. ././common/inc/nv-time.h: At top level:
  55185. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  55186. 40 | struct timespec64 {
  55187. | ^~~~~~~~~~
  55188. ././common/inc/nv-linux.h: In function 'nv_vmap':
  55189. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55190. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  55191. | ^
  55192. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  55193. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  55194. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13:
  55195. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  55196. 13 | struct timespec64 {
  55197. | ^~~~~~~~~~
  55198. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  55199. 77 | static inline struct timespec64 timespec64_add
  55200. | ^~~~~~~~~~~~~~
  55201. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  55202. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  55203. | ^~~~~~~~~~~~~~
  55204. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  55205. 95 | static inline struct timespec64 timespec64_sub
  55206. | ^~~~~~~~~~~~~~
  55207. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  55208. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  55209. | ^~~~~~~~~~~~~~
  55210. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  55211. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  55212. | ^~~~~~~~~~~~~~~~
  55213. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  55214. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  55215. | ^~~~~~~~~~~~~~~~
  55216. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  55217. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55218. 122 | ktime_get_raw_ts64(&ts);
  55219. | ^~~
  55220. | |
  55221. | struct timespec64 *
  55222. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  55223. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  55224. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  55225. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  55226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55227. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55228. | ~~~~~~~~~~~~~~~~~~~^~
  55229. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  55230. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55231. 185 | ktime_get_raw_ts64(&tm_aux);
  55232. | ^~~~~~~
  55233. | |
  55234. | struct timespec64 *
  55235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55236. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55237. | ~~~~~~~~~~~~~~~~~~~^~
  55238. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55239. 221 | ktime_get_raw_ts64(&tm_aux);
  55240. | ^~~~~~~
  55241. | |
  55242. | struct timespec64 *
  55243. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55244. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55245. | ~~~~~~~~~~~~~~~~~~~^~
  55246. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  55247. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  55248. 736 | return phys_to_dma(dev, pa);
  55249. | ^~~~~~~~~~~
  55250. | nv_phys_to_dma
  55251. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  55252. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  55253. 736 | return phys_to_dma(dev, pa);
  55254. | ^~~~~~~~~~~
  55255. | nv_phys_to_dma
  55256. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  55257. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  55258. 533 | ptr = ioremap_cache_shared(phys, size);
  55259. | ^~~~~~~~~~~~~~~~~~~~
  55260. | ioremap_cache
  55261. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55262. 533 | ptr = ioremap_cache_shared(phys, size);
  55263. | ^
  55264. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55265. 556 | NV_MEMDBG_ADD(ptr, size);
  55266. | ^
  55267. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  55268. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55269. 502 | NV_MEMDBG_ADD(ptr, size);
  55270. | ^
  55271. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  55272. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  55273. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  55274. | ^~~~~~~~~~~~~
  55275. | d_is_dir
  55276. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  55277. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  55278. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55279. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  55280. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55281. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55282. | ^
  55283. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55284. 573 | NV_MEMDBG_ADD(ptr, size);
  55285. | ^
  55286. ././common/inc/nv-linux.h: In function 'nv_vmap':
  55287. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55288. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  55289. | ^
  55290. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  55291. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  55292. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55293. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  55294. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55295. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55296. | ^
  55297. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55298. 573 | NV_MEMDBG_ADD(ptr, size);
  55299. | ^
  55300. ././common/inc/nv-linux.h: In function 'nv_vmap':
  55301. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55302. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  55303. | ^
  55304. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  55305. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  55306. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  55307. | ^~~~~~~~~~~~~
  55308. | d_is_dir
  55309. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nvlink_linux.o] Error 1
  55310. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  55311. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  55312. 736 | return phys_to_dma(dev, pa);
  55313. | ^~~~~~~~~~~
  55314. | nv_phys_to_dma
  55315. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  55316. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  55317. 736 | return phys_to_dma(dev, pa);
  55318. | ^~~~~~~~~~~
  55319. | nv_phys_to_dma
  55320. CC [M] nvidia-uvm/uvm_procfs.o
  55321. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  55322. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  55323. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55324. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  55325. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55326. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55327. | ^
  55328. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55329. 573 | NV_MEMDBG_ADD(ptr, size);
  55330. | ^
  55331. In file included from ././common/inc/nv-procfs.h:26,
  55332. from nvidia/procfs_nvswitch.c:25:
  55333. nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_device_add':
  55334. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  55335. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  55336. | ^~~~
  55337. | |
  55338. | const nv_proc_ops_t * {aka const struct file_operations *}
  55339. nvidia/procfs_nvswitch.c:135:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  55340. 135 | entry = NV_CREATE_PROC_FILE("information", device_dir, device_info,
  55341. | ^~~~~~~~~~~~~~~~~~~
  55342. ././common/inc/nv-linux.h: In function 'nv_vmap':
  55343. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55344. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  55345. | ^
  55346. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  55347. from ././common/inc/nv-linux.h:220:
  55348. /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 *'}
  55349. 111 | const struct proc_ops *,
  55350. | ^~~~~~~~~~~~~~~~~~~~~~~
  55351. nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_init':
  55352. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  55353. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  55354. | ^~~~
  55355. | |
  55356. | const nv_proc_ops_t * {aka const struct file_operations *}
  55357. nvidia/procfs_nvswitch.c:174:28: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  55358. 174 | nvswitch_permissions = NV_CREATE_PROC_FILE("permissions",
  55359. | ^~~~~~~~~~~~~~~~~~~
  55360. /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 *'}
  55361. 111 | const struct proc_ops *,
  55362. | ^~~~~~~~~~~~~~~~~~~~~~~
  55363. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  55364. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55365. 502 | NV_MEMDBG_ADD(ptr, size);
  55366. | ^
  55367. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  55368. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  55369. 736 | return phys_to_dma(dev, pa);
  55370. | ^~~~~~~~~~~
  55371. | nv_phys_to_dma
  55372. In file included from ././common/inc/conftest.h:28,
  55373. from ././common/inc/nv-time.h:27,
  55374. from nvidia-uvm/uvm_linux.h:37,
  55375. from nvidia-uvm/uvm_extern_decl.h:27,
  55376. from nvidia-uvm/uvm_global.h:28,
  55377. from nvidia-uvm/uvm_procfs.c:24:
  55378. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  55379. 74 | #error dma_buf_export() conftest failed!
  55380. | ^~~~~
  55381. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  55382. 87 | #error wait_on_bit_lock() conftest failed!
  55383. | ^~~~~
  55384. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  55385. 90 | #error radix_tree_replace_slot() conftest failed!
  55386. | ^~~~~
  55387. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/procfs_nvswitch.o] Error 1
  55388. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  55389. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  55390. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  55391. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  55392. | ^~~~~~~~~~~~~
  55393. | d_is_dir
  55394. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  55395. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  55396. | ^~~~~~~~~~~~~
  55397. | d_is_dir
  55398. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/i2c_nvswitch.o] Error 1
  55399. CC [M] nvidia-uvm/uvm_va_space.o
  55400. CC [M] nvidia-uvm/uvm_va_space_mm.o
  55401. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  55402. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55403. 502 | NV_MEMDBG_ADD(ptr, size);
  55404. | ^
  55405. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  55406. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  55407. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  55408. | ^~~~~~~~~~~~~
  55409. | d_is_dir
  55410. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  55411. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  55412. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55413. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  55414. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55415. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55416. | ^
  55417. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55418. 573 | NV_MEMDBG_ADD(ptr, size);
  55419. | ^
  55420. ././common/inc/nv-linux.h: In function 'nv_vmap':
  55421. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55422. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  55423. | ^
  55424. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  55425. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55426. 287 | ktime_get_raw_ts64(&tm);
  55427. | ^~~
  55428. | |
  55429. | struct timespec64 *
  55430. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55431. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55432. | ~~~~~~~~~~~~~~~~~~~^~
  55433. nvidia-uvm/uvm_linux.h: At top level:
  55434. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55435. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  55436. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55437. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55438. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  55439. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55440. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  55441. 449 | #error "Unknown number of arguments"
  55442. | ^~~~~
  55443. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  55444. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55445. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  55446. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55447. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  55448. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  55449. | ^~~~~~~~~~~~~~~~~~~~~~~
  55450. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55451. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  55452. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55453. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  55454. 485 | #error "Unknown number of arguments"
  55455. | ^~~~~
  55456. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55457. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55458. 520 | NV_MEMDBG_ADD(ptr, size);
  55459. | ^
  55460. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  55461. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55462. 287 | ktime_get_raw_ts64(&tm);
  55463. | ^~~
  55464. | |
  55465. | struct timespec64 *
  55466. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55467. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55468. | ~~~~~~~~~~~~~~~~~~~^~
  55469. nvidia-uvm/uvm_linux.h: At top level:
  55470. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55471. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  55472. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55473. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55474. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  55475. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55476. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  55477. 449 | #error "Unknown number of arguments"
  55478. | ^~~~~
  55479. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55480. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  55481. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55482. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55483. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  55484. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55485. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  55486. 485 | #error "Unknown number of arguments"
  55487. | ^~~~~
  55488. In file included from ././common/inc/conftest.h:28,
  55489. from ././common/inc/nv-time.h:27,
  55490. from nvidia-uvm/uvm_linux.h:37,
  55491. from nvidia-uvm/uvm_common.h:43,
  55492. from nvidia-uvm/uvm_va_space_mm.c:24:
  55493. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  55494. 74 | #error dma_buf_export() conftest failed!
  55495. | ^~~~~
  55496. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  55497. 87 | #error wait_on_bit_lock() conftest failed!
  55498. | ^~~~~
  55499. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  55500. 90 | #error radix_tree_replace_slot() conftest failed!
  55501. | ^~~~~
  55502. In file included from ././common/inc/conftest.h:28,
  55503. from ././common/inc/nv-time.h:27,
  55504. from nvidia-uvm/uvm_linux.h:37,
  55505. from nvidia-uvm/uvm_common.h:43,
  55506. from nvidia-uvm/uvm_api.h:28,
  55507. from nvidia-uvm/uvm_va_space.c:24:
  55508. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  55509. 74 | #error dma_buf_export() conftest failed!
  55510. | ^~~~~
  55511. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  55512. 87 | #error wait_on_bit_lock() conftest failed!
  55513. | ^~~~~
  55514. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  55515. 90 | #error radix_tree_replace_slot() conftest failed!
  55516. | ^~~~~
  55517. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  55518. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55519. 287 | ktime_get_raw_ts64(&tm);
  55520. | ^~~
  55521. | |
  55522. | struct timespec64 *
  55523. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55524. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55525. | ~~~~~~~~~~~~~~~~~~~^~
  55526. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  55527. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  55528. 736 | return phys_to_dma(dev, pa);
  55529. | ^~~~~~~~~~~
  55530. | nv_phys_to_dma
  55531. ././nvidia-uvm/uvm_linux.h: At top level:
  55532. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55533. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  55534. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55535. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55536. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  55537. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55538. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  55539. 449 | #error "Unknown number of arguments"
  55540. | ^~~~~
  55541. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55542. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  55543. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55544. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55545. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  55546. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55547. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  55548. 485 | #error "Unknown number of arguments"
  55549. | ^~~~~
  55550. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  55551. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  55552. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  55553. | ^~~~~~~~~~~~~~~~~~~~~~~
  55554. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55555. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55556. 520 | NV_MEMDBG_ADD(ptr, size);
  55557. | ^
  55558. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  55559. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  55560. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  55561. | ^~~~~~~~~~~~~
  55562. | d_is_dir
  55563. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  55564. In file included from ././common/inc/nv-linux.h:34,
  55565. from nvidia-uvm/uvm_linux.h:40:
  55566. ././common/inc/nv-mm.h: At top level:
  55567. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55568. 502 | NV_MEMDBG_ADD(ptr, size);
  55569. | ^
  55570. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  55571. 29 | typedef int vm_fault_t;
  55572. | ^~~~~~~~~~
  55573. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  55574. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  55575. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  55576. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  55577. from ././common/inc/nv-lock.h:35,
  55578. from ././common/inc/nv-linux.h:32:
  55579. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  55580. 1311 | typedef __bitwise unsigned int vm_fault_t;
  55581. | ^~~~~~~~~~
  55582. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  55583. from ././common/inc/nv-time.h:28:
  55584. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  55585. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  55586. 52 | #define current get_current()
  55587. | ^~~~~~~~~~~~~
  55588. | |
  55589. | struct task_struct *
  55590. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  55591. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  55592. | ^~~~~~~
  55593. In file included from ././common/inc/nv-pgprot.h:30,
  55594. from ././common/inc/nv-linux.h:33:
  55595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  55596. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55597. | ~~~~~~~~~~~~~~^~~~~
  55598. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  55599. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  55600. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  55601. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55602. | ~~~~~~~~~~~~~~^~~~~~~~
  55603. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  55604. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  55605. | ^~~~~~~~
  55606. | |
  55607. | long unsigned int
  55608. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  55609. 2535 | unsigned int gup_flags, struct page **pages);
  55610. | ~~~~~~~~~~~~~~^~~~~
  55611. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  55612. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  55613. | ^~~~~~~~~~~~~~ ~~~~~
  55614. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  55615. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55616. | ^~~~~~~~~~~~~~
  55617. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  55618. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  55619. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  55620. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  55621. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  55622. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  55623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  55624. 8 | #define NULL ((void *)0)
  55625. | ^~~~~~~~~~~
  55626. | |
  55627. | void *
  55628. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  55629. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  55630. | ^~~~
  55631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  55632. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55633. | ~~~~~~~~~~~~~~^~~~~
  55634. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  55635. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  55636. | ^~
  55637. | |
  55638. | struct mm_struct *
  55639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  55640. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55641. | ~~~~~~~~~~~~~~^~~~~~~~
  55642. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  55643. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  55644. | ^~~~~~~~
  55645. | |
  55646. | long unsigned int
  55647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  55648. 2535 | unsigned int gup_flags, struct page **pages);
  55649. | ~~~~~~~~~~~~~~^~~~~
  55650. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  55651. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  55652. | ^~~~~~~~~~~~~~ ~~~~~
  55653. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  55654. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  55655. | ^~~~~~~~~~~~~~
  55656. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  55657. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  55658. 237 | return (unsigned long)(vmf->virtual_address);
  55659. | ^~~~~~~~~~~~~~~
  55660. | real_address
  55661. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  55662. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55663. 246 | down_read(&mm->mmap_sem);
  55664. | ^~~~~~~~
  55665. | mmap_base
  55666. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  55667. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55668. 255 | up_read(&mm->mmap_sem);
  55669. | ^~~~~~~~
  55670. | mmap_base
  55671. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  55672. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55673. 264 | down_write(&mm->mmap_sem);
  55674. | ^~~~~~~~
  55675. | mmap_base
  55676. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  55677. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55678. 273 | up_write(&mm->mmap_sem);
  55679. | ^~~~~~~~
  55680. | mmap_base
  55681. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  55682. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55683. 282 | return rwsem_is_locked(&mm->mmap_sem);
  55684. | ^~~~~~~~
  55685. | mmap_base
  55686. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  55687. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  55688. 291 | return &mm->mmap_sem;
  55689. | ^~~~~~~~
  55690. | mmap_base
  55691. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  55692. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  55693. 300 | vma->vm_flags |= flags;
  55694. | ^~
  55695. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  55696. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  55697. 309 | vma->vm_flags &= ~flags;
  55698. | ^~
  55699. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  55700. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  55701. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  55702. | ^~~~~~~~~~~~~~~~~~~~~~~
  55703. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55704. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55705. 520 | NV_MEMDBG_ADD(ptr, size);
  55706. | ^
  55707. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  55708. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  55709. 533 | ptr = ioremap_cache_shared(phys, size);
  55710. | ^~~~~~~~~~~~~~~~~~~~
  55711. | ioremap_cache
  55712. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55713. 533 | ptr = ioremap_cache_shared(phys, size);
  55714. | ^
  55715. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55716. 556 | NV_MEMDBG_ADD(ptr, size);
  55717. | ^
  55718. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  55719. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55720. 287 | ktime_get_raw_ts64(&tm);
  55721. | ^~~
  55722. | |
  55723. | struct timespec64 *
  55724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55725. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55726. | ~~~~~~~~~~~~~~~~~~~^~
  55727. nvidia-uvm/uvm_linux.h: At top level:
  55728. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55729. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  55730. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55731. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55732. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  55733. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55734. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  55735. 449 | #error "Unknown number of arguments"
  55736. | ^~~~~
  55737. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55738. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  55739. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55740. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  55741. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  55742. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55743. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  55744. 485 | #error "Unknown number of arguments"
  55745. | ^~~~~
  55746. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  55747. from nvidia-uvm/uvm_gpu.h:37:
  55748. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  55749. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  55750. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  55751. | ^~~~~~~~~~~~~~~~~~~~
  55752. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  55753. from nvidia-uvm/uvm_gpu.h:37,
  55754. from nvidia-uvm/uvm_global.h:32,
  55755. from nvidia-uvm/uvm_conf_computing.c:25:
  55756. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  55757. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  55758. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  55759. | ^~~~~~~~~~~~~~~~~~~~
  55760. In file included from ././nvidia-uvm/uvm_pmm_gpu.h:55,
  55761. from ././nvidia-uvm/uvm_gpu.h:37,
  55762. from nvidia-uvm/uvm_sec2_test.c:25:
  55763. ././nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  55764. ././nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  55765. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  55766. | ^~~~~~~~~~~~~~~~~~~~
  55767. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  55768. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  55769. 533 | ptr = ioremap_cache_shared(phys, size);
  55770. | ^~~~~~~~~~~~~~~~~~~~
  55771. | ioremap_cache
  55772. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55773. 533 | ptr = ioremap_cache_shared(phys, size);
  55774. | ^
  55775. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55776. 556 | NV_MEMDBG_ADD(ptr, size);
  55777. | ^
  55778. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  55779. 40 | struct timespec64 {
  55780. | ^~~~~~~~~~
  55781. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  55782. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  55783. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  55784. from ././common/inc/nv-time.h:29:
  55785. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  55786. 13 | struct timespec64 {
  55787. | ^~~~~~~~~~
  55788. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  55789. 77 | static inline struct timespec64 timespec64_add
  55790. | ^~~~~~~~~~~~~~
  55791. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  55792. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55793. 502 | NV_MEMDBG_ADD(ptr, size);
  55794. | ^
  55795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  55796. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  55797. | ^~~~~~~~~~~~~~
  55798. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  55799. 95 | static inline struct timespec64 timespec64_sub
  55800. | ^~~~~~~~~~~~~~
  55801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  55802. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  55803. | ^~~~~~~~~~~~~~
  55804. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  55805. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  55806. | ^~~~~~~~~~~~~~~~
  55807. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  55808. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  55809. | ^~~~~~~~~~~~~~~~
  55810. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  55811. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55812. 122 | ktime_get_raw_ts64(&ts);
  55813. | ^~~
  55814. | |
  55815. | struct timespec64 *
  55816. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  55817. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  55818. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  55819. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  55820. from ././common/inc/nv-time.h:30:
  55821. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55822. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55823. | ~~~~~~~~~~~~~~~~~~~^~
  55824. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  55825. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55826. 185 | ktime_get_raw_ts64(&tm_aux);
  55827. | ^~~~~~~
  55828. | |
  55829. | struct timespec64 *
  55830. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55831. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55832. | ~~~~~~~~~~~~~~~~~~~^~
  55833. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55834. 221 | ktime_get_raw_ts64(&tm_aux);
  55835. | ^~~~~~~
  55836. | |
  55837. | struct timespec64 *
  55838. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55839. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55840. | ~~~~~~~~~~~~~~~~~~~^~
  55841. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  55842. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  55843. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  55844. | ^~~~~~~~~~~~~~~~~~~~~~~
  55845. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55846. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55847. 520 | NV_MEMDBG_ADD(ptr, size);
  55848. | ^
  55849. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  55850. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  55851. 533 | ptr = ioremap_cache_shared(phys, size);
  55852. | ^~~~~~~~~~~~~~~~~~~~
  55853. | ioremap_cache
  55854. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55855. 533 | ptr = ioremap_cache_shared(phys, size);
  55856. | ^
  55857. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55858. 556 | NV_MEMDBG_ADD(ptr, size);
  55859. | ^
  55860. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  55861. 40 | struct timespec64 {
  55862. | ^~~~~~~~~~
  55863. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  55864. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  55865. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  55866. from ././common/inc/nv-time.h:29:
  55867. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  55868. 13 | struct timespec64 {
  55869. | ^~~~~~~~~~
  55870. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  55871. 77 | static inline struct timespec64 timespec64_add
  55872. | ^~~~~~~~~~~~~~
  55873. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  55874. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  55875. | ^~~~~~~~~~~~~~
  55876. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  55877. 95 | static inline struct timespec64 timespec64_sub
  55878. | ^~~~~~~~~~~~~~
  55879. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  55880. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  55881. | ^~~~~~~~~~~~~~
  55882. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  55883. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  55884. | ^~~~~~~~~~~~~~~~
  55885. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  55886. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  55887. | ^~~~~~~~~~~~~~~~
  55888. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  55889. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55890. 122 | ktime_get_raw_ts64(&ts);
  55891. | ^~~
  55892. | |
  55893. | struct timespec64 *
  55894. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  55895. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  55896. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  55897. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  55898. from ././common/inc/nv-time.h:30:
  55899. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55900. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55901. | ~~~~~~~~~~~~~~~~~~~^~
  55902. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  55903. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55904. 185 | ktime_get_raw_ts64(&tm_aux);
  55905. | ^~~~~~~
  55906. | |
  55907. | struct timespec64 *
  55908. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55909. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55910. | ~~~~~~~~~~~~~~~~~~~^~
  55911. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  55912. 221 | ktime_get_raw_ts64(&tm_aux);
  55913. | ^~~~~~~
  55914. | |
  55915. | struct timespec64 *
  55916. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  55917. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  55918. | ~~~~~~~~~~~~~~~~~~~^~
  55919. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  55920. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55921. 502 | NV_MEMDBG_ADD(ptr, size);
  55922. | ^
  55923. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  55924. from nvidia-uvm/uvm_gpu.h:37:
  55925. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  55926. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  55927. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  55928. | ^~~~~~~~~~~~~~~~~~~~
  55929. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  55930. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  55931. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55932. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  55933. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55934. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55935. | ^
  55936. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55937. 573 | NV_MEMDBG_ADD(ptr, size);
  55938. | ^
  55939. ././common/inc/nv-linux.h: In function 'nv_vmap':
  55940. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55941. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  55942. | ^
  55943. cc1: some warnings being treated as errors
  55944. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_sva.o] Error 1
  55945. CC [M] nvidia-uvm/uvm_gpu_semaphore.o
  55946. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  55947. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  55948. 736 | return phys_to_dma(dev, pa);
  55949. | ^~~~~~~~~~~
  55950. | nv_phys_to_dma
  55951. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  55952. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  55953. 533 | ptr = ioremap_cache_shared(phys, size);
  55954. | ^~~~~~~~~~~~~~~~~~~~
  55955. | ioremap_cache
  55956. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55957. 533 | ptr = ioremap_cache_shared(phys, size);
  55958. | ^
  55959. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  55960. 556 | NV_MEMDBG_ADD(ptr, size);
  55961. | ^
  55962. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  55963. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  55964. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  55965. | ^~~~~~~~~~~~~~~~~~~~~~~
  55966. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  55967. 40 | struct timespec64 {
  55968. | ^~~~~~~~~~
  55969. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  55970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  55971. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  55972. from ././common/inc/nv-time.h:29:
  55973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  55974. 13 | struct timespec64 {
  55975. | ^~~~~~~~~~
  55976. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  55977. 77 | static inline struct timespec64 timespec64_add
  55978. | ^~~~~~~~~~~~~~
  55979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  55980. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  55981. | ^~~~~~~~~~~~~~
  55982. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  55983. 95 | static inline struct timespec64 timespec64_sub
  55984. | ^~~~~~~~~~~~~~
  55985. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  55986. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  55987. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  55988. | ^~~~~~~~~~~~~~
  55989. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  55990. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55991. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  55992. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  55993. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  55994. | ^
  55995. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  55996. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  55997. | ^~~~~~~~~~~~~~~~
  55998. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  55999. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  56000. | ^~~~~~~~~~~~~~~~
  56001. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56002. 573 | NV_MEMDBG_ADD(ptr, size);
  56003. | ^
  56004. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  56005. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56006. 122 | ktime_get_raw_ts64(&ts);
  56007. | ^~~
  56008. | |
  56009. | struct timespec64 *
  56010. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  56011. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  56012. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  56013. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  56014. from ././common/inc/nv-time.h:30:
  56015. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56016. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56017. | ~~~~~~~~~~~~~~~~~~~^~
  56018. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  56019. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56020. 185 | ktime_get_raw_ts64(&tm_aux);
  56021. | ^~~~~~~
  56022. | |
  56023. | struct timespec64 *
  56024. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56025. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56026. | ~~~~~~~~~~~~~~~~~~~^~
  56027. ././common/inc/nv-linux.h: In function 'nv_vmap':
  56028. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56029. 221 | ktime_get_raw_ts64(&tm_aux);
  56030. | ^~~~~~~
  56031. | |
  56032. | struct timespec64 *
  56033. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56034. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  56035. | ^
  56036. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56037. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56038. | ~~~~~~~~~~~~~~~~~~~^~
  56039. In file included from ././common/inc/conftest.h:28,
  56040. from ././common/inc/nv-time.h:27,
  56041. from nvidia-uvm/uvm_linux.h:37,
  56042. from nvidia-uvm/uvm_lock.h:28,
  56043. from nvidia-uvm/uvm_gpu_semaphore.h:28,
  56044. from nvidia-uvm/uvm_gpu_semaphore.c:24:
  56045. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  56046. 74 | #error dma_buf_export() conftest failed!
  56047. | ^~~~~
  56048. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  56049. 87 | #error wait_on_bit_lock() conftest failed!
  56050. | ^~~~~
  56051. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  56052. 90 | #error radix_tree_replace_slot() conftest failed!
  56053. | ^~~~~
  56054. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  56055. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56056. 520 | NV_MEMDBG_ADD(ptr, size);
  56057. | ^
  56058. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  56059. cc1: some warnings being treated as errors
  56060. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  56061. 736 | return phys_to_dma(dev, pa);
  56062. | ^~~~~~~~~~~
  56063. | nv_phys_to_dma
  56064. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  56065. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  56066. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  56067. | ^~~~~~~~~~~~~~~~~~~~~~~
  56068. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  56069. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56070. 520 | NV_MEMDBG_ADD(ptr, size);
  56071. | ^
  56072. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  56073. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_conf_computing.o] Error 1
  56074. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  56075. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  56076. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  56077. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  56078. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  56079. | ^
  56080. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56081. 573 | NV_MEMDBG_ADD(ptr, size);
  56082. | ^
  56083. ././common/inc/nv-linux.h: In function 'nv_vmap':
  56084. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56085. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  56086. | ^
  56087. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  56088. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  56089. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  56090. | ^~~~~~~~~~~~~
  56091. | d_is_dir
  56092. CC [M] nvidia-uvm/uvm_mem.o
  56093. cc1: some warnings being treated as errors
  56094. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  56095. 40 | struct timespec64 {
  56096. | ^~~~~~~~~~
  56097. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  56098. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  56099. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  56100. from ././common/inc/nv-time.h:29:
  56101. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  56102. 13 | struct timespec64 {
  56103. | ^~~~~~~~~~
  56104. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  56105. 77 | static inline struct timespec64 timespec64_add
  56106. | ^~~~~~~~~~~~~~
  56107. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  56108. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  56109. | ^~~~~~~~~~~~~~
  56110. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  56111. 95 | static inline struct timespec64 timespec64_sub
  56112. | ^~~~~~~~~~~~~~
  56113. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  56114. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  56115. | ^~~~~~~~~~~~~~
  56116. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  56117. 40 | struct timespec64 {
  56118. | ^~~~~~~~~~
  56119. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  56120. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  56121. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  56122. from ././common/inc/nv-time.h:29:
  56123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  56124. 13 | struct timespec64 {
  56125. | ^~~~~~~~~~
  56126. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  56127. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  56128. | ^~~~~~~~~~~~~~~~
  56129. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  56130. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  56131. | ^~~~~~~~~~~~~~~~
  56132. cc1: some warnings being treated as errors
  56133. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  56134. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  56135. 77 | static inline struct timespec64 timespec64_add
  56136. | ^~~~~~~~~~~~~~
  56137. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  56138. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  56139. | ^~~~~~~~~~~~~~
  56140. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56141. 122 | ktime_get_raw_ts64(&ts);
  56142. | ^~~
  56143. | |
  56144. | struct timespec64 *
  56145. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  56146. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  56147. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  56148. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  56149. from ././common/inc/nv-time.h:30:
  56150. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56151. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56152. | ~~~~~~~~~~~~~~~~~~~^~
  56153. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  56154. 95 | static inline struct timespec64 timespec64_sub
  56155. | ^~~~~~~~~~~~~~
  56156. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  56157. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  56158. | ^~~~~~~~~~~~~~
  56159. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  56160. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  56161. | ^~~~~~~~~~~~~~~~
  56162. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  56163. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  56164. | ^~~~~~~~~~~~~~~~
  56165. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  56166. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56167. 122 | ktime_get_raw_ts64(&ts);
  56168. | ^~~
  56169. | |
  56170. | struct timespec64 *
  56171. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  56172. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56173. 185 | ktime_get_raw_ts64(&tm_aux);
  56174. | ^~~~~~~
  56175. | |
  56176. | struct timespec64 *
  56177. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  56178. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  56179. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  56180. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  56181. from ././common/inc/nv-time.h:30:
  56182. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56183. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56184. | ~~~~~~~~~~~~~~~~~~~^~
  56185. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56186. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56187. | ~~~~~~~~~~~~~~~~~~~^~
  56188. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  56189. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56190. 185 | ktime_get_raw_ts64(&tm_aux);
  56191. | ^~~~~~~
  56192. | |
  56193. | struct timespec64 *
  56194. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56195. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56196. | ~~~~~~~~~~~~~~~~~~~^~
  56197. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56198. 221 | ktime_get_raw_ts64(&tm_aux);
  56199. | ^~~~~~~
  56200. | |
  56201. | struct timespec64 *
  56202. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56203. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56204. | ~~~~~~~~~~~~~~~~~~~^~
  56205. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_sec2_test.o] Error 1
  56206. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56207. 221 | ktime_get_raw_ts64(&tm_aux);
  56208. | ^~~~~~~
  56209. | |
  56210. | struct timespec64 *
  56211. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56212. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56213. | ~~~~~~~~~~~~~~~~~~~^~
  56214. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_sec2.o] Error 1
  56215. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  56216. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  56217. 736 | return phys_to_dma(dev, pa);
  56218. | ^~~~~~~~~~~
  56219. | nv_phys_to_dma
  56220. CC [M] nvidia-uvm/uvm_channel.o
  56221. In file included from ././common/inc/conftest.h:28,
  56222. from ././common/inc/nv-time.h:27,
  56223. from nvidia-uvm/uvm_linux.h:37,
  56224. from nvidia-uvm/uvm_processors.h:27,
  56225. from nvidia-uvm/uvm_mem.h:28,
  56226. from nvidia-uvm/uvm_mem.c:24:
  56227. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  56228. 74 | #error dma_buf_export() conftest failed!
  56229. | ^~~~~
  56230. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  56231. 87 | #error wait_on_bit_lock() conftest failed!
  56232. | ^~~~~
  56233. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  56234. 90 | #error radix_tree_replace_slot() conftest failed!
  56235. | ^~~~~
  56236. CC [M] nvidia-uvm/uvm_rm_mem.o
  56237. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  56238. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56239. 287 | ktime_get_raw_ts64(&tm);
  56240. | ^~~
  56241. | |
  56242. | struct timespec64 *
  56243. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56244. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56245. | ~~~~~~~~~~~~~~~~~~~^~
  56246. nvidia-uvm/uvm_linux.h: At top level:
  56247. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56248. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  56249. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56250. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56251. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  56252. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56253. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  56254. 449 | #error "Unknown number of arguments"
  56255. | ^~~~~
  56256. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56257. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  56258. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56259. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56260. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  56261. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56262. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  56263. 485 | #error "Unknown number of arguments"
  56264. | ^~~~~
  56265. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  56266. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  56267. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  56268. | ^~~~~~~~~~~~~
  56269. | d_is_dir
  56270. In file included from ././common/inc/conftest.h:28,
  56271. from ././common/inc/nv-time.h:27,
  56272. from nvidia-uvm/uvm_linux.h:37,
  56273. from nvidia-uvm/uvm_processors.h:27,
  56274. from nvidia-uvm/uvm_rm_mem.h:28,
  56275. from nvidia-uvm/uvm_rm_mem.c:24:
  56276. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  56277. 74 | #error dma_buf_export() conftest failed!
  56278. | ^~~~~
  56279. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  56280. 87 | #error wait_on_bit_lock() conftest failed!
  56281. | ^~~~~
  56282. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  56283. 90 | #error radix_tree_replace_slot() conftest failed!
  56284. | ^~~~~
  56285. In file included from ././common/inc/conftest.h:28,
  56286. from ././common/inc/nv-time.h:27,
  56287. from nvidia-uvm/uvm_linux.h:37,
  56288. from nvidia-uvm/uvm_lock.h:28,
  56289. from nvidia-uvm/uvm_gpu_semaphore.h:28,
  56290. from nvidia-uvm/uvm_channel.h:29,
  56291. from nvidia-uvm/uvm_channel.c:24:
  56292. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  56293. 74 | #error dma_buf_export() conftest failed!
  56294. | ^~~~~
  56295. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  56296. 87 | #error wait_on_bit_lock() conftest failed!
  56297. | ^~~~~
  56298. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  56299. 90 | #error radix_tree_replace_slot() conftest failed!
  56300. | ^~~~~
  56301. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  56302. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  56303. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  56304. | ^~~~~~~~~~~~~
  56305. | d_is_dir
  56306. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  56307. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  56308. 533 | ptr = ioremap_cache_shared(phys, size);
  56309. | ^~~~~~~~~~~~~~~~~~~~
  56310. | ioremap_cache
  56311. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  56312. 533 | ptr = ioremap_cache_shared(phys, size);
  56313. | ^
  56314. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56315. 556 | NV_MEMDBG_ADD(ptr, size);
  56316. | ^
  56317. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  56318. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56319. 287 | ktime_get_raw_ts64(&tm);
  56320. | ^~~
  56321. | |
  56322. | struct timespec64 *
  56323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56324. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56325. | ~~~~~~~~~~~~~~~~~~~^~
  56326. nvidia-uvm/uvm_linux.h: At top level:
  56327. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56328. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  56329. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56330. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56331. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  56332. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56333. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  56334. 449 | #error "Unknown number of arguments"
  56335. | ^~~~~
  56336. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56337. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  56338. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56339. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56340. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  56341. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56342. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  56343. 485 | #error "Unknown number of arguments"
  56344. | ^~~~~
  56345. cc1: some warnings being treated as errors
  56346. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  56347. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  56348. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  56349. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  56350. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_common.o] Error 1
  56351. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  56352. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  56353. 533 | ptr = ioremap_cache_shared(phys, size);
  56354. | ^~~~~~~~~~~~~~~~~~~~
  56355. | ioremap_cache
  56356. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  56357. 533 | ptr = ioremap_cache_shared(phys, size);
  56358. | ^
  56359. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56360. 556 | NV_MEMDBG_ADD(ptr, size);
  56361. | ^
  56362. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  56363. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  56364. | ^
  56365. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56366. 573 | NV_MEMDBG_ADD(ptr, size);
  56367. | ^
  56368. ././common/inc/nv-linux.h: In function 'nv_vmap':
  56369. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56370. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  56371. | ^
  56372. CC [M] nvidia-uvm/uvm_lock.o
  56373. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  56374. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56375. 287 | ktime_get_raw_ts64(&tm);
  56376. | ^~~
  56377. | |
  56378. | struct timespec64 *
  56379. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56380. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56381. | ~~~~~~~~~~~~~~~~~~~^~
  56382. nvidia-uvm/uvm_linux.h: At top level:
  56383. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56384. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  56385. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56386. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56387. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  56388. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56389. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  56390. 449 | #error "Unknown number of arguments"
  56391. | ^~~~~
  56392. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56393. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  56394. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56395. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56396. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  56397. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56398. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  56399. 485 | #error "Unknown number of arguments"
  56400. | ^~~~~
  56401. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  56402. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  56403. 736 | return phys_to_dma(dev, pa);
  56404. | ^~~~~~~~~~~
  56405. | nv_phys_to_dma
  56406. cc1: some warnings being treated as errors
  56407. In file included from ././common/inc/conftest.h:28,
  56408. from ././common/inc/nv-time.h:27,
  56409. from nvidia-uvm/uvm_linux.h:37,
  56410. from nvidia-uvm/uvm_lock.h:28,
  56411. from nvidia-uvm/uvm_lock.c:24:
  56412. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  56413. 74 | #error dma_buf_export() conftest failed!
  56414. | ^~~~~
  56415. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  56416. 87 | #error wait_on_bit_lock() conftest failed!
  56417. | ^~~~~
  56418. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  56419. 90 | #error radix_tree_replace_slot() conftest failed!
  56420. | ^~~~~
  56421. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_linux.o] Error 1
  56422. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  56423. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56424. 502 | NV_MEMDBG_ADD(ptr, size);
  56425. | ^
  56426. CC [M] nvidia-uvm/uvm_hal.o
  56427. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  56428. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  56429. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  56430. | ^~~~~~~~~~~~~
  56431. | d_is_dir
  56432. In file included from ././common/inc/conftest.h:28,
  56433. from ././common/inc/nv-time.h:27,
  56434. from nvidia-uvm/uvm_linux.h:37,
  56435. from nvidia-uvm/uvm_common.h:43,
  56436. from nvidia-uvm/uvm_hal.h:28,
  56437. from nvidia-uvm/uvm_hal.c:24:
  56438. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  56439. 74 | #error dma_buf_export() conftest failed!
  56440. | ^~~~~
  56441. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  56442. 87 | #error wait_on_bit_lock() conftest failed!
  56443. | ^~~~~
  56444. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  56445. 90 | #error radix_tree_replace_slot() conftest failed!
  56446. | ^~~~~
  56447. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  56448. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  56449. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  56450. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  56451. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  56452. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56453. 287 | ktime_get_raw_ts64(&tm);
  56454. | ^~~
  56455. | |
  56456. | struct timespec64 *
  56457. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56458. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56459. | ~~~~~~~~~~~~~~~~~~~^~
  56460. nvidia-uvm/uvm_linux.h: At top level:
  56461. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56462. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  56463. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56464. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56465. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  56466. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56467. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  56468. 449 | #error "Unknown number of arguments"
  56469. | ^~~~~
  56470. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56471. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  56472. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56473. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56474. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  56475. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56476. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  56477. 485 | #error "Unknown number of arguments"
  56478. | ^~~~~
  56479. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  56480. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  56481. | ^
  56482. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56483. 573 | NV_MEMDBG_ADD(ptr, size);
  56484. | ^
  56485. ././common/inc/nv-linux.h: In function 'nv_vmap':
  56486. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56487. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  56488. | ^
  56489. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  56490. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  56491. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  56492. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  56493. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  56494. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  56495. | ^
  56496. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56497. 573 | NV_MEMDBG_ADD(ptr, size);
  56498. | ^
  56499. ././common/inc/nv-linux.h: In function 'nv_vmap':
  56500. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56501. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  56502. | ^
  56503. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  56504. from nvidia-uvm/uvm_channel.h:29,
  56505. from nvidia-uvm/uvm_push.h:29,
  56506. from nvidia-uvm/uvm_hal.h:31:
  56507. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  56508. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  56509. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  56510. | ^~~~~~~~~~~~~~~~~~~~
  56511. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  56512. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  56513. 736 | return phys_to_dma(dev, pa);
  56514. | ^~~~~~~~~~~
  56515. | nv_phys_to_dma
  56516. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  56517. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  56518. 736 | return phys_to_dma(dev, pa);
  56519. | ^~~~~~~~~~~
  56520. | nv_phys_to_dma
  56521. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  56522. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  56523. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  56524. | ^~~~~~~~~~~~~~~~~~~~~~~
  56525. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  56526. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  56527. 520 | NV_MEMDBG_ADD(ptr, size);
  56528. | ^
  56529. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  56530. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  56531. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  56532. | ^~~~~~~~~~~~~
  56533. | d_is_dir
  56534. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  56535. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  56536. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  56537. | ^~~~~~~~~~~~~
  56538. | d_is_dir
  56539. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  56540. 40 | struct timespec64 {
  56541. | ^~~~~~~~~~
  56542. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  56543. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  56544. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  56545. from ././common/inc/nv-time.h:29:
  56546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  56547. 13 | struct timespec64 {
  56548. | ^~~~~~~~~~
  56549. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  56550. 77 | static inline struct timespec64 timespec64_add
  56551. | ^~~~~~~~~~~~~~
  56552. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  56553. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  56554. | ^~~~~~~~~~~~~~
  56555. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  56556. 95 | static inline struct timespec64 timespec64_sub
  56557. | ^~~~~~~~~~~~~~
  56558. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  56559. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  56560. | ^~~~~~~~~~~~~~
  56561. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  56562. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  56563. | ^~~~~~~~~~~~~~~~
  56564. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  56565. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  56566. | ^~~~~~~~~~~~~~~~
  56567. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  56568. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56569. 122 | ktime_get_raw_ts64(&ts);
  56570. | ^~~
  56571. | |
  56572. | struct timespec64 *
  56573. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  56574. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  56575. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  56576. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  56577. from ././common/inc/nv-time.h:30:
  56578. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56579. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56580. | ~~~~~~~~~~~~~~~~~~~^~
  56581. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  56582. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56583. 185 | ktime_get_raw_ts64(&tm_aux);
  56584. | ^~~~~~~
  56585. | |
  56586. | struct timespec64 *
  56587. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56588. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56589. | ~~~~~~~~~~~~~~~~~~~^~
  56590. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56591. 221 | ktime_get_raw_ts64(&tm_aux);
  56592. | ^~~~~~~
  56593. | |
  56594. | struct timespec64 *
  56595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56596. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56597. | ~~~~~~~~~~~~~~~~~~~^~
  56598. nvidia-uvm/nv-kthread-q-selftest.c: At top level:
  56599. nvidia-uvm/nv-kthread-q-selftest.c:84:6: warning: no previous prototype for 'on_nvq_assert' [-Wmissing-prototypes]
  56600. 84 | void on_nvq_assert(void)
  56601. | ^~~~~~~~~~~~~
  56602. In file included from nvidia-uvm/uvm_api.h:31:
  56603. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  56604. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  56605. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  56606. | ^~~~~~~~~~~~~~~~~~~~
  56607. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  56608. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  56609. 287 | ktime_get_raw_ts64(&tm);
  56610. | ^~~
  56611. | |
  56612. | struct timespec64 *
  56613. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  56614. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  56615. | ~~~~~~~~~~~~~~~~~~~^~
  56616. nvidia-uvm/uvm_linux.h: At top level:
  56617. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56618. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  56619. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56620. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56621. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  56622. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56623. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  56624. 449 | #error "Unknown number of arguments"
  56625. | ^~~~~
  56626. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56627. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  56628. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56629. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  56630. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  56631. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56632. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  56633. 485 | #error "Unknown number of arguments"
  56634. | ^~~~~
  56635. In file included from ././common/inc/nv-linux.h:34,
  56636. from ././nvidia-uvm/uvm_linux.h:40:
  56637. ././common/inc/nv-mm.h: At top level:
  56638. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  56639. 29 | typedef int vm_fault_t;
  56640. | ^~~~~~~~~~
  56641. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  56642. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  56643. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  56644. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  56645. from ././common/inc/nv-lock.h:35,
  56646. from ././common/inc/nv-linux.h:32:
  56647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  56648. 1311 | typedef __bitwise unsigned int vm_fault_t;
  56649. | ^~~~~~~~~~
  56650. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  56651. from ././common/inc/nv-time.h:28:
  56652. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  56653. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56654. 52 | #define current get_current()
  56655. | ^~~~~~~~~~~~~
  56656. | |
  56657. | struct task_struct *
  56658. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  56659. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56660. | ^~~~~~~
  56661. In file included from ././common/inc/nv-pgprot.h:30,
  56662. from ././common/inc/nv-linux.h:33:
  56663. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  56664. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56665. | ~~~~~~~~~~~~~~^~~~~
  56666. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56667. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  56669. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56670. | ~~~~~~~~~~~~~~^~~~~~~~
  56671. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  56672. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56673. | ^~~~~~~~
  56674. | |
  56675. | long unsigned int
  56676. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  56677. 2535 | unsigned int gup_flags, struct page **pages);
  56678. | ~~~~~~~~~~~~~~^~~~~
  56679. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  56680. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56681. | ^~~~~~~~~~~~~~ ~~~~~
  56682. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  56683. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56684. | ^~~~~~~~~~~~~~
  56685. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  56686. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  56687. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  56688. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  56689. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  56690. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  56691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56692. 8 | #define NULL ((void *)0)
  56693. | ^~~~~~~~~~~
  56694. | |
  56695. | void *
  56696. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  56697. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56698. | ^~~~
  56699. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  56700. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56701. | ~~~~~~~~~~~~~~^~~~~
  56702. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56703. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56704. | ^~
  56705. | |
  56706. | struct mm_struct *
  56707. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  56708. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56709. | ~~~~~~~~~~~~~~^~~~~~~~
  56710. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  56711. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56712. | ^~~~~~~~
  56713. | |
  56714. | long unsigned int
  56715. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  56716. 2535 | unsigned int gup_flags, struct page **pages);
  56717. | ~~~~~~~~~~~~~~^~~~~
  56718. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  56719. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56720. | ^~~~~~~~~~~~~~ ~~~~~
  56721. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  56722. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56723. | ^~~~~~~~~~~~~~
  56724. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  56725. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  56726. 237 | return (unsigned long)(vmf->virtual_address);
  56727. | ^~~~~~~~~~~~~~~
  56728. | real_address
  56729. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  56730. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56731. 246 | down_read(&mm->mmap_sem);
  56732. | ^~~~~~~~
  56733. | mmap_base
  56734. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  56735. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56736. 255 | up_read(&mm->mmap_sem);
  56737. | ^~~~~~~~
  56738. | mmap_base
  56739. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  56740. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56741. 264 | down_write(&mm->mmap_sem);
  56742. | ^~~~~~~~
  56743. | mmap_base
  56744. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  56745. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56746. 273 | up_write(&mm->mmap_sem);
  56747. | ^~~~~~~~
  56748. | mmap_base
  56749. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  56750. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56751. 282 | return rwsem_is_locked(&mm->mmap_sem);
  56752. | ^~~~~~~~
  56753. | mmap_base
  56754. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  56755. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56756. 291 | return &mm->mmap_sem;
  56757. | ^~~~~~~~
  56758. | mmap_base
  56759. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  56760. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  56761. 300 | vma->vm_flags |= flags;
  56762. | ^~
  56763. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  56764. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  56765. 309 | vma->vm_flags &= ~flags;
  56766. | ^~
  56767. In file included from ././common/inc/nv-linux.h:34,
  56768. from nvidia-uvm/uvm_linux.h:40:
  56769. ././common/inc/nv-mm.h: At top level:
  56770. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  56771. 29 | typedef int vm_fault_t;
  56772. | ^~~~~~~~~~
  56773. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  56774. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  56775. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  56776. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  56777. from ././common/inc/nv-lock.h:35,
  56778. from ././common/inc/nv-linux.h:32:
  56779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  56780. 1311 | typedef __bitwise unsigned int vm_fault_t;
  56781. | ^~~~~~~~~~
  56782. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  56783. from ././common/inc/nv-time.h:28:
  56784. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  56785. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56786. 52 | #define current get_current()
  56787. | ^~~~~~~~~~~~~
  56788. | |
  56789. | struct task_struct *
  56790. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  56791. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56792. | ^~~~~~~
  56793. In file included from ././common/inc/nv-pgprot.h:30,
  56794. from ././common/inc/nv-linux.h:33:
  56795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  56796. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56797. | ~~~~~~~~~~~~~~^~~~~
  56798. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56799. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56800. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  56801. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56802. | ~~~~~~~~~~~~~~^~~~~~~~
  56803. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  56804. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56805. | ^~~~~~~~
  56806. | |
  56807. | long unsigned int
  56808. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  56809. 2535 | unsigned int gup_flags, struct page **pages);
  56810. | ~~~~~~~~~~~~~~^~~~~
  56811. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  56812. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56813. | ^~~~~~~~~~~~~~ ~~~~~
  56814. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  56815. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56816. | ^~~~~~~~~~~~~~
  56817. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  56818. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  56819. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  56820. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  56821. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  56822. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  56823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56824. 8 | #define NULL ((void *)0)
  56825. | ^~~~~~~~~~~
  56826. | |
  56827. | void *
  56828. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  56829. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56830. | ^~~~
  56831. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  56832. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56833. | ~~~~~~~~~~~~~~^~~~~
  56834. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56835. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56836. | ^~
  56837. | |
  56838. | struct mm_struct *
  56839. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  56840. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56841. | ~~~~~~~~~~~~~~^~~~~~~~
  56842. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  56843. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56844. | ^~~~~~~~
  56845. | |
  56846. | long unsigned int
  56847. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  56848. 2535 | unsigned int gup_flags, struct page **pages);
  56849. | ~~~~~~~~~~~~~~^~~~~
  56850. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  56851. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56852. | ^~~~~~~~~~~~~~ ~~~~~
  56853. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  56854. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56855. | ^~~~~~~~~~~~~~
  56856. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  56857. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  56858. 237 | return (unsigned long)(vmf->virtual_address);
  56859. | ^~~~~~~~~~~~~~~
  56860. | real_address
  56861. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  56862. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56863. 246 | down_read(&mm->mmap_sem);
  56864. | ^~~~~~~~
  56865. | mmap_base
  56866. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  56867. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56868. 255 | up_read(&mm->mmap_sem);
  56869. | ^~~~~~~~
  56870. | mmap_base
  56871. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  56872. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56873. 264 | down_write(&mm->mmap_sem);
  56874. | ^~~~~~~~
  56875. | mmap_base
  56876. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  56877. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56878. 273 | up_write(&mm->mmap_sem);
  56879. | ^~~~~~~~
  56880. | mmap_base
  56881. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  56882. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56883. 282 | return rwsem_is_locked(&mm->mmap_sem);
  56884. | ^~~~~~~~
  56885. | mmap_base
  56886. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  56887. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  56888. 291 | return &mm->mmap_sem;
  56889. | ^~~~~~~~
  56890. | mmap_base
  56891. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  56892. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  56893. 300 | vma->vm_flags |= flags;
  56894. | ^~
  56895. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  56896. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  56897. 309 | vma->vm_flags &= ~flags;
  56898. | ^~
  56899. In file included from ././common/inc/nv-linux.h:34,
  56900. from nvidia-uvm/uvm_linux.h:40:
  56901. ././common/inc/nv-mm.h: At top level:
  56902. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  56903. 29 | typedef int vm_fault_t;
  56904. | ^~~~~~~~~~
  56905. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  56906. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  56907. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  56908. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  56909. from ././common/inc/nv-lock.h:35,
  56910. from ././common/inc/nv-linux.h:32:
  56911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  56912. 1311 | typedef __bitwise unsigned int vm_fault_t;
  56913. | ^~~~~~~~~~
  56914. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  56915. from ././common/inc/nv-time.h:28:
  56916. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  56917. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56918. 52 | #define current get_current()
  56919. | ^~~~~~~~~~~~~
  56920. | |
  56921. | struct task_struct *
  56922. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  56923. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56924. | ^~~~~~~
  56925. In file included from ././common/inc/nv-pgprot.h:30,
  56926. from ././common/inc/nv-linux.h:33:
  56927. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  56928. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56929. | ~~~~~~~~~~~~~~^~~~~
  56930. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56931. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56932. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  56933. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56934. | ~~~~~~~~~~~~~~^~~~~~~~
  56935. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  56936. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56937. | ^~~~~~~~
  56938. | |
  56939. | long unsigned int
  56940. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  56941. 2535 | unsigned int gup_flags, struct page **pages);
  56942. | ~~~~~~~~~~~~~~^~~~~
  56943. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  56944. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  56945. | ^~~~~~~~~~~~~~ ~~~~~
  56946. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  56947. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56948. | ^~~~~~~~~~~~~~
  56949. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  56950. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  56951. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  56952. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  56953. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  56954. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  56955. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56956. 8 | #define NULL ((void *)0)
  56957. | ^~~~~~~~~~~
  56958. | |
  56959. | void *
  56960. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  56961. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56962. | ^~~~
  56963. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  56964. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56965. | ~~~~~~~~~~~~~~^~~~~
  56966. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  56967. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56968. | ^~
  56969. | |
  56970. | struct mm_struct *
  56971. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  56972. 40 | struct timespec64 {
  56973. | ^~~~~~~~~~
  56974. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  56975. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  56976. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  56977. from ././common/inc/nv-time.h:29:
  56978. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  56979. 13 | struct timespec64 {
  56980. | ^~~~~~~~~~
  56981. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  56982. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56983. | ~~~~~~~~~~~~~~^~~~~~~~
  56984. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  56985. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56986. | ^~~~~~~~
  56987. | |
  56988. | long unsigned int
  56989. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  56990. 2535 | unsigned int gup_flags, struct page **pages);
  56991. | ~~~~~~~~~~~~~~^~~~~
  56992. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  56993. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  56994. | ^~~~~~~~~~~~~~ ~~~~~
  56995. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  56996. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  56997. | ^~~~~~~~~~~~~~
  56998. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  56999. 77 | static inline struct timespec64 timespec64_add
  57000. | ^~~~~~~~~~~~~~
  57001. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57002. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  57003. | ^~~~~~~~~~~~~~
  57004. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  57005. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  57006. 237 | return (unsigned long)(vmf->virtual_address);
  57007. | ^~~~~~~~~~~~~~~
  57008. | real_address
  57009. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  57010. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  57011. 95 | static inline struct timespec64 timespec64_sub
  57012. | ^~~~~~~~~~~~~~
  57013. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57014. 246 | down_read(&mm->mmap_sem);
  57015. | ^~~~~~~~
  57016. | mmap_base
  57017. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57018. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  57019. | ^~~~~~~~~~~~~~
  57020. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/nv-kthread-q-selftest.o] Error 1
  57021. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  57022. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57023. 255 | up_read(&mm->mmap_sem);
  57024. | ^~~~~~~~
  57025. | mmap_base
  57026. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  57027. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  57028. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  57029. | ^~~~~~~~~~~~~~~~
  57030. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  57031. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  57032. | ^~~~~~~~~~~~~~~~
  57033. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  57034. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57035. 264 | down_write(&mm->mmap_sem);
  57036. | ^~~~~~~~
  57037. | mmap_base
  57038. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  57039. 533 | ptr = ioremap_cache_shared(phys, size);
  57040. | ^~~~~~~~~~~~~~~~~~~~
  57041. | ioremap_cache
  57042. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  57043. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  57044. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57045. 273 | up_write(&mm->mmap_sem);
  57046. | ^~~~~~~~
  57047. | mmap_base
  57048. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  57049. 533 | ptr = ioremap_cache_shared(phys, size);
  57050. | ^
  57051. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  57052. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57053. 122 | ktime_get_raw_ts64(&ts);
  57054. | ^~~
  57055. | |
  57056. | struct timespec64 *
  57057. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57058. 282 | return rwsem_is_locked(&mm->mmap_sem);
  57059. | ^~~~~~~~
  57060. | mmap_base
  57061. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  57062. 556 | NV_MEMDBG_ADD(ptr, size);
  57063. | ^
  57064. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  57065. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  57066. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  57067. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  57068. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  57069. from ././common/inc/nv-time.h:30:
  57070. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57071. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57072. | ~~~~~~~~~~~~~~~~~~~^~
  57073. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57074. 291 | return &mm->mmap_sem;
  57075. | ^~~~~~~~
  57076. | mmap_base
  57077. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  57078. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  57079. 300 | vma->vm_flags |= flags;
  57080. | ^~
  57081. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  57082. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  57083. 309 | vma->vm_flags &= ~flags;
  57084. | ^~
  57085. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  57086. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57087. 185 | ktime_get_raw_ts64(&tm_aux);
  57088. | ^~~~~~~
  57089. | |
  57090. | struct timespec64 *
  57091. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57092. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57093. | ~~~~~~~~~~~~~~~~~~~^~
  57094. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57095. 221 | ktime_get_raw_ts64(&tm_aux);
  57096. | ^~~~~~~
  57097. | |
  57098. | struct timespec64 *
  57099. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57100. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57101. | ~~~~~~~~~~~~~~~~~~~^~
  57102. CC [M] nvidia-uvm/uvm_range_tree.o
  57103. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  57104. 40 | struct timespec64 {
  57105. | ^~~~~~~~~~
  57106. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  57107. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  57108. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  57109. from ././common/inc/nv-time.h:29:
  57110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  57111. 13 | struct timespec64 {
  57112. | ^~~~~~~~~~
  57113. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  57114. 77 | static inline struct timespec64 timespec64_add
  57115. | ^~~~~~~~~~~~~~
  57116. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57117. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  57118. | ^~~~~~~~~~~~~~
  57119. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  57120. 95 | static inline struct timespec64 timespec64_sub
  57121. | ^~~~~~~~~~~~~~
  57122. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57123. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  57124. | ^~~~~~~~~~~~~~
  57125. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  57126. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  57127. | ^~~~~~~~~~~~~~~~
  57128. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  57129. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  57130. | ^~~~~~~~~~~~~~~~
  57131. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  57132. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57133. 122 | ktime_get_raw_ts64(&ts);
  57134. | ^~~
  57135. | |
  57136. | struct timespec64 *
  57137. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  57138. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  57139. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  57140. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  57141. from ././common/inc/nv-time.h:30:
  57142. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57143. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57144. | ~~~~~~~~~~~~~~~~~~~^~
  57145. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  57146. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57147. 185 | ktime_get_raw_ts64(&tm_aux);
  57148. | ^~~~~~~
  57149. | |
  57150. | struct timespec64 *
  57151. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57152. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57153. | ~~~~~~~~~~~~~~~~~~~^~
  57154. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57155. 221 | ktime_get_raw_ts64(&tm_aux);
  57156. | ^~~~~~~
  57157. | |
  57158. | struct timespec64 *
  57159. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57160. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57161. | ~~~~~~~~~~~~~~~~~~~^~
  57162. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  57163. 40 | struct timespec64 {
  57164. | ^~~~~~~~~~
  57165. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  57166. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  57167. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  57168. from ././common/inc/nv-time.h:29:
  57169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  57170. 13 | struct timespec64 {
  57171. | ^~~~~~~~~~
  57172. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  57173. 77 | static inline struct timespec64 timespec64_add
  57174. | ^~~~~~~~~~~~~~
  57175. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57176. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  57177. | ^~~~~~~~~~~~~~
  57178. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  57179. 95 | static inline struct timespec64 timespec64_sub
  57180. | ^~~~~~~~~~~~~~
  57181. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57182. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  57183. | ^~~~~~~~~~~~~~
  57184. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  57185. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  57186. | ^~~~~~~~~~~~~~~~
  57187. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  57188. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  57189. | ^~~~~~~~~~~~~~~~
  57190. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  57191. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57192. 122 | ktime_get_raw_ts64(&ts);
  57193. | ^~~
  57194. | |
  57195. | struct timespec64 *
  57196. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  57197. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  57198. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  57199. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  57200. from ././common/inc/nv-time.h:30:
  57201. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57202. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57203. | ~~~~~~~~~~~~~~~~~~~^~
  57204. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  57205. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57206. 185 | ktime_get_raw_ts64(&tm_aux);
  57207. | ^~~~~~~
  57208. | |
  57209. | struct timespec64 *
  57210. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57211. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57212. | ~~~~~~~~~~~~~~~~~~~^~
  57213. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57214. 221 | ktime_get_raw_ts64(&tm_aux);
  57215. | ^~~~~~~
  57216. | |
  57217. | struct timespec64 *
  57218. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57219. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57220. | ~~~~~~~~~~~~~~~~~~~^~
  57221. In file included from ././common/inc/nv-linux.h:34,
  57222. from nvidia-uvm/uvm_linux.h:40:
  57223. ././common/inc/nv-mm.h: At top level:
  57224. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  57225. 29 | typedef int vm_fault_t;
  57226. | ^~~~~~~~~~
  57227. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  57228. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  57229. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  57230. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  57231. from ././common/inc/nv-lock.h:35,
  57232. from ././common/inc/nv-linux.h:32:
  57233. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  57234. 1311 | typedef __bitwise unsigned int vm_fault_t;
  57235. | ^~~~~~~~~~
  57236. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  57237. from ././common/inc/nv-time.h:28:
  57238. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  57239. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57240. 52 | #define current get_current()
  57241. | ^~~~~~~~~~~~~
  57242. | |
  57243. | struct task_struct *
  57244. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  57245. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57246. | ^~~~~~~
  57247. In file included from ././common/inc/nv-pgprot.h:30,
  57248. from ././common/inc/nv-linux.h:33:
  57249. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  57250. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57251. | ~~~~~~~~~~~~~~^~~~~
  57252. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57253. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  57255. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57256. | ~~~~~~~~~~~~~~^~~~~~~~
  57257. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  57258. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57259. | ^~~~~~~~
  57260. | |
  57261. | long unsigned int
  57262. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  57263. 2535 | unsigned int gup_flags, struct page **pages);
  57264. | ~~~~~~~~~~~~~~^~~~~
  57265. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  57266. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57267. | ^~~~~~~~~~~~~~ ~~~~~
  57268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  57269. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57270. | ^~~~~~~~~~~~~~
  57271. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  57272. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  57273. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  57274. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  57275. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  57276. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  57277. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57278. 8 | #define NULL ((void *)0)
  57279. | ^~~~~~~~~~~
  57280. | |
  57281. | void *
  57282. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  57283. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57284. | ^~~~
  57285. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  57286. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57287. | ~~~~~~~~~~~~~~^~~~~
  57288. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57289. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57290. | ^~
  57291. | |
  57292. | struct mm_struct *
  57293. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  57294. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57295. | ~~~~~~~~~~~~~~^~~~~~~~
  57296. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  57297. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57298. | ^~~~~~~~
  57299. | |
  57300. | long unsigned int
  57301. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  57302. 2535 | unsigned int gup_flags, struct page **pages);
  57303. | ~~~~~~~~~~~~~~^~~~~
  57304. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  57305. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57306. | ^~~~~~~~~~~~~~ ~~~~~
  57307. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  57308. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57309. | ^~~~~~~~~~~~~~
  57310. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  57311. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  57312. 237 | return (unsigned long)(vmf->virtual_address);
  57313. | ^~~~~~~~~~~~~~~
  57314. | real_address
  57315. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  57316. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57317. 246 | down_read(&mm->mmap_sem);
  57318. | ^~~~~~~~
  57319. | mmap_base
  57320. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  57321. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57322. 255 | up_read(&mm->mmap_sem);
  57323. | ^~~~~~~~
  57324. | mmap_base
  57325. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  57326. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57327. 264 | down_write(&mm->mmap_sem);
  57328. | ^~~~~~~~
  57329. | mmap_base
  57330. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  57331. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57332. 273 | up_write(&mm->mmap_sem);
  57333. | ^~~~~~~~
  57334. | mmap_base
  57335. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  57336. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57337. 282 | return rwsem_is_locked(&mm->mmap_sem);
  57338. | ^~~~~~~~
  57339. | mmap_base
  57340. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  57341. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57342. 291 | return &mm->mmap_sem;
  57343. | ^~~~~~~~
  57344. | mmap_base
  57345. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  57346. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  57347. 300 | vma->vm_flags |= flags;
  57348. | ^~
  57349. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  57350. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  57351. 309 | vma->vm_flags &= ~flags;
  57352. | ^~
  57353. In file included from ././common/inc/nv-linux.h:34,
  57354. from nvidia-uvm/uvm_linux.h:40:
  57355. ././common/inc/nv-mm.h: At top level:
  57356. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  57357. 29 | typedef int vm_fault_t;
  57358. | ^~~~~~~~~~
  57359. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  57360. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  57361. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  57362. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  57363. from ././common/inc/nv-lock.h:35,
  57364. from ././common/inc/nv-linux.h:32:
  57365. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  57366. 1311 | typedef __bitwise unsigned int vm_fault_t;
  57367. | ^~~~~~~~~~
  57368. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  57369. from ././common/inc/nv-time.h:28:
  57370. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  57371. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57372. 52 | #define current get_current()
  57373. | ^~~~~~~~~~~~~
  57374. | |
  57375. | struct task_struct *
  57376. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  57377. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57378. | ^~~~~~~
  57379. In file included from ././common/inc/nv-pgprot.h:30,
  57380. from ././common/inc/nv-linux.h:33:
  57381. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  57382. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57383. | ~~~~~~~~~~~~~~^~~~~
  57384. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57385. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57386. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  57387. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57388. | ~~~~~~~~~~~~~~^~~~~~~~
  57389. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  57390. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57391. | ^~~~~~~~
  57392. | |
  57393. | long unsigned int
  57394. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  57395. 2535 | unsigned int gup_flags, struct page **pages);
  57396. | ~~~~~~~~~~~~~~^~~~~
  57397. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  57398. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57399. | ^~~~~~~~~~~~~~ ~~~~~
  57400. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  57401. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57402. | ^~~~~~~~~~~~~~
  57403. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  57404. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  57405. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  57406. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  57407. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  57408. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  57409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57410. 8 | #define NULL ((void *)0)
  57411. | ^~~~~~~~~~~
  57412. | |
  57413. | void *
  57414. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  57415. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57416. | ^~~~
  57417. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  57418. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57419. | ~~~~~~~~~~~~~~^~~~~
  57420. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57421. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57422. | ^~
  57423. | |
  57424. | struct mm_struct *
  57425. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  57426. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57427. | ~~~~~~~~~~~~~~^~~~~~~~
  57428. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  57429. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57430. | ^~~~~~~~
  57431. | |
  57432. | long unsigned int
  57433. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  57434. 2535 | unsigned int gup_flags, struct page **pages);
  57435. | ~~~~~~~~~~~~~~^~~~~
  57436. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  57437. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57438. | ^~~~~~~~~~~~~~ ~~~~~
  57439. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  57440. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57441. | ^~~~~~~~~~~~~~
  57442. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  57443. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  57444. 237 | return (unsigned long)(vmf->virtual_address);
  57445. | ^~~~~~~~~~~~~~~
  57446. | real_address
  57447. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  57448. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57449. 246 | down_read(&mm->mmap_sem);
  57450. | ^~~~~~~~
  57451. | mmap_base
  57452. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  57453. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57454. 255 | up_read(&mm->mmap_sem);
  57455. | ^~~~~~~~
  57456. | mmap_base
  57457. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  57458. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57459. 264 | down_write(&mm->mmap_sem);
  57460. | ^~~~~~~~
  57461. | mmap_base
  57462. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  57463. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57464. 273 | up_write(&mm->mmap_sem);
  57465. | ^~~~~~~~
  57466. | mmap_base
  57467. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  57468. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57469. 282 | return rwsem_is_locked(&mm->mmap_sem);
  57470. | ^~~~~~~~
  57471. | mmap_base
  57472. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  57473. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57474. 291 | return &mm->mmap_sem;
  57475. | ^~~~~~~~
  57476. | mmap_base
  57477. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  57478. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  57479. 300 | vma->vm_flags |= flags;
  57480. | ^~
  57481. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  57482. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  57483. 309 | vma->vm_flags &= ~flags;
  57484. | ^~
  57485. cc1: some warnings being treated as errors
  57486. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_sec2.o] Error 1
  57487. CC [M] nvidia-uvm/uvm_rb_tree.o
  57488. In file included from ././common/inc/conftest.h:28,
  57489. from ././common/inc/nv-time.h:27,
  57490. from nvidia-uvm/uvm_linux.h:37,
  57491. from nvidia-uvm/uvm_common.h:43,
  57492. from nvidia-uvm/uvm_range_tree.c:24:
  57493. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  57494. 74 | #error dma_buf_export() conftest failed!
  57495. | ^~~~~
  57496. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  57497. 87 | #error wait_on_bit_lock() conftest failed!
  57498. | ^~~~~
  57499. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  57500. 90 | #error radix_tree_replace_slot() conftest failed!
  57501. | ^~~~~
  57502. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  57503. from nvidia-uvm/uvm_gpu.h:37,
  57504. from nvidia-uvm/uvm_tools.c:25:
  57505. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  57506. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  57507. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  57508. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  57509. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  57510. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  57511. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  57512. | ^~~~~~~~~~~~~~~~~~~~
  57513. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  57514. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  57515. | ^
  57516. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  57517. 573 | NV_MEMDBG_ADD(ptr, size);
  57518. | ^
  57519. ././common/inc/nv-linux.h: In function 'nv_vmap':
  57520. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  57521. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  57522. | ^
  57523. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  57524. 40 | struct timespec64 {
  57525. | ^~~~~~~~~~
  57526. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  57527. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  57528. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  57529. from ././common/inc/nv-time.h:29:
  57530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  57531. 13 | struct timespec64 {
  57532. | ^~~~~~~~~~
  57533. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  57534. 77 | static inline struct timespec64 timespec64_add
  57535. | ^~~~~~~~~~~~~~
  57536. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57537. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  57538. | ^~~~~~~~~~~~~~
  57539. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  57540. 95 | static inline struct timespec64 timespec64_sub
  57541. | ^~~~~~~~~~~~~~
  57542. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57543. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  57544. | ^~~~~~~~~~~~~~
  57545. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  57546. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  57547. | ^~~~~~~~~~~~~~~~
  57548. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  57549. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  57550. | ^~~~~~~~~~~~~~~~
  57551. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  57552. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57553. 122 | ktime_get_raw_ts64(&ts);
  57554. | ^~~
  57555. | |
  57556. | struct timespec64 *
  57557. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  57558. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  57559. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  57560. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  57561. from ././common/inc/nv-time.h:30:
  57562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57563. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57564. | ~~~~~~~~~~~~~~~~~~~^~
  57565. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  57566. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  57567. 736 | return phys_to_dma(dev, pa);
  57568. | ^~~~~~~~~~~
  57569. | nv_phys_to_dma
  57570. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  57571. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57572. 185 | ktime_get_raw_ts64(&tm_aux);
  57573. | ^~~~~~~
  57574. | |
  57575. | struct timespec64 *
  57576. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57577. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57578. | ~~~~~~~~~~~~~~~~~~~^~
  57579. nvidia-uvm/uvm.c: At top level:
  57580. 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]
  57581. 401 | .fault = uvm_vm_fault_sigbus_entry
  57582. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  57583. nvidia-uvm/uvm.c:401:14: note: (near initialization for 'uvm_vm_ops_disabled.fault')
  57584. nvidia-uvm/uvm.c:377:19: note: 'uvm_vm_fault_sigbus_entry' declared here
  57585. 377 | static vm_fault_t uvm_vm_fault_sigbus_entry(struct vm_area_struct *vma, struct vm_fault *vmf)
  57586. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  57587. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57588. 221 | ktime_get_raw_ts64(&tm_aux);
  57589. | ^~~~~~~
  57590. | |
  57591. | struct timespec64 *
  57592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57593. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57594. | ~~~~~~~~~~~~~~~~~~~^~
  57595. 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]
  57596. 654 | .fault = uvm_vm_fault_entry,
  57597. | ^~~~~~~~~~~~~~~~~~
  57598. nvidia-uvm/uvm.c:654:21: note: (near initialization for 'uvm_vm_ops_managed.fault')
  57599. nvidia-uvm/uvm.c:626:19: note: 'uvm_vm_fault_entry' declared here
  57600. 626 | static vm_fault_t uvm_vm_fault_entry(struct vm_area_struct *vma, struct vm_fault *vmf)
  57601. | ^~~~~~~~~~~~~~~~~~
  57602. 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]
  57603. 655 | .page_mkwrite = uvm_vm_fault_entry,
  57604. | ^~~~~~~~~~~~~~~~~~
  57605. nvidia-uvm/uvm.c:655:21: note: (near initialization for 'uvm_vm_ops_managed.page_mkwrite')
  57606. nvidia-uvm/uvm.c:626:19: note: 'uvm_vm_fault_entry' declared here
  57607. 626 | static vm_fault_t uvm_vm_fault_entry(struct vm_area_struct *vma, struct vm_fault *vmf)
  57608. | ^~~~~~~~~~~~~~~~~~
  57609. 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]
  57610. 750 | .fault = uvm_vm_fault_sigbus_entry,
  57611. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  57612. nvidia-uvm/uvm.c:750:21: note: (near initialization for 'uvm_vm_ops_semaphore_pool.fault')
  57613. nvidia-uvm/uvm.c:377:19: note: 'uvm_vm_fault_sigbus_entry' declared here
  57614. 377 | static vm_fault_t uvm_vm_fault_sigbus_entry(struct vm_area_struct *vma, struct vm_fault *vmf)
  57615. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  57616. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  57617. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  57618. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  57619. | ^~~~~~~~~~~~~
  57620. | d_is_dir
  57621. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  57622. 40 | struct timespec64 {
  57623. | ^~~~~~~~~~
  57624. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  57625. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  57626. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  57627. from ././common/inc/nv-time.h:29:
  57628. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  57629. 13 | struct timespec64 {
  57630. | ^~~~~~~~~~
  57631. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  57632. 77 | static inline struct timespec64 timespec64_add
  57633. | ^~~~~~~~~~~~~~
  57634. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57635. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  57636. | ^~~~~~~~~~~~~~
  57637. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  57638. 95 | static inline struct timespec64 timespec64_sub
  57639. | ^~~~~~~~~~~~~~
  57640. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  57641. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  57642. | ^~~~~~~~~~~~~~
  57643. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  57644. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  57645. | ^~~~~~~~~~~~~~~~
  57646. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  57647. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  57648. | ^~~~~~~~~~~~~~~~
  57649. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  57650. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57651. 122 | ktime_get_raw_ts64(&ts);
  57652. | ^~~
  57653. | |
  57654. | struct timespec64 *
  57655. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  57656. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  57657. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  57658. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  57659. from ././common/inc/nv-time.h:30:
  57660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57661. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57662. | ~~~~~~~~~~~~~~~~~~~^~
  57663. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  57664. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57665. 185 | ktime_get_raw_ts64(&tm_aux);
  57666. | ^~~~~~~
  57667. | |
  57668. | struct timespec64 *
  57669. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57670. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57671. | ~~~~~~~~~~~~~~~~~~~^~
  57672. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57673. 221 | ktime_get_raw_ts64(&tm_aux);
  57674. | ^~~~~~~
  57675. | |
  57676. | struct timespec64 *
  57677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57678. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57679. | ~~~~~~~~~~~~~~~~~~~^~
  57680. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  57681. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  57682. 287 | ktime_get_raw_ts64(&tm);
  57683. | ^~~
  57684. | |
  57685. | struct timespec64 *
  57686. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  57687. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  57688. | ~~~~~~~~~~~~~~~~~~~^~
  57689. nvidia-uvm/uvm_linux.h: At top level:
  57690. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  57691. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  57692. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  57693. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  57694. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  57695. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  57696. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  57697. 449 | #error "Unknown number of arguments"
  57698. | ^~~~~
  57699. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  57700. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  57701. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  57702. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  57703. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  57704. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  57705. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  57706. 485 | #error "Unknown number of arguments"
  57707. | ^~~~~
  57708. cc1: some warnings being treated as errors
  57709. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm.o] Error 1
  57710. CC [M] nvidia-uvm/uvm_range_allocator.o
  57711. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  57712. In file included from ././common/inc/nv-linux.h:34,
  57713. from nvidia-uvm/uvm_linux.h:40:
  57714. ././common/inc/nv-mm.h: At top level:
  57715. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  57716. 29 | typedef int vm_fault_t;
  57717. | ^~~~~~~~~~
  57718. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  57719. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  57720. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  57721. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  57722. from ././common/inc/nv-lock.h:35,
  57723. from ././common/inc/nv-linux.h:32:
  57724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  57725. 1311 | typedef __bitwise unsigned int vm_fault_t;
  57726. | ^~~~~~~~~~
  57727. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  57728. from ././common/inc/nv-time.h:28:
  57729. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  57730. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57731. 52 | #define current get_current()
  57732. | ^~~~~~~~~~~~~
  57733. | |
  57734. | struct task_struct *
  57735. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  57736. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57737. | ^~~~~~~
  57738. In file included from ././common/inc/nv-pgprot.h:30,
  57739. from ././common/inc/nv-linux.h:33:
  57740. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  57741. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57742. | ~~~~~~~~~~~~~~^~~~~
  57743. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57744. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57745. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  57746. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57747. | ~~~~~~~~~~~~~~^~~~~~~~
  57748. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  57749. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57750. | ^~~~~~~~
  57751. | |
  57752. | long unsigned int
  57753. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  57754. 2535 | unsigned int gup_flags, struct page **pages);
  57755. | ~~~~~~~~~~~~~~^~~~~
  57756. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  57757. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57758. | ^~~~~~~~~~~~~~ ~~~~~
  57759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  57760. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57761. | ^~~~~~~~~~~~~~
  57762. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  57763. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  57764. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  57765. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  57766. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  57767. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  57768. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57769. 8 | #define NULL ((void *)0)
  57770. | ^~~~~~~~~~~
  57771. | |
  57772. | void *
  57773. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  57774. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57775. | ^~~~
  57776. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  57777. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57778. | ~~~~~~~~~~~~~~^~~~~
  57779. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57780. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57781. | ^~
  57782. | |
  57783. | struct mm_struct *
  57784. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  57785. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57786. | ~~~~~~~~~~~~~~^~~~~~~~
  57787. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  57788. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57789. | ^~~~~~~~
  57790. | |
  57791. | long unsigned int
  57792. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  57793. 2535 | unsigned int gup_flags, struct page **pages);
  57794. | ~~~~~~~~~~~~~~^~~~~
  57795. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  57796. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57797. | ^~~~~~~~~~~~~~ ~~~~~
  57798. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  57799. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57800. | ^~~~~~~~~~~~~~
  57801. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  57802. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  57803. 237 | return (unsigned long)(vmf->virtual_address);
  57804. | ^~~~~~~~~~~~~~~
  57805. | real_address
  57806. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  57807. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57808. 246 | down_read(&mm->mmap_sem);
  57809. | ^~~~~~~~
  57810. | mmap_base
  57811. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  57812. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57813. 255 | up_read(&mm->mmap_sem);
  57814. | ^~~~~~~~
  57815. | mmap_base
  57816. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  57817. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57818. 264 | down_write(&mm->mmap_sem);
  57819. | ^~~~~~~~
  57820. | mmap_base
  57821. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  57822. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57823. 273 | up_write(&mm->mmap_sem);
  57824. | ^~~~~~~~
  57825. | mmap_base
  57826. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  57827. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57828. 282 | return rwsem_is_locked(&mm->mmap_sem);
  57829. | ^~~~~~~~
  57830. | mmap_base
  57831. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  57832. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57833. 291 | return &mm->mmap_sem;
  57834. | ^~~~~~~~
  57835. | mmap_base
  57836. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  57837. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  57838. 300 | vma->vm_flags |= flags;
  57839. | ^~
  57840. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  57841. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  57842. 309 | vma->vm_flags &= ~flags;
  57843. | ^~
  57844. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  57845. 502 | NV_MEMDBG_ADD(ptr, size);
  57846. | ^
  57847. In file included from ././common/inc/conftest.h:28,
  57848. from ././common/inc/nv-time.h:27,
  57849. from nvidia-uvm/uvm_linux.h:37,
  57850. from nvidia-uvm/uvm_range_tree.h:27,
  57851. from nvidia-uvm/uvm_range_allocator.h:27,
  57852. from nvidia-uvm/uvm_range_allocator.c:24:
  57853. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  57854. 74 | #error dma_buf_export() conftest failed!
  57855. | ^~~~~
  57856. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  57857. 87 | #error wait_on_bit_lock() conftest failed!
  57858. | ^~~~~
  57859. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  57860. 90 | #error radix_tree_replace_slot() conftest failed!
  57861. | ^~~~~
  57862. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  57863. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  57864. 502 | NV_MEMDBG_ADD(ptr, size);
  57865. | ^
  57866. In file included from nvidia-uvm/uvm_api.h:31:
  57867. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  57868. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  57869. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  57870. | ^~~~~~~~~~~~~~~~~~~~
  57871. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  57872. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  57873. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  57874. 502 | NV_MEMDBG_ADD(ptr, size);
  57875. | ^
  57876. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  57877. 502 | NV_MEMDBG_ADD(ptr, size);
  57878. | ^
  57879. In file included from ././common/inc/conftest.h:28,
  57880. from ././common/inc/nv-list-helpers.h:27,
  57881. from nvidia-uvm/uvm_rb_tree.h:32,
  57882. from nvidia-uvm/uvm_rb_tree.c:24:
  57883. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  57884. 74 | #error dma_buf_export() conftest failed!
  57885. | ^~~~~
  57886. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  57887. 87 | #error wait_on_bit_lock() conftest failed!
  57888. | ^~~~~
  57889. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  57890. 90 | #error radix_tree_replace_slot() conftest failed!
  57891. | ^~~~~
  57892. In file included from ././common/inc/nv-linux.h:34,
  57893. from nvidia-uvm/uvm_linux.h:40:
  57894. ././common/inc/nv-mm.h: At top level:
  57895. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  57896. 29 | typedef int vm_fault_t;
  57897. | ^~~~~~~~~~
  57898. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  57899. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  57900. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  57901. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  57902. from ././common/inc/nv-lock.h:35,
  57903. from ././common/inc/nv-linux.h:32:
  57904. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  57905. 1311 | typedef __bitwise unsigned int vm_fault_t;
  57906. | ^~~~~~~~~~
  57907. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  57908. from ././common/inc/nv-time.h:28:
  57909. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  57910. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  57911. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57912. 52 | #define current get_current()
  57913. | ^~~~~~~~~~~~~
  57914. | |
  57915. | struct task_struct *
  57916. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  57917. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57918. | ^~~~~~~
  57919. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  57920. 502 | NV_MEMDBG_ADD(ptr, size);
  57921. | ^
  57922. In file included from ././common/inc/nv-pgprot.h:30,
  57923. from ././common/inc/nv-linux.h:33:
  57924. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  57925. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57926. | ~~~~~~~~~~~~~~^~~~~
  57927. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57928. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57929. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  57930. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57931. | ~~~~~~~~~~~~~~^~~~~~~~
  57932. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  57933. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57934. | ^~~~~~~~
  57935. | |
  57936. | long unsigned int
  57937. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  57938. 2535 | unsigned int gup_flags, struct page **pages);
  57939. | ~~~~~~~~~~~~~~^~~~~
  57940. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rb_tree.o] Error 1
  57941. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  57942. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  57943. | ^~~~~~~~~~~~~~ ~~~~~
  57944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  57945. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57946. | ^~~~~~~~~~~~~~
  57947. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  57948. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  57949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  57950. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  57951. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  57952. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  57953. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57954. 8 | #define NULL ((void *)0)
  57955. | ^~~~~~~~~~~
  57956. | |
  57957. | void *
  57958. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  57959. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57960. | ^~~~
  57961. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  57962. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57963. | ~~~~~~~~~~~~~~^~~~~
  57964. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  57965. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57966. | ^~
  57967. | |
  57968. | struct mm_struct *
  57969. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  57970. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57971. | ~~~~~~~~~~~~~~^~~~~~~~
  57972. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  57973. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57974. | ^~~~~~~~
  57975. | |
  57976. | long unsigned int
  57977. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  57978. 2535 | unsigned int gup_flags, struct page **pages);
  57979. | ~~~~~~~~~~~~~~^~~~~
  57980. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  57981. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  57982. | ^~~~~~~~~~~~~~ ~~~~~
  57983. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  57984. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  57985. | ^~~~~~~~~~~~~~
  57986. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  57987. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  57988. 237 | return (unsigned long)(vmf->virtual_address);
  57989. | ^~~~~~~~~~~~~~~
  57990. | real_address
  57991. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  57992. 40 | struct timespec64 {
  57993. | ^~~~~~~~~~
  57994. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  57995. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  57996. 246 | down_read(&mm->mmap_sem);
  57997. | ^~~~~~~~
  57998. | mmap_base
  57999. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  58000. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  58001. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  58002. from ././common/inc/nv-time.h:29:
  58003. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  58004. 13 | struct timespec64 {
  58005. | ^~~~~~~~~~
  58006. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  58007. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58008. 255 | up_read(&mm->mmap_sem);
  58009. | ^~~~~~~~
  58010. | mmap_base
  58011. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  58012. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58013. 264 | down_write(&mm->mmap_sem);
  58014. | ^~~~~~~~
  58015. | mmap_base
  58016. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  58017. 77 | static inline struct timespec64 timespec64_add
  58018. | ^~~~~~~~~~~~~~
  58019. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  58020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  58021. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  58022. | ^~~~~~~~~~~~~~
  58023. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58024. 273 | up_write(&mm->mmap_sem);
  58025. | ^~~~~~~~
  58026. | mmap_base
  58027. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  58028. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58029. 282 | return rwsem_is_locked(&mm->mmap_sem);
  58030. | ^~~~~~~~
  58031. | mmap_base
  58032. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  58033. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  58034. 95 | static inline struct timespec64 timespec64_sub
  58035. | ^~~~~~~~~~~~~~
  58036. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58037. 291 | return &mm->mmap_sem;
  58038. | ^~~~~~~~
  58039. | mmap_base
  58040. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  58041. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  58042. | ^~~~~~~~~~~~~~
  58043. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  58044. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  58045. 300 | vma->vm_flags |= flags;
  58046. | ^~
  58047. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  58048. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  58049. 309 | vma->vm_flags &= ~flags;
  58050. | ^~
  58051. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  58052. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  58053. | ^~~~~~~~~~~~~~~~
  58054. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  58055. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  58056. | ^~~~~~~~~~~~~~~~
  58057. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  58058. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  58059. 122 | ktime_get_raw_ts64(&ts);
  58060. | ^~~
  58061. | |
  58062. | struct timespec64 *
  58063. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  58064. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  58065. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  58066. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  58067. from ././common/inc/nv-time.h:30:
  58068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  58069. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  58070. | ~~~~~~~~~~~~~~~~~~~^~
  58071. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  58072. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  58073. 185 | ktime_get_raw_ts64(&tm_aux);
  58074. | ^~~~~~~
  58075. | |
  58076. | struct timespec64 *
  58077. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  58078. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  58079. | ~~~~~~~~~~~~~~~~~~~^~
  58080. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  58081. 221 | ktime_get_raw_ts64(&tm_aux);
  58082. | ^~~~~~~
  58083. | |
  58084. | struct timespec64 *
  58085. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  58086. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  58087. | ~~~~~~~~~~~~~~~~~~~^~
  58088. CC [M] nvidia-uvm/uvm_va_range.o
  58089. nvidia-uvm/uvm_tools.c: At top level:
  58090. nvidia-uvm/uvm_tools.c:2317:5: warning: no previous prototype for 'uvm_tools_init' [-Wmissing-prototypes]
  58091. 2317 | int uvm_tools_init(dev_t uvm_base_dev)
  58092. | ^~~~~~~~~~~~~~
  58093. In file included from ././common/inc/nv-linux.h:34,
  58094. from nvidia-uvm/uvm_linux.h:40:
  58095. ././common/inc/nv-mm.h: At top level:
  58096. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  58097. 29 | typedef int vm_fault_t;
  58098. | ^~~~~~~~~~
  58099. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  58100. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  58101. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  58102. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  58103. from ././common/inc/nv-lock.h:35,
  58104. from ././common/inc/nv-linux.h:32:
  58105. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  58106. 1311 | typedef __bitwise unsigned int vm_fault_t;
  58107. | ^~~~~~~~~~
  58108. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  58109. from ././common/inc/nv-time.h:28:
  58110. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  58111. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58112. 52 | #define current get_current()
  58113. | ^~~~~~~~~~~~~
  58114. | |
  58115. | struct task_struct *
  58116. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  58117. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58118. | ^~~~~~~
  58119. In file included from ././common/inc/nv-pgprot.h:30,
  58120. from ././common/inc/nv-linux.h:33:
  58121. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  58122. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58123. | ~~~~~~~~~~~~~~^~~~~
  58124. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58125. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  58127. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58128. | ~~~~~~~~~~~~~~^~~~~~~~
  58129. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  58130. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58131. | ^~~~~~~~
  58132. | |
  58133. | long unsigned int
  58134. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  58135. 2535 | unsigned int gup_flags, struct page **pages);
  58136. | ~~~~~~~~~~~~~~^~~~~
  58137. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  58138. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58139. | ^~~~~~~~~~~~~~ ~~~~~
  58140. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  58141. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58142. | ^~~~~~~~~~~~~~
  58143. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  58144. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  58145. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  58146. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  58147. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  58148. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  58149. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58150. 8 | #define NULL ((void *)0)
  58151. | ^~~~~~~~~~~
  58152. | |
  58153. | void *
  58154. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  58155. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58156. | ^~~~
  58157. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  58158. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58159. | ~~~~~~~~~~~~~~^~~~~
  58160. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58161. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58162. | ^~
  58163. | |
  58164. | struct mm_struct *
  58165. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  58166. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58167. | ~~~~~~~~~~~~~~^~~~~~~~
  58168. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  58169. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58170. | ^~~~~~~~
  58171. | |
  58172. | long unsigned int
  58173. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  58174. 2535 | unsigned int gup_flags, struct page **pages);
  58175. | ~~~~~~~~~~~~~~^~~~~
  58176. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  58177. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58178. | ^~~~~~~~~~~~~~ ~~~~~
  58179. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  58180. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58181. | ^~~~~~~~~~~~~~
  58182. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  58183. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  58184. 237 | return (unsigned long)(vmf->virtual_address);
  58185. | ^~~~~~~~~~~~~~~
  58186. | real_address
  58187. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  58188. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58189. 246 | down_read(&mm->mmap_sem);
  58190. | ^~~~~~~~
  58191. | mmap_base
  58192. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  58193. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58194. 255 | up_read(&mm->mmap_sem);
  58195. | ^~~~~~~~
  58196. | mmap_base
  58197. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  58198. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58199. 264 | down_write(&mm->mmap_sem);
  58200. | ^~~~~~~~
  58201. | mmap_base
  58202. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  58203. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58204. 273 | up_write(&mm->mmap_sem);
  58205. | ^~~~~~~~
  58206. | mmap_base
  58207. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  58208. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58209. 282 | return rwsem_is_locked(&mm->mmap_sem);
  58210. | ^~~~~~~~
  58211. | mmap_base
  58212. nvidia-uvm/uvm_tools.c:2378:6: warning: no previous prototype for 'uvm_tools_exit' [-Wmissing-prototypes]
  58213. 2378 | void uvm_tools_exit(void)
  58214. | ^~~~~~~~~~~~~~
  58215. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  58216. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58217. 291 | return &mm->mmap_sem;
  58218. | ^~~~~~~~
  58219. | mmap_base
  58220. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  58221. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  58222. 300 | vma->vm_flags |= flags;
  58223. | ^~
  58224. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  58225. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  58226. 309 | vma->vm_flags &= ~flags;
  58227. | ^~
  58228. In file included from ././common/inc/nv-linux.h:34,
  58229. from nvidia-uvm/uvm_linux.h:40:
  58230. ././common/inc/nv-mm.h: At top level:
  58231. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  58232. 29 | typedef int vm_fault_t;
  58233. | ^~~~~~~~~~
  58234. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  58235. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  58236. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  58237. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  58238. from ././common/inc/nv-lock.h:35,
  58239. from ././common/inc/nv-linux.h:32:
  58240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  58241. 1311 | typedef __bitwise unsigned int vm_fault_t;
  58242. | ^~~~~~~~~~
  58243. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  58244. from ././common/inc/nv-time.h:28:
  58245. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  58246. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58247. 52 | #define current get_current()
  58248. | ^~~~~~~~~~~~~
  58249. | |
  58250. | struct task_struct *
  58251. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  58252. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58253. | ^~~~~~~
  58254. In file included from ././common/inc/nv-pgprot.h:30,
  58255. from ././common/inc/nv-linux.h:33:
  58256. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  58257. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58258. | ~~~~~~~~~~~~~~^~~~~
  58259. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58260. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58261. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  58262. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58263. | ~~~~~~~~~~~~~~^~~~~~~~
  58264. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  58265. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58266. | ^~~~~~~~
  58267. | |
  58268. | long unsigned int
  58269. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  58270. 2535 | unsigned int gup_flags, struct page **pages);
  58271. | ~~~~~~~~~~~~~~^~~~~
  58272. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  58273. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58274. | ^~~~~~~~~~~~~~ ~~~~~
  58275. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  58276. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58277. | ^~~~~~~~~~~~~~
  58278. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  58279. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  58280. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  58281. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  58282. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  58283. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  58284. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58285. 8 | #define NULL ((void *)0)
  58286. | ^~~~~~~~~~~
  58287. | |
  58288. | void *
  58289. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  58290. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58291. | ^~~~
  58292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  58293. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58294. | ~~~~~~~~~~~~~~^~~~~
  58295. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58296. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58297. | ^~
  58298. | |
  58299. | struct mm_struct *
  58300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  58301. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58302. | ~~~~~~~~~~~~~~^~~~~~~~
  58303. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  58304. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58305. | ^~~~~~~~
  58306. | |
  58307. | long unsigned int
  58308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  58309. 2535 | unsigned int gup_flags, struct page **pages);
  58310. | ~~~~~~~~~~~~~~^~~~~
  58311. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  58312. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58313. | ^~~~~~~~~~~~~~ ~~~~~
  58314. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  58315. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58316. | ^~~~~~~~~~~~~~
  58317. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  58318. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  58319. 237 | return (unsigned long)(vmf->virtual_address);
  58320. | ^~~~~~~~~~~~~~~
  58321. | real_address
  58322. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  58323. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58324. 246 | down_read(&mm->mmap_sem);
  58325. | ^~~~~~~~
  58326. | mmap_base
  58327. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  58328. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58329. 255 | up_read(&mm->mmap_sem);
  58330. | ^~~~~~~~
  58331. | mmap_base
  58332. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  58333. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58334. 264 | down_write(&mm->mmap_sem);
  58335. | ^~~~~~~~
  58336. | mmap_base
  58337. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  58338. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58339. 273 | up_write(&mm->mmap_sem);
  58340. | ^~~~~~~~
  58341. | mmap_base
  58342. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  58343. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58344. 282 | return rwsem_is_locked(&mm->mmap_sem);
  58345. | ^~~~~~~~
  58346. | mmap_base
  58347. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  58348. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58349. 291 | return &mm->mmap_sem;
  58350. | ^~~~~~~~
  58351. | mmap_base
  58352. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  58353. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  58354. 300 | vma->vm_flags |= flags;
  58355. | ^~
  58356. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  58357. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  58358. 309 | vma->vm_flags &= ~flags;
  58359. | ^~
  58360. In file included from ././common/inc/conftest.h:28,
  58361. from ././common/inc/nv-time.h:27,
  58362. from nvidia-uvm/uvm_linux.h:37,
  58363. from nvidia-uvm/uvm_common.h:43,
  58364. from nvidia-uvm/uvm_va_range.c:24:
  58365. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  58366. 74 | #error dma_buf_export() conftest failed!
  58367. | ^~~~~
  58368. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  58369. 87 | #error wait_on_bit_lock() conftest failed!
  58370. | ^~~~~
  58371. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  58372. 90 | #error radix_tree_replace_slot() conftest failed!
  58373. | ^~~~~
  58374. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  58375. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  58376. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  58377. | ^~~~~~~~~~~~~~~~~~~~~~~
  58378. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58379. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58380. 520 | NV_MEMDBG_ADD(ptr, size);
  58381. | ^
  58382. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  58383. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  58384. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  58385. | ^~~~~~~~~~~~~~~~~~~~~~~
  58386. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58387. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58388. 520 | NV_MEMDBG_ADD(ptr, size);
  58389. | ^
  58390. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  58391. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  58392. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  58393. | ^~~~~~~~~~~~~~~~~~~~~~~
  58394. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58395. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58396. 520 | NV_MEMDBG_ADD(ptr, size);
  58397. | ^
  58398. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  58399. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  58400. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  58401. | ^~~~~~~~~~~~~~~~~~~~~~~
  58402. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58403. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58404. 520 | NV_MEMDBG_ADD(ptr, size);
  58405. | ^
  58406. cc1: some warnings being treated as errors
  58407. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  58408. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  58409. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  58410. | ^~~~~~~~~~~~~~~~~~~~~~~
  58411. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58412. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tools.o] Error 1
  58413. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58414. 520 | NV_MEMDBG_ADD(ptr, size);
  58415. | ^
  58416. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  58417. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  58418. 533 | ptr = ioremap_cache_shared(phys, size);
  58419. | ^~~~~~~~~~~~~~~~~~~~
  58420. | ioremap_cache
  58421. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58422. 533 | ptr = ioremap_cache_shared(phys, size);
  58423. | ^
  58424. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58425. 556 | NV_MEMDBG_ADD(ptr, size);
  58426. | ^
  58427. CC [M] nvidia-uvm/uvm_va_policy.o
  58428. In file included from ././common/inc/conftest.h:28,
  58429. from ././common/inc/nv-time.h:27,
  58430. from nvidia-uvm/uvm_linux.h:37,
  58431. from nvidia-uvm/uvm_common.h:43,
  58432. from nvidia-uvm/uvm_va_policy.c:24:
  58433. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  58434. 74 | #error dma_buf_export() conftest failed!
  58435. | ^~~~~
  58436. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  58437. 87 | #error wait_on_bit_lock() conftest failed!
  58438. | ^~~~~
  58439. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  58440. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  58441. 533 | ptr = ioremap_cache_shared(phys, size);
  58442. | ^~~~~~~~~~~~~~~~~~~~
  58443. | ioremap_cache
  58444. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58445. 533 | ptr = ioremap_cache_shared(phys, size);
  58446. | ^
  58447. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58448. 556 | NV_MEMDBG_ADD(ptr, size);
  58449. | ^
  58450. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  58451. 90 | #error radix_tree_replace_slot() conftest failed!
  58452. | ^~~~~
  58453. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  58454. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  58455. 533 | ptr = ioremap_cache_shared(phys, size);
  58456. | ^~~~~~~~~~~~~~~~~~~~
  58457. | ioremap_cache
  58458. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58459. 533 | ptr = ioremap_cache_shared(phys, size);
  58460. | ^
  58461. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58462. 556 | NV_MEMDBG_ADD(ptr, size);
  58463. | ^
  58464. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  58465. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  58466. 533 | ptr = ioremap_cache_shared(phys, size);
  58467. | ^~~~~~~~~~~~~~~~~~~~
  58468. | ioremap_cache
  58469. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58470. 533 | ptr = ioremap_cache_shared(phys, size);
  58471. | ^
  58472. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58473. 556 | NV_MEMDBG_ADD(ptr, size);
  58474. | ^
  58475. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  58476. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  58477. 533 | ptr = ioremap_cache_shared(phys, size);
  58478. | ^~~~~~~~~~~~~~~~~~~~
  58479. | ioremap_cache
  58480. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58481. 533 | ptr = ioremap_cache_shared(phys, size);
  58482. | ^
  58483. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58484. 556 | NV_MEMDBG_ADD(ptr, size);
  58485. | ^
  58486. In file included from ././common/inc/nv-linux.h:34,
  58487. from nvidia-uvm/uvm_linux.h:40:
  58488. ././common/inc/nv-mm.h: At top level:
  58489. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  58490. 29 | typedef int vm_fault_t;
  58491. | ^~~~~~~~~~
  58492. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  58493. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  58494. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  58495. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  58496. from ././common/inc/nv-lock.h:35,
  58497. from ././common/inc/nv-linux.h:32:
  58498. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  58499. 1311 | typedef __bitwise unsigned int vm_fault_t;
  58500. | ^~~~~~~~~~
  58501. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  58502. from ././common/inc/nv-time.h:28:
  58503. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  58504. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58505. 52 | #define current get_current()
  58506. | ^~~~~~~~~~~~~
  58507. | |
  58508. | struct task_struct *
  58509. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  58510. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58511. | ^~~~~~~
  58512. In file included from ././common/inc/nv-pgprot.h:30,
  58513. from ././common/inc/nv-linux.h:33:
  58514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  58515. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58516. | ~~~~~~~~~~~~~~^~~~~
  58517. cc1: some warnings being treated as errors
  58518. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58519. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58520. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  58521. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58522. | ~~~~~~~~~~~~~~^~~~~~~~
  58523. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  58524. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58525. | ^~~~~~~~
  58526. | |
  58527. | long unsigned int
  58528. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  58529. 2535 | unsigned int gup_flags, struct page **pages);
  58530. | ~~~~~~~~~~~~~~^~~~~
  58531. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  58532. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58533. | ^~~~~~~~~~~~~~ ~~~~~
  58534. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  58535. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58536. | ^~~~~~~~~~~~~~
  58537. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  58538. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  58539. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  58540. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  58541. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  58542. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  58543. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58544. 8 | #define NULL ((void *)0)
  58545. | ^~~~~~~~~~~
  58546. | |
  58547. | void *
  58548. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  58549. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58550. | ^~~~
  58551. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  58552. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58553. | ~~~~~~~~~~~~~~^~~~~
  58554. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58555. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58556. | ^~
  58557. | |
  58558. | struct mm_struct *
  58559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  58560. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58561. | ~~~~~~~~~~~~~~^~~~~~~~
  58562. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  58563. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58564. | ^~~~~~~~
  58565. | |
  58566. | long unsigned int
  58567. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  58568. 2535 | unsigned int gup_flags, struct page **pages);
  58569. | ~~~~~~~~~~~~~~^~~~~
  58570. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  58571. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58572. | ^~~~~~~~~~~~~~ ~~~~~
  58573. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  58574. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58575. | ^~~~~~~~~~~~~~
  58576. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  58577. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  58578. 237 | return (unsigned long)(vmf->virtual_address);
  58579. | ^~~~~~~~~~~~~~~
  58580. | real_address
  58581. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  58582. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58583. 246 | down_read(&mm->mmap_sem);
  58584. | ^~~~~~~~
  58585. | mmap_base
  58586. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  58587. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58588. 255 | up_read(&mm->mmap_sem);
  58589. | ^~~~~~~~
  58590. | mmap_base
  58591. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  58592. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58593. 264 | down_write(&mm->mmap_sem);
  58594. | ^~~~~~~~
  58595. | mmap_base
  58596. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  58597. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58598. 273 | up_write(&mm->mmap_sem);
  58599. | ^~~~~~~~
  58600. | mmap_base
  58601. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  58602. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58603. 282 | return rwsem_is_locked(&mm->mmap_sem);
  58604. | ^~~~~~~~
  58605. | mmap_base
  58606. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  58607. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58608. 502 | NV_MEMDBG_ADD(ptr, size);
  58609. | ^
  58610. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  58611. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58612. 291 | return &mm->mmap_sem;
  58613. | ^~~~~~~~
  58614. | mmap_base
  58615. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  58616. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  58617. 300 | vma->vm_flags |= flags;
  58618. | ^~
  58619. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  58620. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  58621. 309 | vma->vm_flags &= ~flags;
  58622. | ^~
  58623. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  58624. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  58625. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58626. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  58627. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58628. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58629. | ^
  58630. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58631. 573 | NV_MEMDBG_ADD(ptr, size);
  58632. | ^
  58633. ././common/inc/nv-linux.h: In function 'nv_vmap':
  58634. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58635. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  58636. | ^
  58637. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_global.o] Error 1
  58638. CC [M] nvidia-uvm/uvm_va_block.o
  58639. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  58640. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  58641. 736 | return phys_to_dma(dev, pa);
  58642. | ^~~~~~~~~~~
  58643. | nv_phys_to_dma
  58644. In file included from ././common/inc/nv-linux.h:34,
  58645. from nvidia-uvm/uvm_linux.h:40:
  58646. ././common/inc/nv-mm.h: At top level:
  58647. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  58648. 29 | typedef int vm_fault_t;
  58649. | ^~~~~~~~~~
  58650. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  58651. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  58652. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  58653. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  58654. from ././common/inc/nv-lock.h:35,
  58655. from ././common/inc/nv-linux.h:32:
  58656. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  58657. 1311 | typedef __bitwise unsigned int vm_fault_t;
  58658. | ^~~~~~~~~~
  58659. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  58660. from ././common/inc/nv-time.h:28:
  58661. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  58662. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58663. 52 | #define current get_current()
  58664. | ^~~~~~~~~~~~~
  58665. | |
  58666. | struct task_struct *
  58667. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  58668. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58669. | ^~~~~~~
  58670. In file included from ././common/inc/nv-pgprot.h:30,
  58671. from ././common/inc/nv-linux.h:33:
  58672. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  58673. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58674. | ~~~~~~~~~~~~~~^~~~~
  58675. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58676. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  58678. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58679. | ~~~~~~~~~~~~~~^~~~~~~~
  58680. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  58681. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58682. | ^~~~~~~~
  58683. | |
  58684. | long unsigned int
  58685. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  58686. 2535 | unsigned int gup_flags, struct page **pages);
  58687. | ~~~~~~~~~~~~~~^~~~~
  58688. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  58689. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  58690. | ^~~~~~~~~~~~~~ ~~~~~
  58691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  58692. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58693. | ^~~~~~~~~~~~~~
  58694. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  58695. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  58696. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  58697. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  58698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  58699. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  58700. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58701. 8 | #define NULL ((void *)0)
  58702. | ^~~~~~~~~~~
  58703. | |
  58704. | void *
  58705. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  58706. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58707. | ^~~~
  58708. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  58709. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58710. | ~~~~~~~~~~~~~~^~~~~
  58711. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  58712. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58713. | ^~
  58714. | |
  58715. | struct mm_struct *
  58716. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  58717. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58718. | ~~~~~~~~~~~~~~^~~~~~~~
  58719. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  58720. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58721. | ^~~~~~~~
  58722. | |
  58723. | long unsigned int
  58724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  58725. 2535 | unsigned int gup_flags, struct page **pages);
  58726. | ~~~~~~~~~~~~~~^~~~~
  58727. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  58728. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  58729. | ^~~~~~~~~~~~~~ ~~~~~
  58730. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  58731. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  58732. | ^~~~~~~~~~~~~~
  58733. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  58734. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  58735. 237 | return (unsigned long)(vmf->virtual_address);
  58736. | ^~~~~~~~~~~~~~~
  58737. | real_address
  58738. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  58739. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58740. 246 | down_read(&mm->mmap_sem);
  58741. | ^~~~~~~~
  58742. | mmap_base
  58743. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  58744. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58745. 255 | up_read(&mm->mmap_sem);
  58746. | ^~~~~~~~
  58747. | mmap_base
  58748. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  58749. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58750. 264 | down_write(&mm->mmap_sem);
  58751. | ^~~~~~~~
  58752. | mmap_base
  58753. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  58754. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58755. 273 | up_write(&mm->mmap_sem);
  58756. | ^~~~~~~~
  58757. | mmap_base
  58758. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  58759. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58760. 282 | return rwsem_is_locked(&mm->mmap_sem);
  58761. | ^~~~~~~~
  58762. | mmap_base
  58763. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  58764. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  58765. 291 | return &mm->mmap_sem;
  58766. | ^~~~~~~~
  58767. | mmap_base
  58768. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  58769. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  58770. 300 | vma->vm_flags |= flags;
  58771. | ^~
  58772. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  58773. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  58774. 309 | vma->vm_flags &= ~flags;
  58775. | ^~
  58776. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  58777. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  58778. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58779. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  58780. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58781. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58782. | ^
  58783. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58784. 573 | NV_MEMDBG_ADD(ptr, size);
  58785. | ^
  58786. ././common/inc/nv-linux.h: In function 'nv_vmap':
  58787. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58788. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  58789. | ^
  58790. In file included from ././common/inc/conftest.h:28,
  58791. from ././common/inc/nv-time.h:27,
  58792. from nvidia-uvm/uvm_linux.h:37,
  58793. from nvidia-uvm/uvm_va_block.c:24:
  58794. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  58795. 74 | #error dma_buf_export() conftest failed!
  58796. | ^~~~~
  58797. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  58798. 87 | #error wait_on_bit_lock() conftest failed!
  58799. | ^~~~~
  58800. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  58801. 90 | #error radix_tree_replace_slot() conftest failed!
  58802. | ^~~~~
  58803. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  58804. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  58805. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  58806. | ^~~~~~~~~~~~~
  58807. | d_is_dir
  58808. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  58809. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  58810. 736 | return phys_to_dma(dev, pa);
  58811. | ^~~~~~~~~~~
  58812. | nv_phys_to_dma
  58813. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  58814. 40 | struct timespec64 {
  58815. | ^~~~~~~~~~
  58816. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  58817. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  58818. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  58819. from ././common/inc/nv-time.h:29:
  58820. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  58821. 13 | struct timespec64 {
  58822. | ^~~~~~~~~~
  58823. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  58824. 77 | static inline struct timespec64 timespec64_add
  58825. | ^~~~~~~~~~~~~~
  58826. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  58827. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  58828. | ^~~~~~~~~~~~~~
  58829. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  58830. 95 | static inline struct timespec64 timespec64_sub
  58831. | ^~~~~~~~~~~~~~
  58832. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  58833. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  58834. | ^~~~~~~~~~~~~~
  58835. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  58836. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  58837. | ^~~~~~~~~~~~~~~~
  58838. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  58839. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  58840. | ^~~~~~~~~~~~~~~~
  58841. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  58842. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  58843. 122 | ktime_get_raw_ts64(&ts);
  58844. | ^~~
  58845. | |
  58846. | struct timespec64 *
  58847. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  58848. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  58849. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  58850. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  58851. from ././common/inc/nv-time.h:30:
  58852. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  58853. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  58854. | ~~~~~~~~~~~~~~~~~~~^~
  58855. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  58856. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  58857. 185 | ktime_get_raw_ts64(&tm_aux);
  58858. | ^~~~~~~
  58859. | |
  58860. | struct timespec64 *
  58861. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  58862. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  58863. | ~~~~~~~~~~~~~~~~~~~^~
  58864. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  58865. 221 | ktime_get_raw_ts64(&tm_aux);
  58866. | ^~~~~~~
  58867. | |
  58868. | struct timespec64 *
  58869. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  58870. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  58871. | ~~~~~~~~~~~~~~~~~~~^~
  58872. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  58873. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  58874. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58875. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  58876. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58877. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58878. | ^
  58879. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58880. 573 | NV_MEMDBG_ADD(ptr, size);
  58881. | ^
  58882. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  58883. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58884. 502 | NV_MEMDBG_ADD(ptr, size);
  58885. | ^
  58886. ././common/inc/nv-linux.h: In function 'nv_vmap':
  58887. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58888. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  58889. | ^
  58890. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  58891. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  58892. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  58893. | ^~~~~~~~~~~~~~~~~~~~~~~
  58894. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  58895. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58896. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  58897. 287 | ktime_get_raw_ts64(&tm);
  58898. | ^~~
  58899. | |
  58900. | struct timespec64 *
  58901. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58902. 520 | NV_MEMDBG_ADD(ptr, size);
  58903. | ^
  58904. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  58905. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  58906. | ~~~~~~~~~~~~~~~~~~~^~
  58907. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  58908. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  58909. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58910. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  58911. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58912. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58913. | ^
  58914. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58915. 573 | NV_MEMDBG_ADD(ptr, size);
  58916. | ^
  58917. nvidia-uvm/uvm_linux.h: At top level:
  58918. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  58919. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  58920. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58921. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  58922. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  58923. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58924. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  58925. 449 | #error "Unknown number of arguments"
  58926. | ^~~~~
  58927. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  58928. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  58929. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58930. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  58931. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  58932. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58933. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  58934. 485 | #error "Unknown number of arguments"
  58935. | ^~~~~
  58936. ././common/inc/nv-linux.h: In function 'nv_vmap':
  58937. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58938. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  58939. | ^
  58940. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  58941. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  58942. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  58943. | ^~~~~~~~~~~~~
  58944. | d_is_dir
  58945. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  58946. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58947. 502 | NV_MEMDBG_ADD(ptr, size);
  58948. | ^
  58949. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  58950. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  58951. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58952. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  58953. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  58954. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  58955. | ^
  58956. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58957. 573 | NV_MEMDBG_ADD(ptr, size);
  58958. | ^
  58959. ././common/inc/nv-linux.h: In function 'nv_vmap':
  58960. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  58961. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  58962. | ^
  58963. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  58964. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  58965. 736 | return phys_to_dma(dev, pa);
  58966. | ^~~~~~~~~~~
  58967. | nv_phys_to_dma
  58968. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  58969. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  58970. 40 | struct timespec64 {
  58971. | ^~~~~~~~~~
  58972. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  58973. 736 | return phys_to_dma(dev, pa);
  58974. | ^~~~~~~~~~~
  58975. | nv_phys_to_dma
  58976. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  58977. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  58978. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  58979. from ././common/inc/nv-time.h:29:
  58980. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  58981. 13 | struct timespec64 {
  58982. | ^~~~~~~~~~
  58983. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  58984. 77 | static inline struct timespec64 timespec64_add
  58985. | ^~~~~~~~~~~~~~
  58986. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  58987. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  58988. | ^~~~~~~~~~~~~~
  58989. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  58990. 95 | static inline struct timespec64 timespec64_sub
  58991. | ^~~~~~~~~~~~~~
  58992. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  58993. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  58994. | ^~~~~~~~~~~~~~
  58995. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  58996. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  58997. | ^~~~~~~~~~~~~~~~
  58998. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  58999. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  59000. | ^~~~~~~~~~~~~~~~
  59001. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  59002. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59003. 122 | ktime_get_raw_ts64(&ts);
  59004. | ^~~
  59005. | |
  59006. | struct timespec64 *
  59007. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  59008. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  59009. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  59010. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  59011. from ././common/inc/nv-time.h:30:
  59012. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59013. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59014. | ~~~~~~~~~~~~~~~~~~~^~
  59015. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  59016. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59017. 185 | ktime_get_raw_ts64(&tm_aux);
  59018. | ^~~~~~~
  59019. | |
  59020. | struct timespec64 *
  59021. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59022. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59023. | ~~~~~~~~~~~~~~~~~~~^~
  59024. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59025. 221 | ktime_get_raw_ts64(&tm_aux);
  59026. | ^~~~~~~
  59027. | |
  59028. | struct timespec64 *
  59029. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59030. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59031. | ~~~~~~~~~~~~~~~~~~~^~
  59032. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  59033. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59034. 502 | NV_MEMDBG_ADD(ptr, size);
  59035. | ^
  59036. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  59037. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  59038. 736 | return phys_to_dma(dev, pa);
  59039. | ^~~~~~~~~~~
  59040. | nv_phys_to_dma
  59041. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  59042. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59043. 287 | ktime_get_raw_ts64(&tm);
  59044. | ^~~
  59045. | |
  59046. | struct timespec64 *
  59047. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59048. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59049. | ~~~~~~~~~~~~~~~~~~~^~
  59050. nvidia-uvm/uvm_linux.h: At top level:
  59051. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59052. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  59053. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59054. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59055. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  59056. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59057. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  59058. 449 | #error "Unknown number of arguments"
  59059. | ^~~~~
  59060. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59061. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  59062. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59063. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59064. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  59065. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59066. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  59067. 485 | #error "Unknown number of arguments"
  59068. | ^~~~~
  59069. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  59070. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  59071. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  59072. | ^~~~~~~~~~~~~
  59073. | d_is_dir
  59074. In file included from ././common/inc/nv-linux.h:34,
  59075. from nvidia-uvm/uvm_linux.h:40:
  59076. ././common/inc/nv-mm.h: At top level:
  59077. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  59078. 29 | typedef int vm_fault_t;
  59079. | ^~~~~~~~~~
  59080. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  59081. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  59082. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  59083. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  59084. from ././common/inc/nv-lock.h:35,
  59085. from ././common/inc/nv-linux.h:32:
  59086. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  59087. 1311 | typedef __bitwise unsigned int vm_fault_t;
  59088. | ^~~~~~~~~~
  59089. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  59090. from ././common/inc/nv-time.h:28:
  59091. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  59092. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59093. 52 | #define current get_current()
  59094. | ^~~~~~~~~~~~~
  59095. | |
  59096. | struct task_struct *
  59097. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  59098. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59099. | ^~~~~~~
  59100. In file included from ././common/inc/nv-pgprot.h:30,
  59101. from ././common/inc/nv-linux.h:33:
  59102. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  59103. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59104. | ~~~~~~~~~~~~~~^~~~~
  59105. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59106. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59107. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  59108. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59109. | ~~~~~~~~~~~~~~^~~~~~~~
  59110. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  59111. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59112. | ^~~~~~~~
  59113. | |
  59114. | long unsigned int
  59115. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  59116. 2535 | unsigned int gup_flags, struct page **pages);
  59117. | ~~~~~~~~~~~~~~^~~~~
  59118. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  59119. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59120. | ^~~~~~~~~~~~~~ ~~~~~
  59121. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  59122. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59123. | ^~~~~~~~~~~~~~
  59124. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  59125. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  59126. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  59127. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  59128. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  59129. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  59130. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  59131. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  59132. 533 | ptr = ioremap_cache_shared(phys, size);
  59133. | ^~~~~~~~~~~~~~~~~~~~
  59134. | ioremap_cache
  59135. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59136. 8 | #define NULL ((void *)0)
  59137. | ^~~~~~~~~~~
  59138. | |
  59139. | void *
  59140. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  59141. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59142. | ^~~~
  59143. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59144. 533 | ptr = ioremap_cache_shared(phys, size);
  59145. | ^
  59146. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  59147. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59148. | ~~~~~~~~~~~~~~^~~~~
  59149. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59150. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59151. | ^~
  59152. | |
  59153. | struct mm_struct *
  59154. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59155. 556 | NV_MEMDBG_ADD(ptr, size);
  59156. | ^
  59157. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  59158. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59159. | ~~~~~~~~~~~~~~^~~~~~~~
  59160. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  59161. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59162. | ^~~~~~~~
  59163. | |
  59164. | long unsigned int
  59165. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  59166. 2535 | unsigned int gup_flags, struct page **pages);
  59167. | ~~~~~~~~~~~~~~^~~~~
  59168. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  59169. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59170. | ^~~~~~~~~~~~~~ ~~~~~
  59171. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  59172. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59173. | ^~~~~~~~~~~~~~
  59174. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  59175. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  59176. 237 | return (unsigned long)(vmf->virtual_address);
  59177. | ^~~~~~~~~~~~~~~
  59178. | real_address
  59179. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  59180. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59181. 246 | down_read(&mm->mmap_sem);
  59182. | ^~~~~~~~
  59183. | mmap_base
  59184. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  59185. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59186. 255 | up_read(&mm->mmap_sem);
  59187. | ^~~~~~~~
  59188. | mmap_base
  59189. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  59190. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59191. 264 | down_write(&mm->mmap_sem);
  59192. | ^~~~~~~~
  59193. | mmap_base
  59194. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  59195. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59196. 273 | up_write(&mm->mmap_sem);
  59197. | ^~~~~~~~
  59198. | mmap_base
  59199. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  59200. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59201. 282 | return rwsem_is_locked(&mm->mmap_sem);
  59202. | ^~~~~~~~
  59203. | mmap_base
  59204. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  59205. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59206. 291 | return &mm->mmap_sem;
  59207. | ^~~~~~~~
  59208. | mmap_base
  59209. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  59210. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  59211. 300 | vma->vm_flags |= flags;
  59212. | ^~
  59213. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  59214. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  59215. 309 | vma->vm_flags &= ~flags;
  59216. | ^~
  59217. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  59218. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  59219. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  59220. | ^~~~~~~~~~~~~
  59221. | d_is_dir
  59222. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  59223. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  59224. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  59225. | ^~~~~~~~~~~~~
  59226. | d_is_dir
  59227. In file included from nvidia-uvm/uvm_api.h:31:
  59228. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  59229. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  59230. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  59231. | ^~~~~~~~~~~~~~~~~~~~
  59232. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  59233. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  59234. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  59235. | ^~~~~~~~~~~~~~~~~~~~~~~
  59236. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59237. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59238. 520 | NV_MEMDBG_ADD(ptr, size);
  59239. | ^
  59240. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  59241. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59242. 287 | ktime_get_raw_ts64(&tm);
  59243. | ^~~
  59244. | |
  59245. | struct timespec64 *
  59246. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59247. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59248. | ~~~~~~~~~~~~~~~~~~~^~
  59249. ././nvidia-uvm/uvm_linux.h: At top level:
  59250. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59251. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  59252. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59253. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59254. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  59255. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59256. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  59257. 449 | #error "Unknown number of arguments"
  59258. | ^~~~~
  59259. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59260. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  59261. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59262. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59263. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  59264. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59265. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  59266. 485 | #error "Unknown number of arguments"
  59267. | ^~~~~
  59268. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  59269. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  59270. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  59271. | ^~~~~~~~~~~~~~~~~~~~~~~
  59272. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59273. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59274. 520 | NV_MEMDBG_ADD(ptr, size);
  59275. | ^
  59276. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  59277. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59278. 287 | ktime_get_raw_ts64(&tm);
  59279. | ^~~
  59280. | |
  59281. | struct timespec64 *
  59282. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59283. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59284. | ~~~~~~~~~~~~~~~~~~~^~
  59285. nvidia-uvm/uvm_linux.h: At top level:
  59286. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59287. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  59288. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59289. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59290. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  59291. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59292. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  59293. 449 | #error "Unknown number of arguments"
  59294. | ^~~~~
  59295. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59296. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  59297. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59298. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59299. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  59300. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59301. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  59302. 485 | #error "Unknown number of arguments"
  59303. | ^~~~~
  59304. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  59305. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59306. 287 | ktime_get_raw_ts64(&tm);
  59307. | ^~~
  59308. | |
  59309. | struct timespec64 *
  59310. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59311. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59312. | ~~~~~~~~~~~~~~~~~~~^~
  59313. nvidia-uvm/uvm_linux.h: At top level:
  59314. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59315. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  59316. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59317. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59318. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  59319. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59320. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  59321. 449 | #error "Unknown number of arguments"
  59322. | ^~~~~
  59323. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59324. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  59325. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59326. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59327. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  59328. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59329. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  59330. 485 | #error "Unknown number of arguments"
  59331. | ^~~~~
  59332. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  59333. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  59334. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  59335. | ^~~~~~~~~~~~~~~~~~~~~~~
  59336. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59337. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59338. 520 | NV_MEMDBG_ADD(ptr, size);
  59339. | ^
  59340. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  59341. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  59342. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  59343. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  59344. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59345. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  59346. | ^
  59347. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59348. 573 | NV_MEMDBG_ADD(ptr, size);
  59349. | ^
  59350. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  59351. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  59352. 533 | ptr = ioremap_cache_shared(phys, size);
  59353. | ^~~~~~~~~~~~~~~~~~~~
  59354. | ioremap_cache
  59355. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59356. 533 | ptr = ioremap_cache_shared(phys, size);
  59357. | ^
  59358. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59359. 556 | NV_MEMDBG_ADD(ptr, size);
  59360. | ^
  59361. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  59362. from nvidia-uvm/uvm_gpu.h:37,
  59363. from nvidia-uvm/uvm_global.h:32,
  59364. from nvidia-uvm/uvm_va_space.h:28,
  59365. from nvidia-uvm/uvm_va_space_mm.c:26:
  59366. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  59367. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  59368. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  59369. | ^~~~~~~~~~~~~~~~~~~~
  59370. ././common/inc/nv-linux.h: In function 'nv_vmap':
  59371. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59372. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  59373. | ^
  59374. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  59375. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  59376. 533 | ptr = ioremap_cache_shared(phys, size);
  59377. | ^~~~~~~~~~~~~~~~~~~~
  59378. | ioremap_cache
  59379. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59380. 533 | ptr = ioremap_cache_shared(phys, size);
  59381. | ^
  59382. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59383. 556 | NV_MEMDBG_ADD(ptr, size);
  59384. | ^
  59385. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  59386. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  59387. 736 | return phys_to_dma(dev, pa);
  59388. | ^~~~~~~~~~~
  59389. | nv_phys_to_dma
  59390. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  59391. 40 | struct timespec64 {
  59392. | ^~~~~~~~~~
  59393. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  59394. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  59395. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  59396. from ././common/inc/nv-time.h:29:
  59397. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  59398. 13 | struct timespec64 {
  59399. | ^~~~~~~~~~
  59400. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  59401. 77 | static inline struct timespec64 timespec64_add
  59402. | ^~~~~~~~~~~~~~
  59403. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  59404. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  59405. | ^~~~~~~~~~~~~~
  59406. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  59407. 95 | static inline struct timespec64 timespec64_sub
  59408. | ^~~~~~~~~~~~~~
  59409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  59410. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  59411. | ^~~~~~~~~~~~~~
  59412. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  59413. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  59414. | ^~~~~~~~~~~~~~~~
  59415. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  59416. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  59417. | ^~~~~~~~~~~~~~~~
  59418. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  59419. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59420. 122 | ktime_get_raw_ts64(&ts);
  59421. | ^~~
  59422. | |
  59423. | struct timespec64 *
  59424. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  59425. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  59426. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  59427. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  59428. from ././common/inc/nv-time.h:30:
  59429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59430. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59431. | ~~~~~~~~~~~~~~~~~~~^~
  59432. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  59433. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59434. 185 | ktime_get_raw_ts64(&tm_aux);
  59435. | ^~~~~~~
  59436. | |
  59437. | struct timespec64 *
  59438. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59439. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59440. | ~~~~~~~~~~~~~~~~~~~^~
  59441. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59442. 221 | ktime_get_raw_ts64(&tm_aux);
  59443. | ^~~~~~~
  59444. | |
  59445. | struct timespec64 *
  59446. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59447. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59448. | ~~~~~~~~~~~~~~~~~~~^~
  59449. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  59450. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  59451. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  59452. | ^~~~~~~~~~~~~
  59453. | d_is_dir
  59454. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  59455. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  59456. 533 | ptr = ioremap_cache_shared(phys, size);
  59457. | ^~~~~~~~~~~~~~~~~~~~
  59458. | ioremap_cache
  59459. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59460. 533 | ptr = ioremap_cache_shared(phys, size);
  59461. | ^
  59462. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59463. 556 | NV_MEMDBG_ADD(ptr, size);
  59464. | ^
  59465. In file included from nvidia-uvm/uvm_api.h:31:
  59466. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  59467. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  59468. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  59469. | ^~~~~~~~~~~~~~~~~~~~
  59470. In file included from nvidia-uvm/uvm_api.h:31,
  59471. from nvidia-uvm/uvm_gpu.c:25:
  59472. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  59473. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  59474. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  59475. | ^~~~~~~~~~~~~~~~~~~~
  59476. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  59477. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59478. 502 | NV_MEMDBG_ADD(ptr, size);
  59479. | ^
  59480. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  59481. from nvidia-uvm/uvm_gpu.h:37,
  59482. from nvidia-uvm/uvm_global.h:32:
  59483. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  59484. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  59485. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  59486. | ^~~~~~~~~~~~~~~~~~~~
  59487. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  59488. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59489. 287 | ktime_get_raw_ts64(&tm);
  59490. | ^~~
  59491. | |
  59492. | struct timespec64 *
  59493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59494. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59495. | ~~~~~~~~~~~~~~~~~~~^~
  59496. nvidia-uvm/uvm_linux.h: At top level:
  59497. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59498. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  59499. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59500. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59501. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  59502. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59503. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  59504. 449 | #error "Unknown number of arguments"
  59505. | ^~~~~
  59506. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59507. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  59508. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59509. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59510. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  59511. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59512. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  59513. 485 | #error "Unknown number of arguments"
  59514. | ^~~~~
  59515. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  59516. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59517. 502 | NV_MEMDBG_ADD(ptr, size);
  59518. | ^
  59519. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  59520. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  59521. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  59522. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  59523. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59524. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  59525. | ^
  59526. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59527. 573 | NV_MEMDBG_ADD(ptr, size);
  59528. | ^
  59529. ././common/inc/nv-linux.h: In function 'nv_vmap':
  59530. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59531. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  59532. | ^
  59533. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  59534. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  59535. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  59536. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  59537. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59538. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  59539. | ^
  59540. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59541. 573 | NV_MEMDBG_ADD(ptr, size);
  59542. | ^
  59543. ././common/inc/nv-linux.h: In function 'nv_vmap':
  59544. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59545. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  59546. | ^
  59547. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  59548. 40 | struct timespec64 {
  59549. | ^~~~~~~~~~
  59550. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  59551. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  59552. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  59553. from ././common/inc/nv-time.h:29:
  59554. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  59555. 13 | struct timespec64 {
  59556. | ^~~~~~~~~~
  59557. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  59558. 77 | static inline struct timespec64 timespec64_add
  59559. | ^~~~~~~~~~~~~~
  59560. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  59561. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  59562. | ^~~~~~~~~~~~~~
  59563. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  59564. 95 | static inline struct timespec64 timespec64_sub
  59565. | ^~~~~~~~~~~~~~
  59566. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  59567. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  59568. | ^~~~~~~~~~~~~~
  59569. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  59570. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  59571. | ^~~~~~~~~~~~~~~~
  59572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  59573. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  59574. | ^~~~~~~~~~~~~~~~
  59575. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  59576. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59577. 122 | ktime_get_raw_ts64(&ts);
  59578. | ^~~
  59579. | |
  59580. | struct timespec64 *
  59581. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  59582. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  59583. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  59584. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  59585. from ././common/inc/nv-time.h:30:
  59586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59587. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59588. | ~~~~~~~~~~~~~~~~~~~^~
  59589. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  59590. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59591. 185 | ktime_get_raw_ts64(&tm_aux);
  59592. | ^~~~~~~
  59593. | |
  59594. | struct timespec64 *
  59595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59596. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59597. | ~~~~~~~~~~~~~~~~~~~^~
  59598. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  59599. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  59600. 736 | return phys_to_dma(dev, pa);
  59601. | ^~~~~~~~~~~
  59602. | nv_phys_to_dma
  59603. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59604. 221 | ktime_get_raw_ts64(&tm_aux);
  59605. | ^~~~~~~
  59606. | |
  59607. | struct timespec64 *
  59608. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59609. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59610. | ~~~~~~~~~~~~~~~~~~~^~
  59611. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  59612. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  59613. 736 | return phys_to_dma(dev, pa);
  59614. | ^~~~~~~~~~~
  59615. | nv_phys_to_dma
  59616. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  59617. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  59618. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  59619. | ^~~~~~~~~~~~~
  59620. | d_is_dir
  59621. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  59622. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  59623. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  59624. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  59625. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59626. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  59627. | ^
  59628. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59629. 573 | NV_MEMDBG_ADD(ptr, size);
  59630. | ^
  59631. In file included from ././common/inc/nv-linux.h:34,
  59632. from nvidia-uvm/uvm_linux.h:40:
  59633. ././common/inc/nv-mm.h: At top level:
  59634. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  59635. 29 | typedef int vm_fault_t;
  59636. | ^~~~~~~~~~
  59637. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  59638. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  59639. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  59640. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  59641. from ././common/inc/nv-lock.h:35,
  59642. from ././common/inc/nv-linux.h:32:
  59643. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  59644. 1311 | typedef __bitwise unsigned int vm_fault_t;
  59645. | ^~~~~~~~~~
  59646. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  59647. from ././common/inc/nv-time.h:28:
  59648. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  59649. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59650. 52 | #define current get_current()
  59651. | ^~~~~~~~~~~~~
  59652. | |
  59653. | struct task_struct *
  59654. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  59655. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59656. | ^~~~~~~
  59657. In file included from ././common/inc/nv-pgprot.h:30,
  59658. from ././common/inc/nv-linux.h:33:
  59659. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  59660. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59661. | ~~~~~~~~~~~~~~^~~~~
  59662. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  59663. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59664. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59665. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  59666. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  59667. | ^~~~~~~~~~~~~~~~~~~~~~~
  59668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  59669. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59670. | ~~~~~~~~~~~~~~^~~~~~~~
  59671. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59672. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59673. 520 | NV_MEMDBG_ADD(ptr, size);
  59674. | ^
  59675. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  59676. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59677. | ^~~~~~~~
  59678. | |
  59679. | long unsigned int
  59680. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  59681. 2535 | unsigned int gup_flags, struct page **pages);
  59682. | ~~~~~~~~~~~~~~^~~~~
  59683. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  59684. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59685. | ^~~~~~~~~~~~~~ ~~~~~
  59686. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  59687. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59688. | ^~~~~~~~~~~~~~
  59689. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  59690. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  59691. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  59692. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  59693. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  59694. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  59695. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59696. 8 | #define NULL ((void *)0)
  59697. | ^~~~~~~~~~~
  59698. | |
  59699. | void *
  59700. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  59701. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59702. | ^~~~
  59703. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  59704. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59705. | ~~~~~~~~~~~~~~^~~~~
  59706. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59707. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59708. | ^~
  59709. | |
  59710. | struct mm_struct *
  59711. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  59712. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59713. | ~~~~~~~~~~~~~~^~~~~~~~
  59714. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  59715. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59716. | ^~~~~~~~
  59717. | |
  59718. | long unsigned int
  59719. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  59720. 2535 | unsigned int gup_flags, struct page **pages);
  59721. | ~~~~~~~~~~~~~~^~~~~
  59722. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  59723. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59724. | ^~~~~~~~~~~~~~ ~~~~~
  59725. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  59726. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59727. | ^~~~~~~~~~~~~~
  59728. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  59729. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  59730. 237 | return (unsigned long)(vmf->virtual_address);
  59731. | ^~~~~~~~~~~~~~~
  59732. | real_address
  59733. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  59734. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59735. 246 | down_read(&mm->mmap_sem);
  59736. | ^~~~~~~~
  59737. | mmap_base
  59738. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  59739. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59740. 255 | up_read(&mm->mmap_sem);
  59741. | ^~~~~~~~
  59742. | mmap_base
  59743. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  59744. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59745. 264 | down_write(&mm->mmap_sem);
  59746. | ^~~~~~~~
  59747. | mmap_base
  59748. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  59749. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59750. 273 | up_write(&mm->mmap_sem);
  59751. | ^~~~~~~~
  59752. | mmap_base
  59753. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  59754. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59755. 282 | return rwsem_is_locked(&mm->mmap_sem);
  59756. | ^~~~~~~~
  59757. | mmap_base
  59758. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  59759. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59760. 291 | return &mm->mmap_sem;
  59761. | ^~~~~~~~
  59762. | mmap_base
  59763. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  59764. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  59765. 300 | vma->vm_flags |= flags;
  59766. | ^~
  59767. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  59768. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  59769. 309 | vma->vm_flags &= ~flags;
  59770. | ^~
  59771. cc1: some warnings being treated as errors
  59772. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  59773. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  59774. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  59775. | ^~~~~~~~~~~~~~~~~~~~
  59776. ././common/inc/nv-linux.h: In function 'nv_vmap':
  59777. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59778. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  59779. | ^
  59780. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  59781. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  59782. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  59783. | ^~~~~~~~~~~~~
  59784. | d_is_dir
  59785. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_space_mm.o] Error 1
  59786. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  59787. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59788. 287 | ktime_get_raw_ts64(&tm);
  59789. | ^~~
  59790. | |
  59791. | struct timespec64 *
  59792. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59793. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59794. | ~~~~~~~~~~~~~~~~~~~^~
  59795. nvidia-uvm/uvm_linux.h: At top level:
  59796. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59797. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  59798. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59799. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59800. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  59801. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59802. cc1: some warnings being treated as errors
  59803. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  59804. 449 | #error "Unknown number of arguments"
  59805. | ^~~~~
  59806. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59807. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  59808. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59809. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59810. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  59811. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59812. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  59813. 485 | #error "Unknown number of arguments"
  59814. | ^~~~~
  59815. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  59816. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59817. 502 | NV_MEMDBG_ADD(ptr, size);
  59818. | ^
  59819. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  59820. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  59821. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  59822. | ^~~~~~~~~~~~~~~~~~~~~~~
  59823. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  59824. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  59825. 520 | NV_MEMDBG_ADD(ptr, size);
  59826. | ^
  59827. CC [M] nvidia-uvm/uvm_range_group.o
  59828. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  59829. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  59830. 736 | return phys_to_dma(dev, pa);
  59831. | ^~~~~~~~~~~
  59832. | nv_phys_to_dma
  59833. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_procfs.o] Error 1
  59834. In file included from ././common/inc/nv-linux.h:34,
  59835. from nvidia-uvm/uvm_linux.h:40:
  59836. ././common/inc/nv-mm.h: At top level:
  59837. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  59838. 29 | typedef int vm_fault_t;
  59839. | ^~~~~~~~~~
  59840. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  59841. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  59842. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  59843. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  59844. from ././common/inc/nv-lock.h:35,
  59845. from ././common/inc/nv-linux.h:32:
  59846. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  59847. 1311 | typedef __bitwise unsigned int vm_fault_t;
  59848. | ^~~~~~~~~~
  59849. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  59850. from ././common/inc/nv-time.h:28:
  59851. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  59852. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59853. 52 | #define current get_current()
  59854. | ^~~~~~~~~~~~~
  59855. | |
  59856. | struct task_struct *
  59857. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  59858. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59859. | ^~~~~~~
  59860. In file included from ././common/inc/nv-pgprot.h:30,
  59861. from ././common/inc/nv-linux.h:33:
  59862. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  59863. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59864. | ~~~~~~~~~~~~~~^~~~~
  59865. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59866. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59867. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  59868. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59869. | ~~~~~~~~~~~~~~^~~~~~~~
  59870. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  59871. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59872. | ^~~~~~~~
  59873. | |
  59874. | long unsigned int
  59875. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  59876. 2535 | unsigned int gup_flags, struct page **pages);
  59877. | ~~~~~~~~~~~~~~^~~~~
  59878. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  59879. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  59880. | ^~~~~~~~~~~~~~ ~~~~~
  59881. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  59882. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59883. | ^~~~~~~~~~~~~~
  59884. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  59885. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  59886. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  59887. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  59888. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  59889. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  59890. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59891. 8 | #define NULL ((void *)0)
  59892. | ^~~~~~~~~~~
  59893. | |
  59894. | void *
  59895. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  59896. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59897. | ^~~~
  59898. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  59899. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59900. | ~~~~~~~~~~~~~~^~~~~
  59901. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  59902. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59903. | ^~
  59904. | |
  59905. | struct mm_struct *
  59906. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  59907. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59908. | ~~~~~~~~~~~~~~^~~~~~~~
  59909. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  59910. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59911. | ^~~~~~~~
  59912. | |
  59913. | long unsigned int
  59914. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  59915. 2535 | unsigned int gup_flags, struct page **pages);
  59916. | ~~~~~~~~~~~~~~^~~~~
  59917. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  59918. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  59919. | ^~~~~~~~~~~~~~ ~~~~~
  59920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  59921. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  59922. | ^~~~~~~~~~~~~~
  59923. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  59924. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  59925. 237 | return (unsigned long)(vmf->virtual_address);
  59926. | ^~~~~~~~~~~~~~~
  59927. | real_address
  59928. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  59929. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59930. 246 | down_read(&mm->mmap_sem);
  59931. | ^~~~~~~~
  59932. | mmap_base
  59933. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  59934. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59935. 255 | up_read(&mm->mmap_sem);
  59936. | ^~~~~~~~
  59937. | mmap_base
  59938. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  59939. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59940. 264 | down_write(&mm->mmap_sem);
  59941. | ^~~~~~~~
  59942. | mmap_base
  59943. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  59944. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59945. 273 | up_write(&mm->mmap_sem);
  59946. | ^~~~~~~~
  59947. | mmap_base
  59948. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  59949. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59950. 282 | return rwsem_is_locked(&mm->mmap_sem);
  59951. | ^~~~~~~~
  59952. | mmap_base
  59953. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  59954. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  59955. 291 | return &mm->mmap_sem;
  59956. | ^~~~~~~~
  59957. | mmap_base
  59958. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  59959. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  59960. 300 | vma->vm_flags |= flags;
  59961. | ^~
  59962. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  59963. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  59964. 309 | vma->vm_flags &= ~flags;
  59965. | ^~
  59966. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  59967. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  59968. 287 | ktime_get_raw_ts64(&tm);
  59969. | ^~~
  59970. | |
  59971. | struct timespec64 *
  59972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  59973. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  59974. | ~~~~~~~~~~~~~~~~~~~^~
  59975. CC [M] nvidia-uvm/uvm_gpu_replayable_faults.o
  59976. nvidia-uvm/uvm_linux.h: At top level:
  59977. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59978. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  59979. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59980. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59981. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  59982. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59983. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  59984. 449 | #error "Unknown number of arguments"
  59985. | ^~~~~
  59986. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59987. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  59988. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59989. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  59990. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  59991. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  59992. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  59993. 485 | #error "Unknown number of arguments"
  59994. | ^~~~~
  59995. In file included from ././common/inc/conftest.h:28,
  59996. from ././common/inc/nv-time.h:27,
  59997. from nvidia-uvm/uvm_linux.h:37,
  59998. from nvidia-uvm/uvm_range_tree.h:27,
  59999. from nvidia-uvm/uvm_range_group.h:28,
  60000. from nvidia-uvm/uvm_range_group.c:24:
  60001. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  60002. 74 | #error dma_buf_export() conftest failed!
  60003. | ^~~~~
  60004. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  60005. 87 | #error wait_on_bit_lock() conftest failed!
  60006. | ^~~~~
  60007. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  60008. 90 | #error radix_tree_replace_slot() conftest failed!
  60009. | ^~~~~
  60010. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  60011. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  60012. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  60013. | ^~~~~~~~~~~~~
  60014. | d_is_dir
  60015. In file included from ././common/inc/conftest.h:28,
  60016. from ././common/inc/nv-time.h:27,
  60017. from ././nvidia-uvm/uvm_linux.h:37,
  60018. from ././common/inc/nv_uvm_interface.h:37,
  60019. from nvidia-uvm/uvm_gpu_replayable_faults.c:25:
  60020. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  60021. 74 | #error dma_buf_export() conftest failed!
  60022. | ^~~~~
  60023. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  60024. 87 | #error wait_on_bit_lock() conftest failed!
  60025. | ^~~~~
  60026. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  60027. 90 | #error radix_tree_replace_slot() conftest failed!
  60028. | ^~~~~
  60029. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  60030. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  60031. 533 | ptr = ioremap_cache_shared(phys, size);
  60032. | ^~~~~~~~~~~~~~~~~~~~
  60033. | ioremap_cache
  60034. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  60035. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60036. 287 | ktime_get_raw_ts64(&tm);
  60037. | ^~~
  60038. | |
  60039. | struct timespec64 *
  60040. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60041. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60042. | ~~~~~~~~~~~~~~~~~~~^~
  60043. nvidia-uvm/uvm_linux.h: At top level:
  60044. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60045. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  60046. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60047. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60048. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  60049. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60050. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  60051. 449 | #error "Unknown number of arguments"
  60052. | ^~~~~
  60053. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60054. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  60055. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60056. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60057. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  60058. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60059. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  60060. 485 | #error "Unknown number of arguments"
  60061. | ^~~~~
  60062. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60063. 533 | ptr = ioremap_cache_shared(phys, size);
  60064. | ^
  60065. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60066. 556 | NV_MEMDBG_ADD(ptr, size);
  60067. | ^
  60068. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  60069. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  60070. 533 | ptr = ioremap_cache_shared(phys, size);
  60071. | ^~~~~~~~~~~~~~~~~~~~
  60072. | ioremap_cache
  60073. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60074. 533 | ptr = ioremap_cache_shared(phys, size);
  60075. | ^
  60076. In file included from ././common/inc/nv-procfs.h:26,
  60077. from nvidia-uvm/uvm_procfs.h:30,
  60078. from nvidia-uvm/uvm_gpu.c:31:
  60079. nvidia-uvm/uvm_gpu.c: In function 'init_parent_procfs_files':
  60080. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  60081. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  60082. | ^~~~
  60083. | |
  60084. | const nv_proc_ops_t * {aka const struct file_operations *}
  60085. nvidia-uvm/uvm_gpu.c:756:43: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  60086. 756 | parent_gpu->procfs.fault_stats_file = NV_CREATE_PROC_FILE("fault_stats",
  60087. | ^~~~~~~~~~~~~~~~~~~
  60088. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  60089. from ././common/inc/nv-linux.h:220:
  60090. /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 *'}
  60091. 111 | const struct proc_ops *,
  60092. | ^~~~~~~~~~~~~~~~~~~~~~~
  60093. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  60094. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  60095. | ^~~~
  60096. | |
  60097. | const nv_proc_ops_t * {aka const struct file_operations *}
  60098. nvidia-uvm/uvm_gpu.c:763:47: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  60099. 763 | parent_gpu->procfs.access_counters_file = NV_CREATE_PROC_FILE("access_counters",
  60100. | ^~~~~~~~~~~~~~~~~~~
  60101. /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 *'}
  60102. 111 | const struct proc_ops *,
  60103. | ^~~~~~~~~~~~~~~~~~~~~~~
  60104. cc1: some warnings being treated as errors
  60105. nvidia-uvm/uvm_gpu.c: In function 'init_procfs_files':
  60106. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  60107. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  60108. | ^~~~
  60109. | |
  60110. | const nv_proc_ops_t * {aka const struct file_operations *}
  60111. nvidia-uvm/uvm_gpu.c:834:29: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  60112. 834 | gpu->procfs.info_file = NV_CREATE_PROC_FILE("info", gpu->procfs.dir, gpu_info_entry, gpu);
  60113. | ^~~~~~~~~~~~~~~~~~~
  60114. /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 *'}
  60115. 111 | const struct proc_ops *,
  60116. | ^~~~~~~~~~~~~~~~~~~~~~~
  60117. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60118. 556 | NV_MEMDBG_ADD(ptr, size);
  60119. | ^
  60120. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  60121. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  60122. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  60123. | ^~~~~~~~~~~~~~~~~~~~
  60124. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_space.o] Error 1
  60125. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  60126. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  60127. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  60128. | ^~~~~~~~~~~~~~~~~~~~~~~
  60129. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60130. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60131. 520 | NV_MEMDBG_ADD(ptr, size);
  60132. | ^
  60133. nvidia-uvm/uvm_gpu_semaphore.c: At top level:
  60134. nvidia-uvm/uvm_gpu_semaphore.c:510:6: warning: no previous prototype for 'tracking_semaphore_uses_mutex' [-Wmissing-prototypes]
  60135. 510 | bool tracking_semaphore_uses_mutex(uvm_gpu_tracking_semaphore_t *tracking_semaphore)
  60136. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60137. CC [M] nvidia-uvm/uvm_gpu_non_replayable_faults.o
  60138. cc1: some warnings being treated as errors
  60139. nvidia-uvm/uvm_gpu.c: At top level:
  60140. nvidia-uvm/uvm_gpu.c:1884:12: warning: no previous prototype for 'uvm_gpu_get_by_parent_and_swizz_id_locked' [-Wmissing-prototypes]
  60141. 1884 | uvm_gpu_t *uvm_gpu_get_by_parent_and_swizz_id_locked(uvm_parent_gpu_t *parent_gpu, NvU32 swizz_id)
  60142. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60143. In file included from ././common/inc/conftest.h:28,
  60144. from ././common/inc/nv-time.h:27,
  60145. from ././nvidia-uvm/uvm_linux.h:37,
  60146. from ././common/inc/nv_uvm_interface.h:37,
  60147. from nvidia-uvm/uvm_gpu_non_replayable_faults.c:23:
  60148. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  60149. 74 | #error dma_buf_export() conftest failed!
  60150. | ^~~~~
  60151. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  60152. 87 | #error wait_on_bit_lock() conftest failed!
  60153. | ^~~~~
  60154. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  60155. 90 | #error radix_tree_replace_slot() conftest failed!
  60156. | ^~~~~
  60157. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_isr.o] Error 1
  60158. nvidia-uvm/uvm_gpu.c: In function 'init_procfs_peer_cap_files':
  60159. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  60160. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  60161. | ^~~~
  60162. | |
  60163. | const nv_proc_ops_t * {aka const struct file_operations *}
  60164. nvidia-uvm/uvm_gpu.c:2228:46: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  60165. 2228 | peer_caps->procfs.peer_file[local_idx] = NV_CREATE_PROC_FILE(gpu_dir_name,
  60166. | ^~~~~~~~~~~~~~~~~~~
  60167. /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 *'}
  60168. 111 | const struct proc_ops *,
  60169. | ^~~~~~~~~~~~~~~~~~~~~~~
  60170. CC [M] nvidia-uvm/uvm_gpu_access_counters.o
  60171. cc1: some warnings being treated as errors
  60172. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  60173. from nvidia-uvm/uvm_gpu.h:37,
  60174. from nvidia-uvm/uvm_rm_mem.c:25:
  60175. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  60176. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  60177. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  60178. | ^~~~~~~~~~~~~~~~~~~~
  60179. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_semaphore.o] Error 1
  60180. CC [M] nvidia-uvm/uvm_perf_events.o
  60181. In file included from ././common/inc/conftest.h:28,
  60182. from ././common/inc/nv-time.h:27,
  60183. from ././nvidia-uvm/uvm_linux.h:37,
  60184. from ././common/inc/nv_uvm_interface.h:37,
  60185. from nvidia-uvm/uvm_gpu_access_counters.c:24:
  60186. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  60187. 74 | #error dma_buf_export() conftest failed!
  60188. | ^~~~~
  60189. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  60190. 87 | #error wait_on_bit_lock() conftest failed!
  60191. | ^~~~~
  60192. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  60193. 90 | #error radix_tree_replace_slot() conftest failed!
  60194. | ^~~~~
  60195. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  60196. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  60197. 533 | ptr = ioremap_cache_shared(phys, size);
  60198. | ^~~~~~~~~~~~~~~~~~~~
  60199. | ioremap_cache
  60200. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60201. 533 | ptr = ioremap_cache_shared(phys, size);
  60202. | ^
  60203. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60204. 556 | NV_MEMDBG_ADD(ptr, size);
  60205. | ^
  60206. In file included from ././common/inc/conftest.h:28,
  60207. from ././common/inc/nv-time.h:27,
  60208. from nvidia-uvm/uvm_linux.h:37,
  60209. from nvidia-uvm/uvm_test.h:27,
  60210. from nvidia-uvm/uvm_perf_events.c:24:
  60211. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  60212. 74 | #error dma_buf_export() conftest failed!
  60213. | ^~~~~
  60214. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  60215. 87 | #error wait_on_bit_lock() conftest failed!
  60216. | ^~~~~
  60217. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  60218. 90 | #error radix_tree_replace_slot() conftest failed!
  60219. | ^~~~~
  60220. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  60221. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  60222. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  60223. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  60224. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60225. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  60226. | ^
  60227. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60228. 573 | NV_MEMDBG_ADD(ptr, size);
  60229. | ^
  60230. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  60231. from nvidia-uvm/uvm_mem.h:30:
  60232. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  60233. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  60234. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  60235. | ^~~~~~~~~~~~~~~~~~~~
  60236. ././common/inc/nv-linux.h: In function 'nv_vmap':
  60237. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60238. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  60239. | ^
  60240. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  60241. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  60242. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  60243. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  60244. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60245. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  60246. | ^
  60247. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60248. 573 | NV_MEMDBG_ADD(ptr, size);
  60249. | ^
  60250. ././common/inc/nv-linux.h: In function 'nv_vmap':
  60251. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60252. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  60253. | ^
  60254. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  60255. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  60256. 736 | return phys_to_dma(dev, pa);
  60257. | ^~~~~~~~~~~
  60258. | nv_phys_to_dma
  60259. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  60260. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  60261. 736 | return phys_to_dma(dev, pa);
  60262. | ^~~~~~~~~~~
  60263. | nv_phys_to_dma
  60264. cc1: some warnings being treated as errors
  60265. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rm_mem.o] Error 1
  60266. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  60267. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  60268. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  60269. | ^~~~~~~~~~~~~
  60270. | d_is_dir
  60271. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  60272. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60273. 502 | NV_MEMDBG_ADD(ptr, size);
  60274. | ^
  60275. CC [M] nvidia-uvm/uvm_perf_module.o
  60276. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  60277. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  60278. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  60279. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  60280. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60281. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  60282. | ^
  60283. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  60284. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  60285. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  60286. | ^~~~~~~~~~~~~
  60287. | d_is_dir
  60288. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60289. 573 | NV_MEMDBG_ADD(ptr, size);
  60290. | ^
  60291. ././common/inc/nv-linux.h: In function 'nv_vmap':
  60292. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60293. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  60294. | ^
  60295. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  60296. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60297. 502 | NV_MEMDBG_ADD(ptr, size);
  60298. | ^
  60299. In file included from ././common/inc/conftest.h:28,
  60300. from ././common/inc/nv-time.h:27,
  60301. from nvidia-uvm/uvm_linux.h:37,
  60302. from nvidia-uvm/uvm_perf_events.h:27,
  60303. from nvidia-uvm/uvm_perf_module.c:24:
  60304. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  60305. 74 | #error dma_buf_export() conftest failed!
  60306. | ^~~~~
  60307. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  60308. 87 | #error wait_on_bit_lock() conftest failed!
  60309. | ^~~~~
  60310. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  60311. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60312. 287 | ktime_get_raw_ts64(&tm);
  60313. | ^~~
  60314. | |
  60315. | struct timespec64 *
  60316. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60317. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60318. | ~~~~~~~~~~~~~~~~~~~^~
  60319. nvidia-uvm/uvm_linux.h: At top level:
  60320. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60321. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  60322. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60323. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60324. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  60325. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60326. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  60327. 449 | #error "Unknown number of arguments"
  60328. | ^~~~~
  60329. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60330. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  60331. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60332. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60333. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  60334. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60335. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  60336. 485 | #error "Unknown number of arguments"
  60337. | ^~~~~
  60338. In file included from ././common/inc/nv-linux.h:34,
  60339. from nvidia-uvm/uvm_linux.h:40:
  60340. ././common/inc/nv-mm.h: At top level:
  60341. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  60342. 29 | typedef int vm_fault_t;
  60343. | ^~~~~~~~~~
  60344. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  60345. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  60346. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  60347. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  60348. from ././common/inc/nv-lock.h:35,
  60349. from ././common/inc/nv-linux.h:32:
  60350. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  60351. 1311 | typedef __bitwise unsigned int vm_fault_t;
  60352. | ^~~~~~~~~~
  60353. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  60354. from ././common/inc/nv-time.h:28:
  60355. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  60356. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  60357. 52 | #define current get_current()
  60358. | ^~~~~~~~~~~~~
  60359. | |
  60360. | struct task_struct *
  60361. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  60362. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  60363. | ^~~~~~~
  60364. In file included from ././common/inc/nv-pgprot.h:30,
  60365. from ././common/inc/nv-linux.h:33:
  60366. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  60367. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60368. | ~~~~~~~~~~~~~~^~~~~
  60369. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  60370. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  60371. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  60372. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60373. | ~~~~~~~~~~~~~~^~~~~~~~
  60374. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  60375. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  60376. | ^~~~~~~~
  60377. | |
  60378. | long unsigned int
  60379. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  60380. 2535 | unsigned int gup_flags, struct page **pages);
  60381. | ~~~~~~~~~~~~~~^~~~~
  60382. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  60383. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  60384. 736 | return phys_to_dma(dev, pa);
  60385. | ^~~~~~~~~~~
  60386. | nv_phys_to_dma
  60387. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  60388. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  60389. | ^~~~~~~~~~~~~~ ~~~~~
  60390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  60391. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60392. | ^~~~~~~~~~~~~~
  60393. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  60394. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  60395. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  60396. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  60397. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  60398. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  60399. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  60400. 90 | #error radix_tree_replace_slot() conftest failed!
  60401. | ^~~~~
  60402. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  60403. 8 | #define NULL ((void *)0)
  60404. | ^~~~~~~~~~~
  60405. | |
  60406. | void *
  60407. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  60408. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  60409. | ^~~~
  60410. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  60411. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60412. | ~~~~~~~~~~~~~~^~~~~
  60413. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  60414. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  60415. | ^~
  60416. | |
  60417. | struct mm_struct *
  60418. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  60419. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60420. | ~~~~~~~~~~~~~~^~~~~~~~
  60421. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  60422. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  60423. | ^~~~~~~~
  60424. | |
  60425. | long unsigned int
  60426. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  60427. 2535 | unsigned int gup_flags, struct page **pages);
  60428. | ~~~~~~~~~~~~~~^~~~~
  60429. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  60430. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  60431. | ^~~~~~~~~~~~~~ ~~~~~
  60432. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  60433. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60434. | ^~~~~~~~~~~~~~
  60435. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  60436. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  60437. 237 | return (unsigned long)(vmf->virtual_address);
  60438. | ^~~~~~~~~~~~~~~
  60439. | real_address
  60440. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  60441. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60442. 246 | down_read(&mm->mmap_sem);
  60443. | ^~~~~~~~
  60444. | mmap_base
  60445. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  60446. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60447. 255 | up_read(&mm->mmap_sem);
  60448. | ^~~~~~~~
  60449. | mmap_base
  60450. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  60451. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60452. 264 | down_write(&mm->mmap_sem);
  60453. | ^~~~~~~~
  60454. | mmap_base
  60455. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  60456. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60457. 273 | up_write(&mm->mmap_sem);
  60458. | ^~~~~~~~
  60459. | mmap_base
  60460. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  60461. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60462. 282 | return rwsem_is_locked(&mm->mmap_sem);
  60463. | ^~~~~~~~
  60464. | mmap_base
  60465. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  60466. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60467. 291 | return &mm->mmap_sem;
  60468. | ^~~~~~~~
  60469. | mmap_base
  60470. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  60471. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  60472. 300 | vma->vm_flags |= flags;
  60473. | ^~
  60474. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  60475. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  60476. 309 | vma->vm_flags &= ~flags;
  60477. | ^~
  60478. cc1: some warnings being treated as errors
  60479. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  60480. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60481. 287 | ktime_get_raw_ts64(&tm);
  60482. | ^~~
  60483. | |
  60484. | struct timespec64 *
  60485. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60486. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60487. | ~~~~~~~~~~~~~~~~~~~^~
  60488. nvidia-uvm/uvm_linux.h: At top level:
  60489. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60490. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  60491. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60492. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60493. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  60494. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60495. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  60496. 449 | #error "Unknown number of arguments"
  60497. | ^~~~~
  60498. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60499. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  60500. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60501. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60502. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  60503. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60504. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  60505. 485 | #error "Unknown number of arguments"
  60506. | ^~~~~
  60507. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu.o] Error 1
  60508. In file included from ././common/inc/nv-procfs.h:26,
  60509. from nvidia-uvm/uvm_procfs.h:30,
  60510. from nvidia-uvm/uvm_channel.c:30:
  60511. nvidia-uvm/uvm_channel.c: In function 'manager_create_procfs':
  60512. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  60513. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  60514. | ^~~~
  60515. | |
  60516. | const nv_proc_ops_t * {aka const struct file_operations *}
  60517. nvidia-uvm/uvm_channel.c:3575:38: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  60518. 3575 | manager->procfs.pending_pushes = NV_CREATE_PROC_FILE("pending_pushes",
  60519. | ^~~~~~~~~~~~~~~~~~~
  60520. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  60521. from ././common/inc/nv-linux.h:220:
  60522. /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 *'}
  60523. 111 | const struct proc_ops *,
  60524. | ^~~~~~~~~~~~~~~~~~~~~~~
  60525. nvidia-uvm/uvm_channel.c: In function 'channel_create_procfs':
  60526. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  60527. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  60528. | ^~~~
  60529. | |
  60530. | const nv_proc_ops_t * {aka const struct file_operations *}
  60531. nvidia-uvm/uvm_channel.c:3648:28: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  60532. 3648 | channel->procfs.info = NV_CREATE_PROC_FILE("info", channel->procfs.dir, channel_info_entry, channel);
  60533. | ^~~~~~~~~~~~~~~~~~~
  60534. /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 *'}
  60535. 111 | const struct proc_ops *,
  60536. | ^~~~~~~~~~~~~~~~~~~~~~~
  60537. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  60538. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  60539. | ^~~~
  60540. | |
  60541. | const nv_proc_ops_t * {aka const struct file_operations *}
  60542. nvidia-uvm/uvm_channel.c:3652:30: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  60543. 3652 | channel->procfs.pushes = NV_CREATE_PROC_FILE("pushes", channel->procfs.dir, channel_pushes_entry, channel);
  60544. | ^~~~~~~~~~~~~~~~~~~
  60545. /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 *'}
  60546. 111 | const struct proc_ops *,
  60547. | ^~~~~~~~~~~~~~~~~~~~~~~
  60548. CC [M] nvidia-uvm/uvm_mmu.o
  60549. In file included from ././common/inc/nv-linux.h:34,
  60550. from nvidia-uvm/uvm_linux.h:40:
  60551. ././common/inc/nv-mm.h: At top level:
  60552. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  60553. 29 | typedef int vm_fault_t;
  60554. | ^~~~~~~~~~
  60555. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  60556. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  60557. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  60558. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  60559. from ././common/inc/nv-lock.h:35,
  60560. from ././common/inc/nv-linux.h:32:
  60561. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  60562. 1311 | typedef __bitwise unsigned int vm_fault_t;
  60563. | ^~~~~~~~~~
  60564. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  60565. from ././common/inc/nv-time.h:28:
  60566. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  60567. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  60568. 52 | #define current get_current()
  60569. | ^~~~~~~~~~~~~
  60570. | |
  60571. | struct task_struct *
  60572. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  60573. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  60574. | ^~~~~~~
  60575. In file included from ././common/inc/nv-pgprot.h:30,
  60576. from ././common/inc/nv-linux.h:33:
  60577. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  60578. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60579. | ~~~~~~~~~~~~~~^~~~~
  60580. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  60581. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  60582. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  60583. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60584. | ~~~~~~~~~~~~~~^~~~~~~~
  60585. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  60586. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  60587. | ^~~~~~~~
  60588. | |
  60589. | long unsigned int
  60590. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  60591. 2535 | unsigned int gup_flags, struct page **pages);
  60592. | ~~~~~~~~~~~~~~^~~~~
  60593. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  60594. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  60595. | ^~~~~~~~~~~~~~ ~~~~~
  60596. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  60597. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60598. | ^~~~~~~~~~~~~~
  60599. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  60600. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  60601. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  60602. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  60603. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  60604. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  60605. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  60606. 8 | #define NULL ((void *)0)
  60607. | ^~~~~~~~~~~
  60608. | |
  60609. | void *
  60610. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  60611. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  60612. | ^~~~
  60613. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  60614. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60615. | ~~~~~~~~~~~~~~^~~~~
  60616. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  60617. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  60618. | ^~
  60619. | |
  60620. | struct mm_struct *
  60621. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  60622. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60623. | ~~~~~~~~~~~~~~^~~~~~~~
  60624. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  60625. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  60626. | ^~~~~~~~
  60627. | |
  60628. | long unsigned int
  60629. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  60630. 2535 | unsigned int gup_flags, struct page **pages);
  60631. | ~~~~~~~~~~~~~~^~~~~
  60632. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  60633. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  60634. | ^~~~~~~~~~~~~~ ~~~~~
  60635. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  60636. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  60637. | ^~~~~~~~~~~~~~
  60638. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  60639. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  60640. 237 | return (unsigned long)(vmf->virtual_address);
  60641. | ^~~~~~~~~~~~~~~
  60642. | real_address
  60643. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  60644. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60645. 246 | down_read(&mm->mmap_sem);
  60646. | ^~~~~~~~
  60647. | mmap_base
  60648. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  60649. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60650. 255 | up_read(&mm->mmap_sem);
  60651. | ^~~~~~~~
  60652. | mmap_base
  60653. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  60654. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60655. 264 | down_write(&mm->mmap_sem);
  60656. | ^~~~~~~~
  60657. | mmap_base
  60658. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  60659. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60660. 273 | up_write(&mm->mmap_sem);
  60661. | ^~~~~~~~
  60662. | mmap_base
  60663. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  60664. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60665. 282 | return rwsem_is_locked(&mm->mmap_sem);
  60666. | ^~~~~~~~
  60667. | mmap_base
  60668. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  60669. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  60670. 291 | return &mm->mmap_sem;
  60671. | ^~~~~~~~
  60672. | mmap_base
  60673. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  60674. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  60675. 300 | vma->vm_flags |= flags;
  60676. | ^~
  60677. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  60678. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  60679. 309 | vma->vm_flags &= ~flags;
  60680. | ^~
  60681. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  60682. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  60683. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  60684. | ^~~~~~~~~~~~~
  60685. | d_is_dir
  60686. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  60687. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  60688. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  60689. | ^~~~~~~~~~~~~~~~~~~~~~~
  60690. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60691. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60692. 520 | NV_MEMDBG_ADD(ptr, size);
  60693. | ^
  60694. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  60695. 40 | struct timespec64 {
  60696. | ^~~~~~~~~~
  60697. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  60698. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  60699. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  60700. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  60701. from ././common/inc/nv-time.h:29:
  60702. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  60703. 13 | struct timespec64 {
  60704. | ^~~~~~~~~~
  60705. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  60706. 77 | static inline struct timespec64 timespec64_add
  60707. | ^~~~~~~~~~~~~~
  60708. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  60709. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  60710. | ^~~~~~~~~~~~~~
  60711. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  60712. 95 | static inline struct timespec64 timespec64_sub
  60713. | ^~~~~~~~~~~~~~
  60714. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  60715. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  60716. | ^~~~~~~~~~~~~~
  60717. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  60718. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  60719. | ^~~~~~~~~~~~~~~~
  60720. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  60721. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  60722. | ^~~~~~~~~~~~~~~~
  60723. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  60724. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60725. 122 | ktime_get_raw_ts64(&ts);
  60726. | ^~~
  60727. | |
  60728. | struct timespec64 *
  60729. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  60730. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  60731. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  60732. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  60733. from ././common/inc/nv-time.h:30:
  60734. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60735. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60736. | ~~~~~~~~~~~~~~~~~~~^~
  60737. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  60738. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60739. 185 | ktime_get_raw_ts64(&tm_aux);
  60740. | ^~~~~~~
  60741. | |
  60742. | struct timespec64 *
  60743. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60744. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60745. | ~~~~~~~~~~~~~~~~~~~^~
  60746. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60747. 221 | ktime_get_raw_ts64(&tm_aux);
  60748. | ^~~~~~~
  60749. | |
  60750. | struct timespec64 *
  60751. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60752. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60753. | ~~~~~~~~~~~~~~~~~~~^~
  60754. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60755. 287 | ktime_get_raw_ts64(&tm);
  60756. | ^~~
  60757. | |
  60758. | struct timespec64 *
  60759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60760. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60761. | ~~~~~~~~~~~~~~~~~~~^~
  60762. nvidia-uvm/uvm_linux.h: At top level:
  60763. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60764. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  60765. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60766. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60767. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  60768. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60769. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  60770. 449 | #error "Unknown number of arguments"
  60771. | ^~~~~
  60772. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60773. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  60774. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60775. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  60776. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  60777. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60778. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  60779. 485 | #error "Unknown number of arguments"
  60780. | ^~~~~
  60781. In file included from ././common/inc/conftest.h:28,
  60782. from ././common/inc/nv-time.h:27,
  60783. from nvidia-uvm/uvm_linux.h:37,
  60784. from nvidia-uvm/uvm_common.h:43,
  60785. from nvidia-uvm/uvm_mmu.c:24:
  60786. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  60787. 74 | #error dma_buf_export() conftest failed!
  60788. | ^~~~~
  60789. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  60790. 87 | #error wait_on_bit_lock() conftest failed!
  60791. | ^~~~~
  60792. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  60793. 90 | #error radix_tree_replace_slot() conftest failed!
  60794. | ^~~~~
  60795. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  60796. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  60797. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  60798. | ^~~~~~~~~~~~~~~~~~~~~~~
  60799. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60800. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60801. 520 | NV_MEMDBG_ADD(ptr, size);
  60802. | ^
  60803. cc1: some warnings being treated as errors
  60804. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mem.o] Error 1
  60805. CC [M] nvidia-uvm/uvm_pte_batch.o
  60806. cc1: some warnings being treated as errors
  60807. cc1: some warnings being treated as errors
  60808. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_tree.o] Error 1
  60809. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  60810. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  60811. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  60812. | ^~~~~~~~~~~~~~~~~~~~
  60813. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_channel.o] Error 1
  60814. CC [M] nvidia-uvm/uvm_tlb_batch.o
  60815. CC [M] nvidia-uvm/uvm_push.o
  60816. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  60817. 40 | struct timespec64 {
  60818. | ^~~~~~~~~~
  60819. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  60820. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  60821. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  60822. from ././common/inc/nv-time.h:29:
  60823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  60824. 13 | struct timespec64 {
  60825. | ^~~~~~~~~~
  60826. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  60827. 77 | static inline struct timespec64 timespec64_add
  60828. | ^~~~~~~~~~~~~~
  60829. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  60830. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  60831. | ^~~~~~~~~~~~~~
  60832. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  60833. 95 | static inline struct timespec64 timespec64_sub
  60834. | ^~~~~~~~~~~~~~
  60835. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  60836. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  60837. | ^~~~~~~~~~~~~~
  60838. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  60839. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  60840. | ^~~~~~~~~~~~~~~~
  60841. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  60842. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  60843. | ^~~~~~~~~~~~~~~~
  60844. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  60845. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60846. 122 | ktime_get_raw_ts64(&ts);
  60847. | ^~~
  60848. | |
  60849. | struct timespec64 *
  60850. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  60851. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  60852. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  60853. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  60854. from ././common/inc/nv-time.h:30:
  60855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60856. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60857. | ~~~~~~~~~~~~~~~~~~~^~
  60858. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  60859. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  60860. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60861. 185 | ktime_get_raw_ts64(&tm_aux);
  60862. | ^~~~~~~
  60863. | |
  60864. | struct timespec64 *
  60865. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  60866. 533 | ptr = ioremap_cache_shared(phys, size);
  60867. | ^~~~~~~~~~~~~~~~~~~~
  60868. | ioremap_cache
  60869. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60870. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60871. | ~~~~~~~~~~~~~~~~~~~^~
  60872. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60873. 533 | ptr = ioremap_cache_shared(phys, size);
  60874. | ^
  60875. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60876. 556 | NV_MEMDBG_ADD(ptr, size);
  60877. | ^
  60878. In file included from ././common/inc/conftest.h:28,
  60879. from ././common/inc/nv-time.h:27,
  60880. from nvidia-uvm/uvm_linux.h:37,
  60881. from nvidia-uvm/uvm_common.h:43,
  60882. from nvidia-uvm/uvm_hal_types.h:27,
  60883. from nvidia-uvm/uvm_pte_batch.h:28,
  60884. from nvidia-uvm/uvm_pte_batch.c:24:
  60885. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  60886. 74 | #error dma_buf_export() conftest failed!
  60887. | ^~~~~
  60888. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  60889. 87 | #error wait_on_bit_lock() conftest failed!
  60890. | ^~~~~
  60891. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  60892. 90 | #error radix_tree_replace_slot() conftest failed!
  60893. | ^~~~~
  60894. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60895. 221 | ktime_get_raw_ts64(&tm_aux);
  60896. | ^~~~~~~
  60897. | |
  60898. | struct timespec64 *
  60899. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60900. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60901. | ~~~~~~~~~~~~~~~~~~~^~
  60902. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  60903. from nvidia-uvm/uvm_channel.h:29,
  60904. from nvidia-uvm/uvm_push.h:29,
  60905. from nvidia-uvm/uvm_hal.h:31:
  60906. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  60907. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  60908. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  60909. | ^~~~~~~~~~~~~~~~~~~~
  60910. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  60911. 40 | struct timespec64 {
  60912. | ^~~~~~~~~~
  60913. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  60914. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  60915. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  60916. from ././common/inc/nv-time.h:29:
  60917. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  60918. 13 | struct timespec64 {
  60919. | ^~~~~~~~~~
  60920. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  60921. 77 | static inline struct timespec64 timespec64_add
  60922. | ^~~~~~~~~~~~~~
  60923. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  60924. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  60925. | ^~~~~~~~~~~~~~
  60926. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  60927. 95 | static inline struct timespec64 timespec64_sub
  60928. | ^~~~~~~~~~~~~~
  60929. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  60930. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  60931. | ^~~~~~~~~~~~~~
  60932. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  60933. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  60934. | ^~~~~~~~~~~~~~~~
  60935. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  60936. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  60937. | ^~~~~~~~~~~~~~~~
  60938. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  60939. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60940. 122 | ktime_get_raw_ts64(&ts);
  60941. | ^~~
  60942. | |
  60943. | struct timespec64 *
  60944. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  60945. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  60946. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  60947. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  60948. from ././common/inc/nv-time.h:30:
  60949. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60950. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60951. | ~~~~~~~~~~~~~~~~~~~^~
  60952. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  60953. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60954. 185 | ktime_get_raw_ts64(&tm_aux);
  60955. | ^~~~~~~
  60956. | |
  60957. | struct timespec64 *
  60958. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60959. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60960. | ~~~~~~~~~~~~~~~~~~~^~
  60961. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  60962. 221 | ktime_get_raw_ts64(&tm_aux);
  60963. | ^~~~~~~
  60964. | |
  60965. | struct timespec64 *
  60966. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  60967. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  60968. | ~~~~~~~~~~~~~~~~~~~^~
  60969. In file included from ././common/inc/conftest.h:28,
  60970. from ././common/inc/nv-time.h:27,
  60971. from nvidia-uvm/uvm_linux.h:37,
  60972. from nvidia-uvm/uvm_common.h:43,
  60973. from nvidia-uvm/uvm_hal_types.h:27,
  60974. from nvidia-uvm/uvm_tlb_batch.h:28,
  60975. from nvidia-uvm/uvm_tlb_batch.c:24:
  60976. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  60977. 74 | #error dma_buf_export() conftest failed!
  60978. | ^~~~~
  60979. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  60980. 87 | #error wait_on_bit_lock() conftest failed!
  60981. | ^~~~~
  60982. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  60983. 90 | #error radix_tree_replace_slot() conftest failed!
  60984. | ^~~~~
  60985. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  60986. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  60987. 533 | ptr = ioremap_cache_shared(phys, size);
  60988. | ^~~~~~~~~~~~~~~~~~~~
  60989. | ioremap_cache
  60990. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  60991. 533 | ptr = ioremap_cache_shared(phys, size);
  60992. | ^
  60993. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  60994. 556 | NV_MEMDBG_ADD(ptr, size);
  60995. | ^
  60996. In file included from ././common/inc/conftest.h:28,
  60997. from ././common/inc/nv-time.h:27,
  60998. from nvidia-uvm/uvm_linux.h:37,
  60999. from nvidia-uvm/uvm_extern_decl.h:27,
  61000. from nvidia-uvm/uvm_push.c:24:
  61001. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  61002. 74 | #error dma_buf_export() conftest failed!
  61003. | ^~~~~
  61004. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  61005. 87 | #error wait_on_bit_lock() conftest failed!
  61006. | ^~~~~
  61007. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  61008. 90 | #error radix_tree_replace_slot() conftest failed!
  61009. | ^~~~~
  61010. cc1: some warnings being treated as errors
  61011. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  61012. 40 | struct timespec64 {
  61013. | ^~~~~~~~~~
  61014. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  61015. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  61016. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  61017. from ././common/inc/nv-time.h:29:
  61018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  61019. 13 | struct timespec64 {
  61020. | ^~~~~~~~~~
  61021. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61022. 77 | static inline struct timespec64 timespec64_add
  61023. | ^~~~~~~~~~~~~~
  61024. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61025. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  61026. | ^~~~~~~~~~~~~~
  61027. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61028. 95 | static inline struct timespec64 timespec64_sub
  61029. | ^~~~~~~~~~~~~~
  61030. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61031. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  61032. | ^~~~~~~~~~~~~~
  61033. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  61034. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  61035. | ^~~~~~~~~~~~~~~~
  61036. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  61037. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  61038. | ^~~~~~~~~~~~~~~~
  61039. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  61040. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61041. 122 | ktime_get_raw_ts64(&ts);
  61042. | ^~~
  61043. | |
  61044. | struct timespec64 *
  61045. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  61046. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  61047. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  61048. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  61049. from ././common/inc/nv-time.h:30:
  61050. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61051. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61052. | ~~~~~~~~~~~~~~~~~~~^~
  61053. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_lock.o] Error 1
  61054. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  61055. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61056. 185 | ktime_get_raw_ts64(&tm_aux);
  61057. | ^~~~~~~
  61058. | |
  61059. | struct timespec64 *
  61060. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61061. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61062. | ~~~~~~~~~~~~~~~~~~~^~
  61063. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61064. 221 | ktime_get_raw_ts64(&tm_aux);
  61065. | ^~~~~~~
  61066. | |
  61067. | struct timespec64 *
  61068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61069. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61070. | ~~~~~~~~~~~~~~~~~~~^~
  61071. CC [M] nvidia-uvm/uvm_pushbuffer.o
  61072. In file included from ././common/inc/conftest.h:28,
  61073. from ././common/inc/nv-time.h:27,
  61074. from nvidia-uvm/uvm_linux.h:37,
  61075. from nvidia-uvm/uvm_common.h:43,
  61076. from nvidia-uvm/uvm_api.h:28,
  61077. from nvidia-uvm/uvm_pushbuffer.c:24:
  61078. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  61079. 74 | #error dma_buf_export() conftest failed!
  61080. | ^~~~~
  61081. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  61082. 87 | #error wait_on_bit_lock() conftest failed!
  61083. | ^~~~~
  61084. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  61085. 90 | #error radix_tree_replace_slot() conftest failed!
  61086. | ^~~~~
  61087. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  61088. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  61089. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  61090. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  61091. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  61092. 40 | struct timespec64 {
  61093. | ^~~~~~~~~~
  61094. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  61095. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  61096. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  61097. from ././common/inc/nv-time.h:29:
  61098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  61099. 13 | struct timespec64 {
  61100. | ^~~~~~~~~~
  61101. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61102. 77 | static inline struct timespec64 timespec64_add
  61103. | ^~~~~~~~~~~~~~
  61104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61105. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  61106. | ^~~~~~~~~~~~~~
  61107. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61108. 95 | static inline struct timespec64 timespec64_sub
  61109. | ^~~~~~~~~~~~~~
  61110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61111. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  61112. | ^~~~~~~~~~~~~~
  61113. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  61114. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  61115. | ^~~~~~~~~~~~~~~~
  61116. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  61117. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  61118. | ^~~~~~~~~~~~~~~~
  61119. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  61120. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61121. 122 | ktime_get_raw_ts64(&ts);
  61122. | ^~~
  61123. | |
  61124. | struct timespec64 *
  61125. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  61126. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  61127. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  61128. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  61129. from ././common/inc/nv-time.h:30:
  61130. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61131. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61132. | ~~~~~~~~~~~~~~~~~~~^~
  61133. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  61134. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61135. 185 | ktime_get_raw_ts64(&tm_aux);
  61136. | ^~~~~~~
  61137. | |
  61138. | struct timespec64 *
  61139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61140. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61141. | ~~~~~~~~~~~~~~~~~~~^~
  61142. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61143. 221 | ktime_get_raw_ts64(&tm_aux);
  61144. | ^~~~~~~
  61145. | |
  61146. | struct timespec64 *
  61147. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61148. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61149. | ~~~~~~~~~~~~~~~~~~~^~
  61150. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  61151. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  61152. | ^
  61153. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61154. 573 | NV_MEMDBG_ADD(ptr, size);
  61155. | ^
  61156. ././common/inc/nv-linux.h: In function 'nv_vmap':
  61157. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61158. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  61159. | ^
  61160. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  61161. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  61162. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  61163. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  61164. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  61165. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  61166. | ^
  61167. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61168. 573 | NV_MEMDBG_ADD(ptr, size);
  61169. | ^
  61170. ././common/inc/nv-linux.h: In function 'nv_vmap':
  61171. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61172. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  61173. | ^
  61174. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  61175. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  61176. 736 | return phys_to_dma(dev, pa);
  61177. | ^~~~~~~~~~~
  61178. | nv_phys_to_dma
  61179. cc1: some warnings being treated as errors
  61180. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  61181. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hal.o] Error 1
  61182. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  61183. 736 | return phys_to_dma(dev, pa);
  61184. | ^~~~~~~~~~~
  61185. | nv_phys_to_dma
  61186. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  61187. 40 | struct timespec64 {
  61188. | ^~~~~~~~~~
  61189. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  61190. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  61191. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  61192. from ././common/inc/nv-time.h:29:
  61193. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  61194. 13 | struct timespec64 {
  61195. | ^~~~~~~~~~
  61196. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61197. 77 | static inline struct timespec64 timespec64_add
  61198. | ^~~~~~~~~~~~~~
  61199. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61200. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  61201. | ^~~~~~~~~~~~~~
  61202. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61203. 95 | static inline struct timespec64 timespec64_sub
  61204. | ^~~~~~~~~~~~~~
  61205. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61206. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  61207. | ^~~~~~~~~~~~~~
  61208. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  61209. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  61210. | ^~~~~~~~~~~~~~~~
  61211. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  61212. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  61213. | ^~~~~~~~~~~~~~~~
  61214. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  61215. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61216. 122 | ktime_get_raw_ts64(&ts);
  61217. | ^~~
  61218. | |
  61219. | struct timespec64 *
  61220. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  61221. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  61222. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  61223. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  61224. from ././common/inc/nv-time.h:30:
  61225. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61226. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61227. | ~~~~~~~~~~~~~~~~~~~^~
  61228. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  61229. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61230. 185 | ktime_get_raw_ts64(&tm_aux);
  61231. | ^~~~~~~
  61232. | |
  61233. | struct timespec64 *
  61234. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61235. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61236. | ~~~~~~~~~~~~~~~~~~~^~
  61237. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61238. 221 | ktime_get_raw_ts64(&tm_aux);
  61239. | ^~~~~~~
  61240. | |
  61241. | struct timespec64 *
  61242. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61243. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61244. | ~~~~~~~~~~~~~~~~~~~^~
  61245. CC [M] nvidia-uvm/uvm_thread_context.o
  61246. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  61247. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  61248. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  61249. | ^~~~~~~~~~~~~
  61250. | d_is_dir
  61251. In file included from ././common/inc/conftest.h:28,
  61252. from ././common/inc/nv-time.h:27,
  61253. from nvidia-uvm/uvm_linux.h:37,
  61254. from nvidia-uvm/uvm_lock.h:28,
  61255. from nvidia-uvm/uvm_thread_context.h:28,
  61256. from nvidia-uvm/uvm_thread_context.c:25:
  61257. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  61258. 74 | #error dma_buf_export() conftest failed!
  61259. | ^~~~~
  61260. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  61261. 87 | #error wait_on_bit_lock() conftest failed!
  61262. | ^~~~~
  61263. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  61264. 90 | #error radix_tree_replace_slot() conftest failed!
  61265. | ^~~~~
  61266. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  61267. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61268. 502 | NV_MEMDBG_ADD(ptr, size);
  61269. | ^
  61270. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  61271. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  61272. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  61273. | ^~~~~~~~~~~~~
  61274. | d_is_dir
  61275. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  61276. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61277. 287 | ktime_get_raw_ts64(&tm);
  61278. | ^~~
  61279. | |
  61280. | struct timespec64 *
  61281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61282. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61283. | ~~~~~~~~~~~~~~~~~~~^~
  61284. nvidia-uvm/uvm_linux.h: At top level:
  61285. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  61286. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  61287. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61288. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  61289. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  61290. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61291. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  61292. 449 | #error "Unknown number of arguments"
  61293. | ^~~~~
  61294. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  61295. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  61296. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61297. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  61298. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  61299. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61300. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  61301. 485 | #error "Unknown number of arguments"
  61302. | ^~~~~
  61303. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  61304. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61305. 502 | NV_MEMDBG_ADD(ptr, size);
  61306. | ^
  61307. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  61308. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61309. 287 | ktime_get_raw_ts64(&tm);
  61310. | ^~~
  61311. | |
  61312. | struct timespec64 *
  61313. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61314. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61315. | ~~~~~~~~~~~~~~~~~~~^~
  61316. nvidia-uvm/uvm_linux.h: At top level:
  61317. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  61318. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  61319. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61320. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  61321. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  61322. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61323. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  61324. 449 | #error "Unknown number of arguments"
  61325. | ^~~~~
  61326. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  61327. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  61328. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61329. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  61330. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  61331. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61332. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  61333. 485 | #error "Unknown number of arguments"
  61334. | ^~~~~
  61335. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  61336. 40 | struct timespec64 {
  61337. | ^~~~~~~~~~
  61338. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  61339. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  61340. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  61341. from ././common/inc/nv-time.h:29:
  61342. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  61343. 13 | struct timespec64 {
  61344. | ^~~~~~~~~~
  61345. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61346. 77 | static inline struct timespec64 timespec64_add
  61347. | ^~~~~~~~~~~~~~
  61348. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61349. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  61350. | ^~~~~~~~~~~~~~
  61351. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61352. 95 | static inline struct timespec64 timespec64_sub
  61353. | ^~~~~~~~~~~~~~
  61354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61355. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  61356. | ^~~~~~~~~~~~~~
  61357. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  61358. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  61359. | ^~~~~~~~~~~~~~~~
  61360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  61361. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  61362. | ^~~~~~~~~~~~~~~~
  61363. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  61364. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61365. 122 | ktime_get_raw_ts64(&ts);
  61366. | ^~~
  61367. | |
  61368. | struct timespec64 *
  61369. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  61370. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  61371. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  61372. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  61373. from ././common/inc/nv-time.h:30:
  61374. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61375. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61376. | ~~~~~~~~~~~~~~~~~~~^~
  61377. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  61378. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61379. 185 | ktime_get_raw_ts64(&tm_aux);
  61380. | ^~~~~~~
  61381. | |
  61382. | struct timespec64 *
  61383. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61384. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61385. | ~~~~~~~~~~~~~~~~~~~^~
  61386. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61387. 221 | ktime_get_raw_ts64(&tm_aux);
  61388. | ^~~~~~~
  61389. | |
  61390. | struct timespec64 *
  61391. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61392. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61393. | ~~~~~~~~~~~~~~~~~~~^~
  61394. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  61395. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  61396. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  61397. | ^~~~~~~~~~~~~~~~~~~~~~~
  61398. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  61399. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61400. 520 | NV_MEMDBG_ADD(ptr, size);
  61401. | ^
  61402. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  61403. 40 | struct timespec64 {
  61404. | ^~~~~~~~~~
  61405. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  61406. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  61407. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  61408. from ././common/inc/nv-time.h:29:
  61409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  61410. 13 | struct timespec64 {
  61411. | ^~~~~~~~~~
  61412. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61413. 77 | static inline struct timespec64 timespec64_add
  61414. | ^~~~~~~~~~~~~~
  61415. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61416. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  61417. | ^~~~~~~~~~~~~~
  61418. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61419. 95 | static inline struct timespec64 timespec64_sub
  61420. | ^~~~~~~~~~~~~~
  61421. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61422. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  61423. | ^~~~~~~~~~~~~~
  61424. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  61425. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  61426. | ^~~~~~~~~~~~~~~~
  61427. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  61428. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  61429. | ^~~~~~~~~~~~~~~~
  61430. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  61431. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61432. 122 | ktime_get_raw_ts64(&ts);
  61433. | ^~~
  61434. | |
  61435. | struct timespec64 *
  61436. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  61437. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  61438. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  61439. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  61440. from ././common/inc/nv-time.h:30:
  61441. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61442. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61443. | ~~~~~~~~~~~~~~~~~~~^~
  61444. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  61445. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61446. 185 | ktime_get_raw_ts64(&tm_aux);
  61447. | ^~~~~~~
  61448. | |
  61449. | struct timespec64 *
  61450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61451. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61452. | ~~~~~~~~~~~~~~~~~~~^~
  61453. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61454. 221 | ktime_get_raw_ts64(&tm_aux);
  61455. | ^~~~~~~
  61456. | |
  61457. | struct timespec64 *
  61458. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61459. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61460. | ~~~~~~~~~~~~~~~~~~~^~
  61461. In file included from nvidia-uvm/uvm_range_allocator.h:28:
  61462. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  61463. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  61464. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  61465. | ^~~~~~~~~~~~~~~~~~~~
  61466. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  61467. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  61468. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  61469. | ^~~~~~~~~~~~~~~~~~~~~~~
  61470. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  61471. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61472. 520 | NV_MEMDBG_ADD(ptr, size);
  61473. | ^
  61474. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  61475. 40 | struct timespec64 {
  61476. | ^~~~~~~~~~
  61477. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  61478. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  61479. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  61480. from ././common/inc/nv-time.h:29:
  61481. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  61482. 13 | struct timespec64 {
  61483. | ^~~~~~~~~~
  61484. In file included from nvidia-uvm/uvm_api.h:31,
  61485. from nvidia-uvm/uvm_va_range.c:27:
  61486. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  61487. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  61488. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  61489. | ^~~~~~~~~~~~~~~~~~~~
  61490. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61491. 77 | static inline struct timespec64 timespec64_add
  61492. | ^~~~~~~~~~~~~~
  61493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61494. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  61495. | ^~~~~~~~~~~~~~
  61496. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61497. 95 | static inline struct timespec64 timespec64_sub
  61498. | ^~~~~~~~~~~~~~
  61499. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61500. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  61501. | ^~~~~~~~~~~~~~
  61502. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  61503. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  61504. | ^~~~~~~~~~~~~~~~
  61505. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  61506. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  61507. | ^~~~~~~~~~~~~~~~
  61508. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  61509. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61510. 122 | ktime_get_raw_ts64(&ts);
  61511. | ^~~
  61512. | |
  61513. | struct timespec64 *
  61514. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  61515. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  61516. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  61517. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  61518. from ././common/inc/nv-time.h:30:
  61519. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61520. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61521. | ~~~~~~~~~~~~~~~~~~~^~
  61522. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  61523. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61524. 185 | ktime_get_raw_ts64(&tm_aux);
  61525. | ^~~~~~~
  61526. | |
  61527. | struct timespec64 *
  61528. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61529. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61530. | ~~~~~~~~~~~~~~~~~~~^~
  61531. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61532. 221 | ktime_get_raw_ts64(&tm_aux);
  61533. | ^~~~~~~
  61534. | |
  61535. | struct timespec64 *
  61536. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61537. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61538. | ~~~~~~~~~~~~~~~~~~~^~
  61539. In file included from ././common/inc/nv-linux.h:34,
  61540. from nvidia-uvm/uvm_linux.h:40:
  61541. ././common/inc/nv-mm.h: At top level:
  61542. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  61543. 29 | typedef int vm_fault_t;
  61544. | ^~~~~~~~~~
  61545. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  61546. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  61547. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  61548. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  61549. from ././common/inc/nv-lock.h:35,
  61550. from ././common/inc/nv-linux.h:32:
  61551. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  61552. 1311 | typedef __bitwise unsigned int vm_fault_t;
  61553. | ^~~~~~~~~~
  61554. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  61555. from ././common/inc/nv-time.h:28:
  61556. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  61557. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61558. 52 | #define current get_current()
  61559. | ^~~~~~~~~~~~~
  61560. | |
  61561. | struct task_struct *
  61562. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  61563. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61564. | ^~~~~~~
  61565. In file included from ././common/inc/nv-pgprot.h:30,
  61566. from ././common/inc/nv-linux.h:33:
  61567. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  61568. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61569. | ~~~~~~~~~~~~~~^~~~~
  61570. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61571. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  61573. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61574. | ~~~~~~~~~~~~~~^~~~~~~~
  61575. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  61576. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61577. | ^~~~~~~~
  61578. | |
  61579. | long unsigned int
  61580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  61581. 2535 | unsigned int gup_flags, struct page **pages);
  61582. | ~~~~~~~~~~~~~~^~~~~
  61583. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  61584. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61585. | ^~~~~~~~~~~~~~ ~~~~~
  61586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  61587. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61588. | ^~~~~~~~~~~~~~
  61589. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  61590. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  61591. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  61592. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  61593. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  61594. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  61595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61596. 8 | #define NULL ((void *)0)
  61597. | ^~~~~~~~~~~
  61598. | |
  61599. | void *
  61600. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  61601. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  61602. | ^~~~
  61603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  61604. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61605. | ~~~~~~~~~~~~~~^~~~~
  61606. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61607. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  61608. | ^~
  61609. | |
  61610. | struct mm_struct *
  61611. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  61612. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61613. | ~~~~~~~~~~~~~~^~~~~~~~
  61614. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  61615. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  61616. | ^~~~~~~~
  61617. | |
  61618. | long unsigned int
  61619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  61620. 2535 | unsigned int gup_flags, struct page **pages);
  61621. | ~~~~~~~~~~~~~~^~~~~
  61622. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  61623. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  61624. | ^~~~~~~~~~~~~~ ~~~~~
  61625. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  61626. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61627. | ^~~~~~~~~~~~~~
  61628. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  61629. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  61630. 237 | return (unsigned long)(vmf->virtual_address);
  61631. | ^~~~~~~~~~~~~~~
  61632. | real_address
  61633. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  61634. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61635. 246 | down_read(&mm->mmap_sem);
  61636. | ^~~~~~~~
  61637. | mmap_base
  61638. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  61639. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61640. 255 | up_read(&mm->mmap_sem);
  61641. | ^~~~~~~~
  61642. | mmap_base
  61643. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  61644. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61645. 264 | down_write(&mm->mmap_sem);
  61646. | ^~~~~~~~
  61647. | mmap_base
  61648. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  61649. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61650. 273 | up_write(&mm->mmap_sem);
  61651. | ^~~~~~~~
  61652. | mmap_base
  61653. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  61654. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61655. 282 | return rwsem_is_locked(&mm->mmap_sem);
  61656. | ^~~~~~~~
  61657. | mmap_base
  61658. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  61659. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61660. 291 | return &mm->mmap_sem;
  61661. | ^~~~~~~~
  61662. | mmap_base
  61663. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  61664. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  61665. 300 | vma->vm_flags |= flags;
  61666. | ^~
  61667. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  61668. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  61669. 309 | vma->vm_flags &= ~flags;
  61670. | ^~
  61671. cc1: some warnings being treated as errors
  61672. In file included from ././common/inc/nv-linux.h:34,
  61673. from ././nvidia-uvm/uvm_linux.h:40:
  61674. ././common/inc/nv-mm.h: At top level:
  61675. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  61676. 29 | typedef int vm_fault_t;
  61677. | ^~~~~~~~~~
  61678. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  61679. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  61680. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  61681. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  61682. from ././common/inc/nv-lock.h:35,
  61683. from ././common/inc/nv-linux.h:32:
  61684. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  61685. 1311 | typedef __bitwise unsigned int vm_fault_t;
  61686. | ^~~~~~~~~~
  61687. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  61688. from ././common/inc/nv-time.h:28:
  61689. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  61690. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61691. 52 | #define current get_current()
  61692. | ^~~~~~~~~~~~~
  61693. | |
  61694. | struct task_struct *
  61695. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  61696. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61697. | ^~~~~~~
  61698. In file included from ././common/inc/nv-pgprot.h:30,
  61699. from ././common/inc/nv-linux.h:33:
  61700. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  61701. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61702. | ~~~~~~~~~~~~~~^~~~~
  61703. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61704. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61705. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  61706. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61707. | ~~~~~~~~~~~~~~^~~~~~~~
  61708. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  61709. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61710. | ^~~~~~~~
  61711. | |
  61712. | long unsigned int
  61713. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  61714. 2535 | unsigned int gup_flags, struct page **pages);
  61715. | ~~~~~~~~~~~~~~^~~~~
  61716. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_allocator.o] Error 1
  61717. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  61718. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61719. | ^~~~~~~~~~~~~~ ~~~~~
  61720. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  61721. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61722. | ^~~~~~~~~~~~~~
  61723. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  61724. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  61725. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  61726. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  61727. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  61728. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  61729. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61730. 8 | #define NULL ((void *)0)
  61731. | ^~~~~~~~~~~
  61732. | |
  61733. | void *
  61734. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  61735. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  61736. | ^~~~
  61737. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  61738. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61739. | ~~~~~~~~~~~~~~^~~~~
  61740. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61741. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  61742. | ^~
  61743. | |
  61744. | struct mm_struct *
  61745. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  61746. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61747. | ~~~~~~~~~~~~~~^~~~~~~~
  61748. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  61749. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  61750. | ^~~~~~~~
  61751. | |
  61752. | long unsigned int
  61753. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  61754. 2535 | unsigned int gup_flags, struct page **pages);
  61755. | ~~~~~~~~~~~~~~^~~~~
  61756. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  61757. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  61758. | ^~~~~~~~~~~~~~ ~~~~~
  61759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  61760. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61761. | ^~~~~~~~~~~~~~
  61762. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  61763. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  61764. 237 | return (unsigned long)(vmf->virtual_address);
  61765. | ^~~~~~~~~~~~~~~
  61766. | real_address
  61767. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  61768. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61769. 246 | down_read(&mm->mmap_sem);
  61770. | ^~~~~~~~
  61771. | mmap_base
  61772. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  61773. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61774. 255 | up_read(&mm->mmap_sem);
  61775. | ^~~~~~~~
  61776. | mmap_base
  61777. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  61778. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61779. 264 | down_write(&mm->mmap_sem);
  61780. | ^~~~~~~~
  61781. | mmap_base
  61782. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  61783. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61784. 273 | up_write(&mm->mmap_sem);
  61785. | ^~~~~~~~
  61786. | mmap_base
  61787. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  61788. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61789. 282 | return rwsem_is_locked(&mm->mmap_sem);
  61790. | ^~~~~~~~
  61791. | mmap_base
  61792. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  61793. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  61794. 291 | return &mm->mmap_sem;
  61795. | ^~~~~~~~
  61796. | mmap_base
  61797. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  61798. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  61799. 300 | vma->vm_flags |= flags;
  61800. | ^~
  61801. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  61802. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  61803. 309 | vma->vm_flags &= ~flags;
  61804. | ^~
  61805. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  61806. 40 | struct timespec64 {
  61807. | ^~~~~~~~~~
  61808. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  61809. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  61810. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  61811. from ././common/inc/nv-time.h:29:
  61812. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  61813. 13 | struct timespec64 {
  61814. | ^~~~~~~~~~
  61815. CC [M] nvidia-uvm/uvm_tracker.o
  61816. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61817. 77 | static inline struct timespec64 timespec64_add
  61818. | ^~~~~~~~~~~~~~
  61819. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61820. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  61821. | ^~~~~~~~~~~~~~
  61822. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61823. 95 | static inline struct timespec64 timespec64_sub
  61824. | ^~~~~~~~~~~~~~
  61825. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61826. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  61827. | ^~~~~~~~~~~~~~
  61828. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  61829. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  61830. | ^~~~~~~~~~~~~~~~
  61831. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  61832. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  61833. | ^~~~~~~~~~~~~~~~
  61834. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  61835. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61836. 122 | ktime_get_raw_ts64(&ts);
  61837. | ^~~
  61838. | |
  61839. | struct timespec64 *
  61840. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  61841. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  61842. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  61843. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  61844. from ././common/inc/nv-time.h:30:
  61845. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61846. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61847. | ~~~~~~~~~~~~~~~~~~~^~
  61848. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  61849. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61850. 185 | ktime_get_raw_ts64(&tm_aux);
  61851. | ^~~~~~~
  61852. | |
  61853. | struct timespec64 *
  61854. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61855. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61856. | ~~~~~~~~~~~~~~~~~~~^~
  61857. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61858. 221 | ktime_get_raw_ts64(&tm_aux);
  61859. | ^~~~~~~
  61860. | |
  61861. | struct timespec64 *
  61862. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61863. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61864. | ~~~~~~~~~~~~~~~~~~~^~
  61865. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  61866. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  61867. 533 | ptr = ioremap_cache_shared(phys, size);
  61868. | ^~~~~~~~~~~~~~~~~~~~
  61869. | ioremap_cache
  61870. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  61871. 533 | ptr = ioremap_cache_shared(phys, size);
  61872. | ^
  61873. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61874. 556 | NV_MEMDBG_ADD(ptr, size);
  61875. | ^
  61876. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  61877. 40 | struct timespec64 {
  61878. | ^~~~~~~~~~
  61879. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  61880. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  61881. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  61882. from ././common/inc/nv-time.h:29:
  61883. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  61884. 13 | struct timespec64 {
  61885. | ^~~~~~~~~~
  61886. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61887. 77 | static inline struct timespec64 timespec64_add
  61888. | ^~~~~~~~~~~~~~
  61889. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61890. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  61891. | ^~~~~~~~~~~~~~
  61892. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  61893. 95 | static inline struct timespec64 timespec64_sub
  61894. | ^~~~~~~~~~~~~~
  61895. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  61896. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  61897. | ^~~~~~~~~~~~~~
  61898. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  61899. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  61900. | ^~~~~~~~~~~~~~~~
  61901. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  61902. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  61903. | ^~~~~~~~~~~~~~~~
  61904. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  61905. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61906. 122 | ktime_get_raw_ts64(&ts);
  61907. | ^~~
  61908. | |
  61909. | struct timespec64 *
  61910. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  61911. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  61912. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  61913. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  61914. from ././common/inc/nv-time.h:30:
  61915. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61916. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61917. | ~~~~~~~~~~~~~~~~~~~^~
  61918. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  61919. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  61920. 533 | ptr = ioremap_cache_shared(phys, size);
  61921. | ^~~~~~~~~~~~~~~~~~~~
  61922. | ioremap_cache
  61923. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  61924. 533 | ptr = ioremap_cache_shared(phys, size);
  61925. | ^
  61926. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  61927. 556 | NV_MEMDBG_ADD(ptr, size);
  61928. | ^
  61929. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  61930. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61931. 185 | ktime_get_raw_ts64(&tm_aux);
  61932. | ^~~~~~~
  61933. | |
  61934. | struct timespec64 *
  61935. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61936. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61937. | ~~~~~~~~~~~~~~~~~~~^~
  61938. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  61939. 221 | ktime_get_raw_ts64(&tm_aux);
  61940. | ^~~~~~~
  61941. | |
  61942. | struct timespec64 *
  61943. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  61944. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  61945. | ~~~~~~~~~~~~~~~~~~~^~
  61946. In file included from ././common/inc/conftest.h:28,
  61947. from ././common/inc/nv-time.h:27,
  61948. from nvidia-uvm/uvm_linux.h:37,
  61949. from nvidia-uvm/uvm_tracker.h:29,
  61950. from nvidia-uvm/uvm_tracker.c:24:
  61951. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  61952. 74 | #error dma_buf_export() conftest failed!
  61953. | ^~~~~
  61954. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  61955. 87 | #error wait_on_bit_lock() conftest failed!
  61956. | ^~~~~
  61957. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  61958. 90 | #error radix_tree_replace_slot() conftest failed!
  61959. | ^~~~~
  61960. In file included from ././common/inc/nv-linux.h:34,
  61961. from ././nvidia-uvm/uvm_linux.h:40:
  61962. ././common/inc/nv-mm.h: At top level:
  61963. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  61964. 29 | typedef int vm_fault_t;
  61965. | ^~~~~~~~~~
  61966. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  61967. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  61968. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  61969. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  61970. from ././common/inc/nv-lock.h:35,
  61971. from ././common/inc/nv-linux.h:32:
  61972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  61973. 1311 | typedef __bitwise unsigned int vm_fault_t;
  61974. | ^~~~~~~~~~
  61975. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  61976. from ././common/inc/nv-time.h:28:
  61977. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  61978. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61979. 52 | #define current get_current()
  61980. | ^~~~~~~~~~~~~
  61981. | |
  61982. | struct task_struct *
  61983. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  61984. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61985. | ^~~~~~~
  61986. In file included from ././common/inc/nv-pgprot.h:30,
  61987. from ././common/inc/nv-linux.h:33:
  61988. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  61989. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61990. | ~~~~~~~~~~~~~~^~~~~
  61991. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  61992. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61993. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  61994. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  61995. | ~~~~~~~~~~~~~~^~~~~~~~
  61996. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  61997. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  61998. | ^~~~~~~~
  61999. | |
  62000. | long unsigned int
  62001. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62002. 2535 | unsigned int gup_flags, struct page **pages);
  62003. | ~~~~~~~~~~~~~~^~~~~
  62004. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62005. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62006. | ^~~~~~~~~~~~~~ ~~~~~
  62007. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62008. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62009. | ^~~~~~~~~~~~~~
  62010. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  62011. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  62012. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  62013. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sort.h:5,
  62014. from nvidia-uvm/uvm_gpu_replayable_faults.c:24:
  62015. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  62016. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62017. 8 | #define NULL ((void *)0)
  62018. | ^~~~~~~~~~~
  62019. | |
  62020. | void *
  62021. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  62022. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62023. | ^~~~
  62024. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  62025. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62026. | ~~~~~~~~~~~~~~^~~~~
  62027. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62028. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62029. | ^~
  62030. | |
  62031. | struct mm_struct *
  62032. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62033. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62034. | ~~~~~~~~~~~~~~^~~~~~~~
  62035. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62036. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62037. | ^~~~~~~~
  62038. | |
  62039. | long unsigned int
  62040. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62041. 2535 | unsigned int gup_flags, struct page **pages);
  62042. | ~~~~~~~~~~~~~~^~~~~
  62043. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62044. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62045. | ^~~~~~~~~~~~~~ ~~~~~
  62046. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62047. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62048. | ^~~~~~~~~~~~~~
  62049. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  62050. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  62051. 237 | return (unsigned long)(vmf->virtual_address);
  62052. | ^~~~~~~~~~~~~~~
  62053. | real_address
  62054. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  62055. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62056. 246 | down_read(&mm->mmap_sem);
  62057. | ^~~~~~~~
  62058. | mmap_base
  62059. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  62060. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62061. 255 | up_read(&mm->mmap_sem);
  62062. | ^~~~~~~~
  62063. | mmap_base
  62064. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  62065. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62066. 264 | down_write(&mm->mmap_sem);
  62067. | ^~~~~~~~
  62068. | mmap_base
  62069. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  62070. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62071. 273 | up_write(&mm->mmap_sem);
  62072. | ^~~~~~~~
  62073. | mmap_base
  62074. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  62075. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62076. 282 | return rwsem_is_locked(&mm->mmap_sem);
  62077. | ^~~~~~~~
  62078. | mmap_base
  62079. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  62080. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62081. 291 | return &mm->mmap_sem;
  62082. | ^~~~~~~~
  62083. | mmap_base
  62084. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  62085. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  62086. 300 | vma->vm_flags |= flags;
  62087. | ^~
  62088. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  62089. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  62090. 309 | vma->vm_flags &= ~flags;
  62091. | ^~
  62092. In file included from ././common/inc/nv-linux.h:34,
  62093. from nvidia-uvm/uvm_linux.h:40:
  62094. ././common/inc/nv-mm.h: At top level:
  62095. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  62096. 29 | typedef int vm_fault_t;
  62097. | ^~~~~~~~~~
  62098. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  62099. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  62100. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  62101. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  62102. from ././common/inc/nv-lock.h:35,
  62103. from ././common/inc/nv-linux.h:32:
  62104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  62105. 1311 | typedef __bitwise unsigned int vm_fault_t;
  62106. | ^~~~~~~~~~
  62107. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  62108. from ././common/inc/nv-time.h:28:
  62109. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  62110. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62111. 52 | #define current get_current()
  62112. | ^~~~~~~~~~~~~
  62113. | |
  62114. | struct task_struct *
  62115. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  62116. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62117. | ^~~~~~~
  62118. In file included from ././common/inc/nv-pgprot.h:30,
  62119. from ././common/inc/nv-linux.h:33:
  62120. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  62121. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62122. | ~~~~~~~~~~~~~~^~~~~
  62123. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62124. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62125. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62126. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62127. | ~~~~~~~~~~~~~~^~~~~~~~
  62128. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62129. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62130. | ^~~~~~~~
  62131. | |
  62132. | long unsigned int
  62133. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62134. 2535 | unsigned int gup_flags, struct page **pages);
  62135. | ~~~~~~~~~~~~~~^~~~~
  62136. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62137. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62138. | ^~~~~~~~~~~~~~ ~~~~~
  62139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62140. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62141. | ^~~~~~~~~~~~~~
  62142. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  62143. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  62144. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  62145. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  62146. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  62147. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  62148. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62149. 8 | #define NULL ((void *)0)
  62150. | ^~~~~~~~~~~
  62151. | |
  62152. | void *
  62153. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  62154. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62155. | ^~~~
  62156. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  62157. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62158. | ~~~~~~~~~~~~~~^~~~~
  62159. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62160. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62161. | ^~
  62162. | |
  62163. | struct mm_struct *
  62164. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62165. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62166. | ~~~~~~~~~~~~~~^~~~~~~~
  62167. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62168. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62169. | ^~~~~~~~
  62170. | |
  62171. | long unsigned int
  62172. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62173. 2535 | unsigned int gup_flags, struct page **pages);
  62174. | ~~~~~~~~~~~~~~^~~~~
  62175. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62176. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62177. | ^~~~~~~~~~~~~~ ~~~~~
  62178. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62179. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62180. | ^~~~~~~~~~~~~~
  62181. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  62182. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  62183. 237 | return (unsigned long)(vmf->virtual_address);
  62184. | ^~~~~~~~~~~~~~~
  62185. | real_address
  62186. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  62187. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62188. 246 | down_read(&mm->mmap_sem);
  62189. | ^~~~~~~~
  62190. | mmap_base
  62191. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  62192. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62193. 255 | up_read(&mm->mmap_sem);
  62194. | ^~~~~~~~
  62195. | mmap_base
  62196. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  62197. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62198. 264 | down_write(&mm->mmap_sem);
  62199. | ^~~~~~~~
  62200. | mmap_base
  62201. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  62202. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62203. 273 | up_write(&mm->mmap_sem);
  62204. | ^~~~~~~~
  62205. | mmap_base
  62206. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  62207. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62208. 282 | return rwsem_is_locked(&mm->mmap_sem);
  62209. | ^~~~~~~~
  62210. | mmap_base
  62211. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  62212. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62213. 291 | return &mm->mmap_sem;
  62214. | ^~~~~~~~
  62215. | mmap_base
  62216. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  62217. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  62218. 300 | vma->vm_flags |= flags;
  62219. | ^~
  62220. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  62221. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  62222. 309 | vma->vm_flags &= ~flags;
  62223. | ^~
  62224. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  62225. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  62226. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  62227. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  62228. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  62229. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  62230. | ^
  62231. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  62232. 573 | NV_MEMDBG_ADD(ptr, size);
  62233. | ^
  62234. ././common/inc/nv-linux.h: In function 'nv_vmap':
  62235. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  62236. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  62237. | ^
  62238. In file included from ././common/inc/nv-linux.h:34,
  62239. from nvidia-uvm/uvm_linux.h:40:
  62240. ././common/inc/nv-mm.h: At top level:
  62241. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  62242. 29 | typedef int vm_fault_t;
  62243. | ^~~~~~~~~~
  62244. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  62245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  62246. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  62247. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  62248. from ././common/inc/nv-lock.h:35,
  62249. from ././common/inc/nv-linux.h:32:
  62250. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  62251. 1311 | typedef __bitwise unsigned int vm_fault_t;
  62252. | ^~~~~~~~~~
  62253. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  62254. 40 | struct timespec64 {
  62255. | ^~~~~~~~~~
  62256. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  62257. from ././common/inc/nv-time.h:28:
  62258. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  62259. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  62260. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  62261. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  62262. from ././common/inc/nv-time.h:29:
  62263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  62264. 13 | struct timespec64 {
  62265. | ^~~~~~~~~~
  62266. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62267. 52 | #define current get_current()
  62268. | ^~~~~~~~~~~~~
  62269. | |
  62270. | struct task_struct *
  62271. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  62272. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62273. | ^~~~~~~
  62274. In file included from ././common/inc/nv-pgprot.h:30,
  62275. from ././common/inc/nv-linux.h:33:
  62276. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  62277. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62278. | ~~~~~~~~~~~~~~^~~~~
  62279. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62280. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62281. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  62282. 77 | static inline struct timespec64 timespec64_add
  62283. | ^~~~~~~~~~~~~~
  62284. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62285. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62286. | ~~~~~~~~~~~~~~^~~~~~~~
  62287. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  62288. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  62289. | ^~~~~~~~~~~~~~
  62290. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62291. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62292. | ^~~~~~~~
  62293. | |
  62294. | long unsigned int
  62295. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62296. 2535 | unsigned int gup_flags, struct page **pages);
  62297. | ~~~~~~~~~~~~~~^~~~~
  62298. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  62299. 95 | static inline struct timespec64 timespec64_sub
  62300. | ^~~~~~~~~~~~~~
  62301. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  62302. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  62303. | ^~~~~~~~~~~~~~
  62304. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62305. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62306. | ^~~~~~~~~~~~~~ ~~~~~
  62307. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62308. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62309. | ^~~~~~~~~~~~~~
  62310. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  62311. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  62312. | ^~~~~~~~~~~~~~~~
  62313. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  62314. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  62315. | ^~~~~~~~~~~~~~~~
  62316. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  62317. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  62318. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  62319. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  62320. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  62321. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  62322. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  62323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62324. 8 | #define NULL ((void *)0)
  62325. | ^~~~~~~~~~~
  62326. | |
  62327. | void *
  62328. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  62329. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62330. | ^~~~
  62331. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  62332. 122 | ktime_get_raw_ts64(&ts);
  62333. | ^~~
  62334. | |
  62335. | struct timespec64 *
  62336. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  62337. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62338. | ~~~~~~~~~~~~~~^~~~~
  62339. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62340. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62341. | ^~
  62342. | |
  62343. | struct mm_struct *
  62344. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  62345. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  62346. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  62347. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  62348. from ././common/inc/nv-time.h:30:
  62349. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  62350. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  62351. | ~~~~~~~~~~~~~~~~~~~^~
  62352. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62353. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62354. | ~~~~~~~~~~~~~~^~~~~~~~
  62355. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62356. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62357. | ^~~~~~~~
  62358. | |
  62359. | long unsigned int
  62360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62361. 2535 | unsigned int gup_flags, struct page **pages);
  62362. | ~~~~~~~~~~~~~~^~~~~
  62363. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62364. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62365. | ^~~~~~~~~~~~~~ ~~~~~
  62366. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62367. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62368. | ^~~~~~~~~~~~~~
  62369. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  62370. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  62371. 237 | return (unsigned long)(vmf->virtual_address);
  62372. | ^~~~~~~~~~~~~~~
  62373. | real_address
  62374. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  62375. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62376. 246 | down_read(&mm->mmap_sem);
  62377. | ^~~~~~~~
  62378. | mmap_base
  62379. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  62380. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  62381. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62382. 255 | up_read(&mm->mmap_sem);
  62383. | ^~~~~~~~
  62384. | mmap_base
  62385. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  62386. 185 | ktime_get_raw_ts64(&tm_aux);
  62387. | ^~~~~~~
  62388. | |
  62389. | struct timespec64 *
  62390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  62391. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  62392. | ~~~~~~~~~~~~~~~~~~~^~
  62393. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  62394. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62395. 264 | down_write(&mm->mmap_sem);
  62396. | ^~~~~~~~
  62397. | mmap_base
  62398. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  62399. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62400. 273 | up_write(&mm->mmap_sem);
  62401. | ^~~~~~~~
  62402. | mmap_base
  62403. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  62404. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62405. 282 | return rwsem_is_locked(&mm->mmap_sem);
  62406. | ^~~~~~~~
  62407. | mmap_base
  62408. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  62409. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62410. 291 | return &mm->mmap_sem;
  62411. | ^~~~~~~~
  62412. | mmap_base
  62413. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  62414. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  62415. 300 | vma->vm_flags |= flags;
  62416. | ^~
  62417. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  62418. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  62419. 309 | vma->vm_flags &= ~flags;
  62420. | ^~
  62421. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  62422. 221 | ktime_get_raw_ts64(&tm_aux);
  62423. | ^~~~~~~
  62424. | |
  62425. | struct timespec64 *
  62426. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  62427. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  62428. | ~~~~~~~~~~~~~~~~~~~^~
  62429. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  62430. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  62431. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  62432. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  62433. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  62434. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  62435. | ^
  62436. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  62437. 573 | NV_MEMDBG_ADD(ptr, size);
  62438. | ^
  62439. ././common/inc/nv-linux.h: In function 'nv_vmap':
  62440. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  62441. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  62442. | ^
  62443. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  62444. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  62445. 736 | return phys_to_dma(dev, pa);
  62446. | ^~~~~~~~~~~
  62447. | nv_phys_to_dma
  62448. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  62449. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  62450. 736 | return phys_to_dma(dev, pa);
  62451. | ^~~~~~~~~~~
  62452. | nv_phys_to_dma
  62453. In file included from ././common/inc/nv-linux.h:34,
  62454. from ././nvidia-uvm/uvm_linux.h:40:
  62455. ././common/inc/nv-mm.h: At top level:
  62456. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  62457. 29 | typedef int vm_fault_t;
  62458. | ^~~~~~~~~~
  62459. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  62460. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  62461. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  62462. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  62463. from ././common/inc/nv-lock.h:35,
  62464. from ././common/inc/nv-linux.h:32:
  62465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  62466. 1311 | typedef __bitwise unsigned int vm_fault_t;
  62467. | ^~~~~~~~~~
  62468. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  62469. from ././common/inc/nv-time.h:28:
  62470. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  62471. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62472. 52 | #define current get_current()
  62473. | ^~~~~~~~~~~~~
  62474. | |
  62475. | struct task_struct *
  62476. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  62477. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62478. | ^~~~~~~
  62479. In file included from ././common/inc/nv-pgprot.h:30,
  62480. from ././common/inc/nv-linux.h:33:
  62481. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  62482. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62483. | ~~~~~~~~~~~~~~^~~~~
  62484. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62485. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62486. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62487. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62488. | ~~~~~~~~~~~~~~^~~~~~~~
  62489. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62490. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62491. | ^~~~~~~~
  62492. | |
  62493. | long unsigned int
  62494. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62495. 2535 | unsigned int gup_flags, struct page **pages);
  62496. | ~~~~~~~~~~~~~~^~~~~
  62497. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62498. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62499. | ^~~~~~~~~~~~~~ ~~~~~
  62500. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62501. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62502. | ^~~~~~~~~~~~~~
  62503. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  62504. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  62505. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  62506. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sort.h:5,
  62507. from nvidia-uvm/uvm_gpu_access_counters.c:23:
  62508. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  62509. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62510. 8 | #define NULL ((void *)0)
  62511. | ^~~~~~~~~~~
  62512. | |
  62513. | void *
  62514. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  62515. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62516. | ^~~~
  62517. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  62518. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62519. | ~~~~~~~~~~~~~~^~~~~
  62520. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62521. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62522. | ^~
  62523. | |
  62524. | struct mm_struct *
  62525. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62526. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62527. | ~~~~~~~~~~~~~~^~~~~~~~
  62528. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62529. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62530. | ^~~~~~~~
  62531. | |
  62532. | long unsigned int
  62533. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62534. 2535 | unsigned int gup_flags, struct page **pages);
  62535. | ~~~~~~~~~~~~~~^~~~~
  62536. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62537. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62538. | ^~~~~~~~~~~~~~ ~~~~~
  62539. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62540. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62541. | ^~~~~~~~~~~~~~
  62542. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  62543. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  62544. 237 | return (unsigned long)(vmf->virtual_address);
  62545. | ^~~~~~~~~~~~~~~
  62546. | real_address
  62547. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  62548. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62549. 246 | down_read(&mm->mmap_sem);
  62550. | ^~~~~~~~
  62551. | mmap_base
  62552. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  62553. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62554. 255 | up_read(&mm->mmap_sem);
  62555. | ^~~~~~~~
  62556. | mmap_base
  62557. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  62558. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62559. 264 | down_write(&mm->mmap_sem);
  62560. | ^~~~~~~~
  62561. | mmap_base
  62562. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  62563. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62564. 273 | up_write(&mm->mmap_sem);
  62565. | ^~~~~~~~
  62566. | mmap_base
  62567. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  62568. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62569. 282 | return rwsem_is_locked(&mm->mmap_sem);
  62570. | ^~~~~~~~
  62571. | mmap_base
  62572. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  62573. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62574. 291 | return &mm->mmap_sem;
  62575. | ^~~~~~~~
  62576. | mmap_base
  62577. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  62578. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  62579. 300 | vma->vm_flags |= flags;
  62580. | ^~
  62581. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  62582. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  62583. 309 | vma->vm_flags &= ~flags;
  62584. | ^~
  62585. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  62586. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  62587. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  62588. | ^~~~~~~~~~~~~
  62589. | d_is_dir
  62590. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  62591. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  62592. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  62593. | ^~~~~~~~~~~~~
  62594. | d_is_dir
  62595. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  62596. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  62597. 287 | ktime_get_raw_ts64(&tm);
  62598. | ^~~
  62599. | |
  62600. | struct timespec64 *
  62601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  62602. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  62603. | ~~~~~~~~~~~~~~~~~~~^~
  62604. nvidia-uvm/uvm_linux.h: At top level:
  62605. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  62606. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  62607. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  62608. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  62609. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  62610. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  62611. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  62612. 449 | #error "Unknown number of arguments"
  62613. | ^~~~~
  62614. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  62615. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  62616. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  62617. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  62618. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  62619. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  62620. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  62621. 485 | #error "Unknown number of arguments"
  62622. | ^~~~~
  62623. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  62624. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  62625. 287 | ktime_get_raw_ts64(&tm);
  62626. | ^~~
  62627. | |
  62628. | struct timespec64 *
  62629. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  62630. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  62631. | ~~~~~~~~~~~~~~~~~~~^~
  62632. nvidia-uvm/uvm_linux.h: At top level:
  62633. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  62634. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  62635. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  62636. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  62637. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  62638. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  62639. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  62640. 449 | #error "Unknown number of arguments"
  62641. | ^~~~~
  62642. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  62643. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  62644. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  62645. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  62646. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  62647. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  62648. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  62649. 485 | #error "Unknown number of arguments"
  62650. | ^~~~~
  62651. cc1: some warnings being treated as errors
  62652. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  62653. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  62654. 502 | NV_MEMDBG_ADD(ptr, size);
  62655. | ^
  62656. In file included from ././common/inc/nv-linux.h:34,
  62657. from nvidia-uvm/uvm_linux.h:40:
  62658. ././common/inc/nv-mm.h: At top level:
  62659. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  62660. 29 | typedef int vm_fault_t;
  62661. | ^~~~~~~~~~
  62662. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  62663. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  62664. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  62665. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  62666. from ././common/inc/nv-lock.h:35,
  62667. from ././common/inc/nv-linux.h:32:
  62668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  62669. 1311 | typedef __bitwise unsigned int vm_fault_t;
  62670. | ^~~~~~~~~~
  62671. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  62672. from ././common/inc/nv-time.h:28:
  62673. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  62674. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62675. 52 | #define current get_current()
  62676. | ^~~~~~~~~~~~~
  62677. | |
  62678. | struct task_struct *
  62679. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  62680. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62681. | ^~~~~~~
  62682. In file included from ././common/inc/nv-pgprot.h:30,
  62683. from ././common/inc/nv-linux.h:33:
  62684. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  62685. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62686. | ~~~~~~~~~~~~~~^~~~~
  62687. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62688. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62689. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62690. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62691. | ~~~~~~~~~~~~~~^~~~~~~~
  62692. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62693. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62694. | ^~~~~~~~
  62695. | |
  62696. | long unsigned int
  62697. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62698. 2535 | unsigned int gup_flags, struct page **pages);
  62699. | ~~~~~~~~~~~~~~^~~~~
  62700. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62701. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62702. | ^~~~~~~~~~~~~~ ~~~~~
  62703. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62704. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62705. | ^~~~~~~~~~~~~~
  62706. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  62707. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  62708. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  62709. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  62710. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  62711. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  62712. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62713. 8 | #define NULL ((void *)0)
  62714. | ^~~~~~~~~~~
  62715. | |
  62716. | void *
  62717. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  62718. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62719. | ^~~~
  62720. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  62721. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62722. | ~~~~~~~~~~~~~~^~~~~
  62723. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62724. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62725. | ^~
  62726. | |
  62727. | struct mm_struct *
  62728. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62729. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62730. | ~~~~~~~~~~~~~~^~~~~~~~
  62731. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62732. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62733. | ^~~~~~~~
  62734. | |
  62735. | long unsigned int
  62736. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62737. 2535 | unsigned int gup_flags, struct page **pages);
  62738. | ~~~~~~~~~~~~~~^~~~~
  62739. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62740. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62741. | ^~~~~~~~~~~~~~ ~~~~~
  62742. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62743. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62744. | ^~~~~~~~~~~~~~
  62745. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  62746. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  62747. 237 | return (unsigned long)(vmf->virtual_address);
  62748. | ^~~~~~~~~~~~~~~
  62749. | real_address
  62750. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  62751. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62752. 246 | down_read(&mm->mmap_sem);
  62753. | ^~~~~~~~
  62754. | mmap_base
  62755. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  62756. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62757. 255 | up_read(&mm->mmap_sem);
  62758. | ^~~~~~~~
  62759. | mmap_base
  62760. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  62761. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62762. 264 | down_write(&mm->mmap_sem);
  62763. | ^~~~~~~~
  62764. | mmap_base
  62765. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  62766. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62767. 273 | up_write(&mm->mmap_sem);
  62768. | ^~~~~~~~
  62769. | mmap_base
  62770. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  62771. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62772. 282 | return rwsem_is_locked(&mm->mmap_sem);
  62773. | ^~~~~~~~
  62774. | mmap_base
  62775. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  62776. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62777. 291 | return &mm->mmap_sem;
  62778. | ^~~~~~~~
  62779. | mmap_base
  62780. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  62781. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  62782. 300 | vma->vm_flags |= flags;
  62783. | ^~
  62784. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  62785. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  62786. 309 | vma->vm_flags &= ~flags;
  62787. | ^~
  62788. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_range.o] Error 1
  62789. CC [M] nvidia-uvm/uvm_maxwell.o
  62790. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  62791. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  62792. 502 | NV_MEMDBG_ADD(ptr, size);
  62793. | ^
  62794. In file included from ././common/inc/nv-linux.h:34,
  62795. from nvidia-uvm/uvm_linux.h:40:
  62796. ././common/inc/nv-mm.h: At top level:
  62797. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  62798. 29 | typedef int vm_fault_t;
  62799. | ^~~~~~~~~~
  62800. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  62801. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  62802. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  62803. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  62804. from ././common/inc/nv-lock.h:35,
  62805. from ././common/inc/nv-linux.h:32:
  62806. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  62807. 1311 | typedef __bitwise unsigned int vm_fault_t;
  62808. | ^~~~~~~~~~
  62809. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  62810. from ././common/inc/nv-time.h:28:
  62811. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  62812. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62813. 52 | #define current get_current()
  62814. | ^~~~~~~~~~~~~
  62815. | |
  62816. | struct task_struct *
  62817. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  62818. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62819. | ^~~~~~~
  62820. In file included from ././common/inc/nv-pgprot.h:30,
  62821. from ././common/inc/nv-linux.h:33:
  62822. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  62823. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62824. | ~~~~~~~~~~~~~~^~~~~
  62825. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62826. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62827. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62828. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62829. | ~~~~~~~~~~~~~~^~~~~~~~
  62830. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62831. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62832. | ^~~~~~~~
  62833. | |
  62834. | long unsigned int
  62835. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62836. 2535 | unsigned int gup_flags, struct page **pages);
  62837. | ~~~~~~~~~~~~~~^~~~~
  62838. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62839. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62840. | ^~~~~~~~~~~~~~ ~~~~~
  62841. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62842. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62843. | ^~~~~~~~~~~~~~
  62844. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  62845. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  62846. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  62847. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  62848. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  62849. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  62850. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62851. 8 | #define NULL ((void *)0)
  62852. | ^~~~~~~~~~~
  62853. | |
  62854. | void *
  62855. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  62856. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62857. | ^~~~
  62858. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  62859. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62860. | ~~~~~~~~~~~~~~^~~~~
  62861. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62862. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62863. | ^~
  62864. | |
  62865. | struct mm_struct *
  62866. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62867. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62868. | ~~~~~~~~~~~~~~^~~~~~~~
  62869. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62870. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62871. | ^~~~~~~~
  62872. | |
  62873. | long unsigned int
  62874. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62875. 2535 | unsigned int gup_flags, struct page **pages);
  62876. | ~~~~~~~~~~~~~~^~~~~
  62877. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62878. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  62879. | ^~~~~~~~~~~~~~ ~~~~~
  62880. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62881. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62882. | ^~~~~~~~~~~~~~
  62883. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  62884. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  62885. 237 | return (unsigned long)(vmf->virtual_address);
  62886. | ^~~~~~~~~~~~~~~
  62887. | real_address
  62888. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  62889. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62890. 246 | down_read(&mm->mmap_sem);
  62891. | ^~~~~~~~
  62892. | mmap_base
  62893. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  62894. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62895. 255 | up_read(&mm->mmap_sem);
  62896. | ^~~~~~~~
  62897. | mmap_base
  62898. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  62899. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62900. 264 | down_write(&mm->mmap_sem);
  62901. | ^~~~~~~~
  62902. | mmap_base
  62903. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  62904. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62905. 273 | up_write(&mm->mmap_sem);
  62906. | ^~~~~~~~
  62907. | mmap_base
  62908. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  62909. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62910. 282 | return rwsem_is_locked(&mm->mmap_sem);
  62911. | ^~~~~~~~
  62912. | mmap_base
  62913. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  62914. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  62915. 291 | return &mm->mmap_sem;
  62916. | ^~~~~~~~
  62917. | mmap_base
  62918. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  62919. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  62920. 300 | vma->vm_flags |= flags;
  62921. | ^~
  62922. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  62923. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  62924. 309 | vma->vm_flags &= ~flags;
  62925. | ^~
  62926. In file included from ././common/inc/conftest.h:28,
  62927. from ././common/inc/nv-time.h:27,
  62928. from nvidia-uvm/uvm_linux.h:37,
  62929. from nvidia-uvm/uvm_common.h:43,
  62930. from nvidia-uvm/uvm_hal.h:28,
  62931. from nvidia-uvm/uvm_maxwell.c:24:
  62932. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  62933. 74 | #error dma_buf_export() conftest failed!
  62934. | ^~~~~
  62935. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  62936. 87 | #error wait_on_bit_lock() conftest failed!
  62937. | ^~~~~
  62938. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  62939. 90 | #error radix_tree_replace_slot() conftest failed!
  62940. | ^~~~~
  62941. In file included from ././common/inc/nv-linux.h:34,
  62942. from nvidia-uvm/uvm_linux.h:40:
  62943. ././common/inc/nv-mm.h: At top level:
  62944. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  62945. 29 | typedef int vm_fault_t;
  62946. | ^~~~~~~~~~
  62947. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  62948. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  62949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  62950. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  62951. from ././common/inc/nv-lock.h:35,
  62952. from ././common/inc/nv-linux.h:32:
  62953. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  62954. 1311 | typedef __bitwise unsigned int vm_fault_t;
  62955. | ^~~~~~~~~~
  62956. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  62957. from ././common/inc/nv-time.h:28:
  62958. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  62959. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62960. 52 | #define current get_current()
  62961. | ^~~~~~~~~~~~~
  62962. | |
  62963. | struct task_struct *
  62964. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  62965. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62966. | ^~~~~~~
  62967. In file included from ././common/inc/nv-pgprot.h:30,
  62968. from ././common/inc/nv-linux.h:33:
  62969. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  62970. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62971. | ~~~~~~~~~~~~~~^~~~~
  62972. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62973. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62974. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  62975. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62976. | ~~~~~~~~~~~~~~^~~~~~~~
  62977. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  62978. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62979. | ^~~~~~~~
  62980. | |
  62981. | long unsigned int
  62982. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  62983. 2535 | unsigned int gup_flags, struct page **pages);
  62984. | ~~~~~~~~~~~~~~^~~~~
  62985. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  62986. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  62987. | ^~~~~~~~~~~~~~ ~~~~~
  62988. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  62989. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  62990. | ^~~~~~~~~~~~~~
  62991. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  62992. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  62993. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  62994. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  62995. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  62996. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  62997. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  62998. 8 | #define NULL ((void *)0)
  62999. | ^~~~~~~~~~~
  63000. | |
  63001. | void *
  63002. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  63003. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63004. | ^~~~
  63005. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  63006. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63007. | ~~~~~~~~~~~~~~^~~~~
  63008. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63009. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63010. | ^~
  63011. | |
  63012. | struct mm_struct *
  63013. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  63014. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63015. | ~~~~~~~~~~~~~~^~~~~~~~
  63016. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  63017. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63018. | ^~~~~~~~
  63019. | |
  63020. | long unsigned int
  63021. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  63022. 2535 | unsigned int gup_flags, struct page **pages);
  63023. | ~~~~~~~~~~~~~~^~~~~
  63024. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  63025. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63026. | ^~~~~~~~~~~~~~ ~~~~~
  63027. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  63028. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63029. | ^~~~~~~~~~~~~~
  63030. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  63031. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  63032. 237 | return (unsigned long)(vmf->virtual_address);
  63033. | ^~~~~~~~~~~~~~~
  63034. | real_address
  63035. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  63036. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63037. 246 | down_read(&mm->mmap_sem);
  63038. | ^~~~~~~~
  63039. | mmap_base
  63040. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  63041. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63042. 255 | up_read(&mm->mmap_sem);
  63043. | ^~~~~~~~
  63044. | mmap_base
  63045. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  63046. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63047. 264 | down_write(&mm->mmap_sem);
  63048. | ^~~~~~~~
  63049. | mmap_base
  63050. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  63051. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63052. 273 | up_write(&mm->mmap_sem);
  63053. | ^~~~~~~~
  63054. | mmap_base
  63055. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  63056. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63057. 282 | return rwsem_is_locked(&mm->mmap_sem);
  63058. | ^~~~~~~~
  63059. | mmap_base
  63060. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  63061. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63062. 291 | return &mm->mmap_sem;
  63063. | ^~~~~~~~
  63064. | mmap_base
  63065. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  63066. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  63067. 300 | vma->vm_flags |= flags;
  63068. | ^~
  63069. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  63070. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  63071. 309 | vma->vm_flags &= ~flags;
  63072. | ^~
  63073. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  63074. 40 | struct timespec64 {
  63075. | ^~~~~~~~~~
  63076. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  63077. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  63078. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  63079. from ././common/inc/nv-time.h:29:
  63080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  63081. 13 | struct timespec64 {
  63082. | ^~~~~~~~~~
  63083. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  63084. 77 | static inline struct timespec64 timespec64_add
  63085. | ^~~~~~~~~~~~~~
  63086. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  63087. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  63088. | ^~~~~~~~~~~~~~
  63089. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  63090. 95 | static inline struct timespec64 timespec64_sub
  63091. | ^~~~~~~~~~~~~~
  63092. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  63093. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  63094. | ^~~~~~~~~~~~~~
  63095. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  63096. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  63097. | ^~~~~~~~~~~~~~~~
  63098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  63099. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  63100. | ^~~~~~~~~~~~~~~~
  63101. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  63102. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  63103. 122 | ktime_get_raw_ts64(&ts);
  63104. | ^~~
  63105. | |
  63106. | struct timespec64 *
  63107. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  63108. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  63109. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  63110. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  63111. from ././common/inc/nv-time.h:30:
  63112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  63113. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  63114. | ~~~~~~~~~~~~~~~~~~~^~
  63115. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  63116. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  63117. 185 | ktime_get_raw_ts64(&tm_aux);
  63118. | ^~~~~~~
  63119. | |
  63120. | struct timespec64 *
  63121. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  63122. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  63123. | ~~~~~~~~~~~~~~~~~~~^~
  63124. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  63125. 221 | ktime_get_raw_ts64(&tm_aux);
  63126. | ^~~~~~~
  63127. | |
  63128. | struct timespec64 *
  63129. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  63130. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  63131. | ~~~~~~~~~~~~~~~~~~~^~
  63132. In file included from nvidia-uvm/uvm_api.h:31,
  63133. from nvidia-uvm/uvm_va_block.c:26:
  63134. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  63135. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  63136. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  63137. | ^~~~~~~~~~~~~~~~~~~~
  63138. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  63139. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  63140. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  63141. | ^~~~~~~~~~~~~~~~~~~~~~~
  63142. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63143. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63144. 520 | NV_MEMDBG_ADD(ptr, size);
  63145. | ^
  63146. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  63147. from nvidia-uvm/uvm_channel.h:29,
  63148. from nvidia-uvm/uvm_push.h:29,
  63149. from nvidia-uvm/uvm_pte_batch.h:29,
  63150. from nvidia-uvm/uvm_va_block_types.h:28,
  63151. from nvidia-uvm/uvm_va_policy.h:31,
  63152. from nvidia-uvm/uvm_va_policy.c:27:
  63153. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  63154. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  63155. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  63156. | ^~~~~~~~~~~~~~~~~~~~
  63157. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  63158. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  63159. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  63160. | ^~~~~~~~~~~~~~~~~~~~~~~
  63161. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63162. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63163. 520 | NV_MEMDBG_ADD(ptr, size);
  63164. | ^
  63165. In file included from ././common/inc/nv-linux.h:34,
  63166. from nvidia-uvm/uvm_linux.h:40:
  63167. ././common/inc/nv-mm.h: At top level:
  63168. In file included from ././common/inc/nv-linux.h:34,
  63169. from nvidia-uvm/uvm_linux.h:40:
  63170. ././common/inc/nv-mm.h: At top level:
  63171. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  63172. 29 | typedef int vm_fault_t;
  63173. | ^~~~~~~~~~
  63174. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  63175. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  63176. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  63177. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  63178. from ././common/inc/nv-lock.h:35,
  63179. from ././common/inc/nv-linux.h:32:
  63180. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  63181. 1311 | typedef __bitwise unsigned int vm_fault_t;
  63182. | ^~~~~~~~~~
  63183. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  63184. from ././common/inc/nv-time.h:28:
  63185. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  63186. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63187. 52 | #define current get_current()
  63188. | ^~~~~~~~~~~~~
  63189. | |
  63190. | struct task_struct *
  63191. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  63192. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63193. | ^~~~~~~
  63194. In file included from ././common/inc/nv-pgprot.h:30,
  63195. from ././common/inc/nv-linux.h:33:
  63196. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  63197. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63198. | ~~~~~~~~~~~~~~^~~~~
  63199. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63200. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63201. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  63202. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63203. | ~~~~~~~~~~~~~~^~~~~~~~
  63204. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  63205. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63206. | ^~~~~~~~
  63207. | |
  63208. | long unsigned int
  63209. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  63210. 2535 | unsigned int gup_flags, struct page **pages);
  63211. | ~~~~~~~~~~~~~~^~~~~
  63212. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  63213. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63214. | ^~~~~~~~~~~~~~ ~~~~~
  63215. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  63216. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63217. | ^~~~~~~~~~~~~~
  63218. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  63219. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  63220. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  63221. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  63222. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  63223. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  63224. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63225. 8 | #define NULL ((void *)0)
  63226. | ^~~~~~~~~~~
  63227. | |
  63228. | void *
  63229. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  63230. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63231. | ^~~~
  63232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  63233. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63234. | ~~~~~~~~~~~~~~^~~~~
  63235. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63236. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63237. | ^~
  63238. | |
  63239. | struct mm_struct *
  63240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  63241. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63242. | ~~~~~~~~~~~~~~^~~~~~~~
  63243. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  63244. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63245. | ^~~~~~~~
  63246. | |
  63247. | long unsigned int
  63248. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  63249. 2535 | unsigned int gup_flags, struct page **pages);
  63250. | ~~~~~~~~~~~~~~^~~~~
  63251. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  63252. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63253. | ^~~~~~~~~~~~~~ ~~~~~
  63254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  63255. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63256. | ^~~~~~~~~~~~~~
  63257. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  63258. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  63259. 237 | return (unsigned long)(vmf->virtual_address);
  63260. | ^~~~~~~~~~~~~~~
  63261. | real_address
  63262. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  63263. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63264. 246 | down_read(&mm->mmap_sem);
  63265. | ^~~~~~~~
  63266. | mmap_base
  63267. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  63268. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63269. 255 | up_read(&mm->mmap_sem);
  63270. | ^~~~~~~~
  63271. | mmap_base
  63272. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  63273. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63274. 264 | down_write(&mm->mmap_sem);
  63275. | ^~~~~~~~
  63276. | mmap_base
  63277. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  63278. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63279. 273 | up_write(&mm->mmap_sem);
  63280. | ^~~~~~~~
  63281. | mmap_base
  63282. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  63283. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63284. 282 | return rwsem_is_locked(&mm->mmap_sem);
  63285. | ^~~~~~~~
  63286. | mmap_base
  63287. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  63288. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63289. 291 | return &mm->mmap_sem;
  63290. | ^~~~~~~~
  63291. | mmap_base
  63292. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  63293. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  63294. 300 | vma->vm_flags |= flags;
  63295. | ^~
  63296. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  63297. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  63298. 309 | vma->vm_flags &= ~flags;
  63299. | ^~
  63300. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  63301. 29 | typedef int vm_fault_t;
  63302. | ^~~~~~~~~~
  63303. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  63304. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  63305. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  63306. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  63307. from ././common/inc/nv-lock.h:35,
  63308. from ././common/inc/nv-linux.h:32:
  63309. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  63310. 1311 | typedef __bitwise unsigned int vm_fault_t;
  63311. | ^~~~~~~~~~
  63312. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  63313. from ././common/inc/nv-time.h:28:
  63314. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  63315. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63316. 52 | #define current get_current()
  63317. | ^~~~~~~~~~~~~
  63318. | |
  63319. | struct task_struct *
  63320. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  63321. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63322. | ^~~~~~~
  63323. In file included from ././common/inc/nv-pgprot.h:30,
  63324. from ././common/inc/nv-linux.h:33:
  63325. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  63326. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63327. | ~~~~~~~~~~~~~~^~~~~
  63328. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63329. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63330. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  63331. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63332. | ~~~~~~~~~~~~~~^~~~~~~~
  63333. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  63334. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63335. | ^~~~~~~~
  63336. | |
  63337. | long unsigned int
  63338. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  63339. 2535 | unsigned int gup_flags, struct page **pages);
  63340. | ~~~~~~~~~~~~~~^~~~~
  63341. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  63342. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63343. | ^~~~~~~~~~~~~~ ~~~~~
  63344. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  63345. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63346. | ^~~~~~~~~~~~~~
  63347. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  63348. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  63349. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  63350. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  63351. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  63352. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  63353. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63354. 8 | #define NULL ((void *)0)
  63355. | ^~~~~~~~~~~
  63356. | |
  63357. | void *
  63358. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  63359. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63360. | ^~~~
  63361. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  63362. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63363. | ~~~~~~~~~~~~~~^~~~~
  63364. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63365. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63366. | ^~
  63367. | |
  63368. | struct mm_struct *
  63369. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  63370. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63371. | ~~~~~~~~~~~~~~^~~~~~~~
  63372. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  63373. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63374. | ^~~~~~~~
  63375. | |
  63376. | long unsigned int
  63377. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  63378. 2535 | unsigned int gup_flags, struct page **pages);
  63379. | ~~~~~~~~~~~~~~^~~~~
  63380. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  63381. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63382. | ^~~~~~~~~~~~~~ ~~~~~
  63383. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  63384. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63385. | ^~~~~~~~~~~~~~
  63386. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  63387. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  63388. 237 | return (unsigned long)(vmf->virtual_address);
  63389. | ^~~~~~~~~~~~~~~
  63390. | real_address
  63391. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  63392. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63393. 246 | down_read(&mm->mmap_sem);
  63394. | ^~~~~~~~
  63395. | mmap_base
  63396. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  63397. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63398. 255 | up_read(&mm->mmap_sem);
  63399. | ^~~~~~~~
  63400. | mmap_base
  63401. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  63402. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63403. 264 | down_write(&mm->mmap_sem);
  63404. | ^~~~~~~~
  63405. | mmap_base
  63406. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  63407. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63408. 273 | up_write(&mm->mmap_sem);
  63409. | ^~~~~~~~
  63410. | mmap_base
  63411. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  63412. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63413. 282 | return rwsem_is_locked(&mm->mmap_sem);
  63414. | ^~~~~~~~
  63415. | mmap_base
  63416. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  63417. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63418. 291 | return &mm->mmap_sem;
  63419. | ^~~~~~~~
  63420. | mmap_base
  63421. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  63422. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  63423. 300 | vma->vm_flags |= flags;
  63424. | ^~
  63425. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  63426. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  63427. 309 | vma->vm_flags &= ~flags;
  63428. | ^~
  63429. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  63430. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63431. 502 | NV_MEMDBG_ADD(ptr, size);
  63432. | ^
  63433. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  63434. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  63435. 533 | ptr = ioremap_cache_shared(phys, size);
  63436. | ^~~~~~~~~~~~~~~~~~~~
  63437. | ioremap_cache
  63438. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63439. 533 | ptr = ioremap_cache_shared(phys, size);
  63440. | ^
  63441. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63442. 556 | NV_MEMDBG_ADD(ptr, size);
  63443. | ^
  63444. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  63445. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63446. 502 | NV_MEMDBG_ADD(ptr, size);
  63447. | ^
  63448. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  63449. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63450. 502 | NV_MEMDBG_ADD(ptr, size);
  63451. | ^
  63452. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  63453. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  63454. 533 | ptr = ioremap_cache_shared(phys, size);
  63455. | ^~~~~~~~~~~~~~~~~~~~
  63456. | ioremap_cache
  63457. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63458. 533 | ptr = ioremap_cache_shared(phys, size);
  63459. | ^
  63460. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63461. 556 | NV_MEMDBG_ADD(ptr, size);
  63462. | ^
  63463. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  63464. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63465. 502 | NV_MEMDBG_ADD(ptr, size);
  63466. | ^
  63467. cc1: some warnings being treated as errors
  63468. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  63469. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  63470. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  63471. | ^~~~~~~~~~~~~~~~~~~~~~~
  63472. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63473. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63474. 520 | NV_MEMDBG_ADD(ptr, size);
  63475. | ^
  63476. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_policy.o] Error 1
  63477. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  63478. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  63479. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  63480. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  63481. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63482. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  63483. | ^
  63484. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63485. 573 | NV_MEMDBG_ADD(ptr, size);
  63486. | ^
  63487. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  63488. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  63489. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  63490. | ^~~~~~~~~~~~~~~~~~~~~~~
  63491. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63492. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63493. 520 | NV_MEMDBG_ADD(ptr, size);
  63494. | ^
  63495. ././common/inc/nv-linux.h: In function 'nv_vmap':
  63496. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63497. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  63498. | ^
  63499. CC [M] nvidia-uvm/uvm_maxwell_host.o
  63500. In file included from ././common/inc/nv-linux.h:34,
  63501. from nvidia-uvm/uvm_linux.h:40:
  63502. ././common/inc/nv-mm.h: At top level:
  63503. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  63504. 29 | typedef int vm_fault_t;
  63505. | ^~~~~~~~~~
  63506. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  63507. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  63508. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  63509. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  63510. from ././common/inc/nv-lock.h:35,
  63511. from ././common/inc/nv-linux.h:32:
  63512. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  63513. 1311 | typedef __bitwise unsigned int vm_fault_t;
  63514. | ^~~~~~~~~~
  63515. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  63516. from ././common/inc/nv-time.h:28:
  63517. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  63518. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63519. 52 | #define current get_current()
  63520. | ^~~~~~~~~~~~~
  63521. | |
  63522. | struct task_struct *
  63523. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  63524. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63525. | ^~~~~~~
  63526. In file included from ././common/inc/nv-pgprot.h:30,
  63527. from ././common/inc/nv-linux.h:33:
  63528. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  63529. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63530. | ~~~~~~~~~~~~~~^~~~~
  63531. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63532. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63533. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  63534. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63535. | ~~~~~~~~~~~~~~^~~~~~~~
  63536. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  63537. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63538. | ^~~~~~~~
  63539. | |
  63540. | long unsigned int
  63541. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  63542. 2535 | unsigned int gup_flags, struct page **pages);
  63543. | ~~~~~~~~~~~~~~^~~~~
  63544. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  63545. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63546. | ^~~~~~~~~~~~~~ ~~~~~
  63547. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  63548. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63549. | ^~~~~~~~~~~~~~
  63550. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  63551. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  63552. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  63553. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  63554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  63555. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  63556. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63557. 8 | #define NULL ((void *)0)
  63558. | ^~~~~~~~~~~
  63559. | |
  63560. | void *
  63561. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  63562. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63563. | ^~~~
  63564. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  63565. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63566. | ~~~~~~~~~~~~~~^~~~~
  63567. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63568. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63569. | ^~
  63570. | |
  63571. | struct mm_struct *
  63572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  63573. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63574. | ~~~~~~~~~~~~~~^~~~~~~~
  63575. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  63576. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63577. | ^~~~~~~~
  63578. | |
  63579. | long unsigned int
  63580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  63581. 2535 | unsigned int gup_flags, struct page **pages);
  63582. | ~~~~~~~~~~~~~~^~~~~
  63583. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  63584. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63585. | ^~~~~~~~~~~~~~ ~~~~~
  63586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  63587. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63588. | ^~~~~~~~~~~~~~
  63589. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  63590. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  63591. 237 | return (unsigned long)(vmf->virtual_address);
  63592. | ^~~~~~~~~~~~~~~
  63593. | real_address
  63594. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  63595. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63596. 246 | down_read(&mm->mmap_sem);
  63597. | ^~~~~~~~
  63598. | mmap_base
  63599. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  63600. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63601. 255 | up_read(&mm->mmap_sem);
  63602. | ^~~~~~~~
  63603. | mmap_base
  63604. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  63605. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63606. 264 | down_write(&mm->mmap_sem);
  63607. | ^~~~~~~~
  63608. | mmap_base
  63609. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  63610. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63611. 273 | up_write(&mm->mmap_sem);
  63612. | ^~~~~~~~
  63613. | mmap_base
  63614. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  63615. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63616. 282 | return rwsem_is_locked(&mm->mmap_sem);
  63617. | ^~~~~~~~
  63618. | mmap_base
  63619. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  63620. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63621. 291 | return &mm->mmap_sem;
  63622. | ^~~~~~~~
  63623. | mmap_base
  63624. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  63625. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  63626. 300 | vma->vm_flags |= flags;
  63627. | ^~
  63628. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  63629. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  63630. 309 | vma->vm_flags &= ~flags;
  63631. | ^~
  63632. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  63633. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  63634. 736 | return phys_to_dma(dev, pa);
  63635. | ^~~~~~~~~~~
  63636. | nv_phys_to_dma
  63637. In file included from ././common/inc/conftest.h:28,
  63638. from ././common/inc/nv-time.h:27,
  63639. from nvidia-uvm/uvm_linux.h:37,
  63640. from nvidia-uvm/uvm_maxwell_host.c:24:
  63641. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  63642. 74 | #error dma_buf_export() conftest failed!
  63643. | ^~~~~
  63644. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  63645. 87 | #error wait_on_bit_lock() conftest failed!
  63646. | ^~~~~
  63647. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  63648. 90 | #error radix_tree_replace_slot() conftest failed!
  63649. | ^~~~~
  63650. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  63651. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  63652. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  63653. | ^~~~~~~~~~~~~~~~~~~~~~~
  63654. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  63655. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63656. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63657. 502 | NV_MEMDBG_ADD(ptr, size);
  63658. | ^
  63659. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63660. 520 | NV_MEMDBG_ADD(ptr, size);
  63661. | ^
  63662. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  63663. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  63664. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  63665. | ^~~~~~~~~~~~~
  63666. | d_is_dir
  63667. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  63668. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  63669. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  63670. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  63671. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63672. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  63673. | ^
  63674. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63675. 573 | NV_MEMDBG_ADD(ptr, size);
  63676. | ^
  63677. ././common/inc/nv-linux.h: In function 'nv_vmap':
  63678. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63679. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  63680. | ^
  63681. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  63682. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  63683. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  63684. | ^~~~~~~~~~~~~~~~~~~~~~~
  63685. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63686. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63687. 520 | NV_MEMDBG_ADD(ptr, size);
  63688. | ^
  63689. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  63690. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  63691. 533 | ptr = ioremap_cache_shared(phys, size);
  63692. | ^~~~~~~~~~~~~~~~~~~~
  63693. | ioremap_cache
  63694. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63695. 533 | ptr = ioremap_cache_shared(phys, size);
  63696. | ^
  63697. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63698. 556 | NV_MEMDBG_ADD(ptr, size);
  63699. | ^
  63700. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  63701. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  63702. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  63703. 533 | ptr = ioremap_cache_shared(phys, size);
  63704. | ^~~~~~~~~~~~~~~~~~~~
  63705. | ioremap_cache
  63706. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63707. 533 | ptr = ioremap_cache_shared(phys, size);
  63708. | ^
  63709. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63710. 556 | NV_MEMDBG_ADD(ptr, size);
  63711. | ^
  63712. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  63713. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63714. 502 | NV_MEMDBG_ADD(ptr, size);
  63715. | ^
  63716. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  63717. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  63718. 736 | return phys_to_dma(dev, pa);
  63719. | ^~~~~~~~~~~
  63720. | nv_phys_to_dma
  63721. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  63722. 287 | ktime_get_raw_ts64(&tm);
  63723. | ^~~
  63724. | |
  63725. | struct timespec64 *
  63726. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  63727. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  63728. | ~~~~~~~~~~~~~~~~~~~^~
  63729. ././nvidia-uvm/uvm_linux.h: At top level:
  63730. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  63731. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  63732. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  63733. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  63734. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  63735. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  63736. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  63737. 449 | #error "Unknown number of arguments"
  63738. | ^~~~~
  63739. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  63740. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  63741. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  63742. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  63743. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  63744. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  63745. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  63746. 485 | #error "Unknown number of arguments"
  63747. | ^~~~~
  63748. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  63749. 40 | struct timespec64 {
  63750. | ^~~~~~~~~~
  63751. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  63752. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  63753. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  63754. from ././common/inc/nv-time.h:29:
  63755. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  63756. 13 | struct timespec64 {
  63757. | ^~~~~~~~~~
  63758. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  63759. 77 | static inline struct timespec64 timespec64_add
  63760. | ^~~~~~~~~~~~~~
  63761. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  63762. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  63763. | ^~~~~~~~~~~~~~
  63764. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  63765. 95 | static inline struct timespec64 timespec64_sub
  63766. | ^~~~~~~~~~~~~~
  63767. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  63768. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  63769. | ^~~~~~~~~~~~~~
  63770. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  63771. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  63772. | ^~~~~~~~~~~~~~~~
  63773. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  63774. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  63775. | ^~~~~~~~~~~~~~~~
  63776. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  63777. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  63778. 122 | ktime_get_raw_ts64(&ts);
  63779. | ^~~
  63780. | |
  63781. | struct timespec64 *
  63782. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  63783. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  63784. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  63785. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  63786. from ././common/inc/nv-time.h:30:
  63787. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  63788. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  63789. | ~~~~~~~~~~~~~~~~~~~^~
  63790. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  63791. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  63792. 185 | ktime_get_raw_ts64(&tm_aux);
  63793. | ^~~~~~~
  63794. | |
  63795. | struct timespec64 *
  63796. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  63797. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  63798. | ~~~~~~~~~~~~~~~~~~~^~
  63799. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  63800. 221 | ktime_get_raw_ts64(&tm_aux);
  63801. | ^~~~~~~
  63802. | |
  63803. | struct timespec64 *
  63804. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  63805. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  63806. | ~~~~~~~~~~~~~~~~~~~^~
  63807. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  63808. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63809. 502 | NV_MEMDBG_ADD(ptr, size);
  63810. | ^
  63811. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  63812. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  63813. 533 | ptr = ioremap_cache_shared(phys, size);
  63814. | ^~~~~~~~~~~~~~~~~~~~
  63815. | ioremap_cache
  63816. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63817. 533 | ptr = ioremap_cache_shared(phys, size);
  63818. | ^
  63819. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63820. 556 | NV_MEMDBG_ADD(ptr, size);
  63821. | ^
  63822. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  63823. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  63824. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  63825. | ^~~~~~~~~~~~~
  63826. | d_is_dir
  63827. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  63828. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  63829. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  63830. | ^~~~~~~~~~~~~~~~~~~~~~~
  63831. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63832. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63833. 520 | NV_MEMDBG_ADD(ptr, size);
  63834. | ^
  63835. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  63836. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  63837. 287 | ktime_get_raw_ts64(&tm);
  63838. | ^~~
  63839. | |
  63840. | struct timespec64 *
  63841. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  63842. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  63843. | ~~~~~~~~~~~~~~~~~~~^~
  63844. nvidia-uvm/uvm_linux.h: At top level:
  63845. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  63846. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  63847. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  63848. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  63849. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  63850. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  63851. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  63852. 449 | #error "Unknown number of arguments"
  63853. | ^~~~~
  63854. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  63855. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  63856. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  63857. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  63858. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  63859. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  63860. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  63861. 485 | #error "Unknown number of arguments"
  63862. | ^~~~~
  63863. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  63864. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  63865. 533 | ptr = ioremap_cache_shared(phys, size);
  63866. | ^~~~~~~~~~~~~~~~~~~~
  63867. | ioremap_cache
  63868. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63869. 533 | ptr = ioremap_cache_shared(phys, size);
  63870. | ^
  63871. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63872. 556 | NV_MEMDBG_ADD(ptr, size);
  63873. | ^
  63874. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  63875. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  63876. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  63877. | ^~~~~~~~~~~~~~~~~~~~~~~
  63878. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63879. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63880. 520 | NV_MEMDBG_ADD(ptr, size);
  63881. | ^
  63882. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  63883. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  63884. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  63885. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  63886. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  63887. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  63888. | ^
  63889. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63890. 573 | NV_MEMDBG_ADD(ptr, size);
  63891. | ^
  63892. ././common/inc/nv-linux.h: In function 'nv_vmap':
  63893. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63894. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  63895. | ^
  63896. In file included from ././common/inc/nv-linux.h:34,
  63897. from nvidia-uvm/uvm_linux.h:40:
  63898. ././common/inc/nv-mm.h: At top level:
  63899. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  63900. 29 | typedef int vm_fault_t;
  63901. | ^~~~~~~~~~
  63902. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  63903. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  63904. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  63905. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  63906. from ././common/inc/nv-lock.h:35,
  63907. from ././common/inc/nv-linux.h:32:
  63908. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  63909. 1311 | typedef __bitwise unsigned int vm_fault_t;
  63910. | ^~~~~~~~~~
  63911. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  63912. from ././common/inc/nv-time.h:28:
  63913. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  63914. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  63915. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63916. 52 | #define current get_current()
  63917. | ^~~~~~~~~~~~~
  63918. | |
  63919. | struct task_struct *
  63920. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  63921. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63922. | ^~~~~~~
  63923. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  63924. 502 | NV_MEMDBG_ADD(ptr, size);
  63925. | ^
  63926. In file included from ././common/inc/nv-pgprot.h:30,
  63927. from ././common/inc/nv-linux.h:33:
  63928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  63929. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63930. | ~~~~~~~~~~~~~~^~~~~
  63931. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63932. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63933. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  63934. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63935. | ~~~~~~~~~~~~~~^~~~~~~~
  63936. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  63937. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63938. | ^~~~~~~~
  63939. | |
  63940. | long unsigned int
  63941. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  63942. 2535 | unsigned int gup_flags, struct page **pages);
  63943. | ~~~~~~~~~~~~~~^~~~~
  63944. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  63945. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  63946. | ^~~~~~~~~~~~~~ ~~~~~
  63947. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  63948. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63949. | ^~~~~~~~~~~~~~
  63950. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  63951. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  63952. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  63953. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  63954. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  63955. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  63956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63957. 8 | #define NULL ((void *)0)
  63958. | ^~~~~~~~~~~
  63959. | |
  63960. | void *
  63961. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  63962. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63963. | ^~~~
  63964. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  63965. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63966. | ~~~~~~~~~~~~~~^~~~~
  63967. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  63968. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63969. | ^~
  63970. | |
  63971. | struct mm_struct *
  63972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  63973. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63974. | ~~~~~~~~~~~~~~^~~~~~~~
  63975. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  63976. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63977. | ^~~~~~~~
  63978. | |
  63979. | long unsigned int
  63980. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  63981. 2535 | unsigned int gup_flags, struct page **pages);
  63982. | ~~~~~~~~~~~~~~^~~~~
  63983. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  63984. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  63985. | ^~~~~~~~~~~~~~ ~~~~~
  63986. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  63987. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  63988. | ^~~~~~~~~~~~~~
  63989. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  63990. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  63991. 237 | return (unsigned long)(vmf->virtual_address);
  63992. | ^~~~~~~~~~~~~~~
  63993. | real_address
  63994. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  63995. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  63996. 246 | down_read(&mm->mmap_sem);
  63997. | ^~~~~~~~
  63998. | mmap_base
  63999. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  64000. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64001. 255 | up_read(&mm->mmap_sem);
  64002. | ^~~~~~~~
  64003. | mmap_base
  64004. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  64005. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64006. 264 | down_write(&mm->mmap_sem);
  64007. | ^~~~~~~~
  64008. | mmap_base
  64009. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  64010. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64011. 273 | up_write(&mm->mmap_sem);
  64012. | ^~~~~~~~
  64013. | mmap_base
  64014. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  64015. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64016. 282 | return rwsem_is_locked(&mm->mmap_sem);
  64017. | ^~~~~~~~
  64018. | mmap_base
  64019. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  64020. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64021. 291 | return &mm->mmap_sem;
  64022. | ^~~~~~~~
  64023. | mmap_base
  64024. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  64025. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  64026. 300 | vma->vm_flags |= flags;
  64027. | ^~
  64028. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  64029. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  64030. 309 | vma->vm_flags &= ~flags;
  64031. | ^~
  64032. In file included from nvidia-uvm/uvm_api.h:31,
  64033. from nvidia-uvm/uvm_gpu_non_replayable_faults.c:25:
  64034. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64035. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  64036. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  64037. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  64038. | ^~~~~~~~~~~~~~~~~~~~~~~
  64039. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64040. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64041. 520 | NV_MEMDBG_ADD(ptr, size);
  64042. | ^
  64043. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64044. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64045. | ^~~~~~~~~~~~~~~~~~~~
  64046. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  64047. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  64048. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64049. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  64050. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64051. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64052. | ^
  64053. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64054. 573 | NV_MEMDBG_ADD(ptr, size);
  64055. | ^
  64056. ././common/inc/nv-linux.h: In function 'nv_vmap':
  64057. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64058. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  64059. | ^
  64060. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64061. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64062. 736 | return phys_to_dma(dev, pa);
  64063. | ^~~~~~~~~~~
  64064. | nv_phys_to_dma
  64065. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64066. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64067. 736 | return phys_to_dma(dev, pa);
  64068. | ^~~~~~~~~~~
  64069. | nv_phys_to_dma
  64070. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  64071. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  64072. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64073. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  64074. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64075. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64076. | ^
  64077. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64078. 573 | NV_MEMDBG_ADD(ptr, size);
  64079. | ^
  64080. ././common/inc/nv-linux.h: In function 'nv_vmap':
  64081. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64082. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  64083. | ^
  64084. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  64085. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  64086. 533 | ptr = ioremap_cache_shared(phys, size);
  64087. | ^~~~~~~~~~~~~~~~~~~~
  64088. | ioremap_cache
  64089. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64090. 533 | ptr = ioremap_cache_shared(phys, size);
  64091. | ^
  64092. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64093. 556 | NV_MEMDBG_ADD(ptr, size);
  64094. | ^
  64095. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64096. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64097. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64098. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64099. | ^~~~~~~~~~~~~
  64100. | d_is_dir
  64101. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64102. 736 | return phys_to_dma(dev, pa);
  64103. | ^~~~~~~~~~~
  64104. | nv_phys_to_dma
  64105. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  64106. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64107. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64108. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64109. | ^~~~~~~~~~~~~
  64110. | d_is_dir
  64111. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  64112. 533 | ptr = ioremap_cache_shared(phys, size);
  64113. | ^~~~~~~~~~~~~~~~~~~~
  64114. | ioremap_cache
  64115. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64116. 533 | ptr = ioremap_cache_shared(phys, size);
  64117. | ^
  64118. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64119. 556 | NV_MEMDBG_ADD(ptr, size);
  64120. | ^
  64121. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  64122. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64123. 502 | NV_MEMDBG_ADD(ptr, size);
  64124. | ^
  64125. In file included from nvidia-uvm/uvm_range_group.h:30:
  64126. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64127. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64128. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64129. | ^~~~~~~~~~~~~~~~~~~~
  64130. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64131. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64132. 287 | ktime_get_raw_ts64(&tm);
  64133. | ^~~
  64134. | |
  64135. | struct timespec64 *
  64136. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  64137. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  64138. 533 | ptr = ioremap_cache_shared(phys, size);
  64139. | ^~~~~~~~~~~~~~~~~~~~
  64140. | ioremap_cache
  64141. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64142. 533 | ptr = ioremap_cache_shared(phys, size);
  64143. | ^
  64144. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64145. 556 | NV_MEMDBG_ADD(ptr, size);
  64146. | ^
  64147. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64148. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64149. | ~~~~~~~~~~~~~~~~~~~^~
  64150. nvidia-uvm/uvm_linux.h: At top level:
  64151. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64152. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  64153. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64154. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64155. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  64156. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64157. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  64158. 449 | #error "Unknown number of arguments"
  64159. | ^~~~~
  64160. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64161. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  64162. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64163. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64164. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  64165. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64166. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  64167. 485 | #error "Unknown number of arguments"
  64168. | ^~~~~
  64169. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  64170. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  64171. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64172. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  64173. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64174. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64175. | ^
  64176. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64177. 573 | NV_MEMDBG_ADD(ptr, size);
  64178. | ^
  64179. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64180. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64181. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64182. | ^~~~~~~~~~~~~
  64183. | d_is_dir
  64184. ././common/inc/nv-linux.h: In function 'nv_vmap':
  64185. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64186. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  64187. | ^
  64188. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  64189. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  64190. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  64191. | ^~~~~~~~~~~~~~~~~~~~~~~
  64192. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64193. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64194. 520 | NV_MEMDBG_ADD(ptr, size);
  64195. | ^
  64196. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64197. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64198. 287 | ktime_get_raw_ts64(&tm);
  64199. | ^~~
  64200. | |
  64201. | struct timespec64 *
  64202. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64203. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64204. | ~~~~~~~~~~~~~~~~~~~^~
  64205. nvidia-uvm/uvm_linux.h: At top level:
  64206. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64207. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  64208. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64209. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64210. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  64211. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64212. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  64213. 449 | #error "Unknown number of arguments"
  64214. | ^~~~~
  64215. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64216. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  64217. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64218. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64219. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  64220. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64221. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  64222. 485 | #error "Unknown number of arguments"
  64223. | ^~~~~
  64224. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64225. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64226. 736 | return phys_to_dma(dev, pa);
  64227. | ^~~~~~~~~~~
  64228. | nv_phys_to_dma
  64229. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64230. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64231. 287 | ktime_get_raw_ts64(&tm);
  64232. | ^~~
  64233. | |
  64234. | struct timespec64 *
  64235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64236. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64237. | ~~~~~~~~~~~~~~~~~~~^~
  64238. ././nvidia-uvm/uvm_linux.h: At top level:
  64239. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64240. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  64241. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64242. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64243. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  64244. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64245. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  64246. 449 | #error "Unknown number of arguments"
  64247. | ^~~~~
  64248. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64249. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  64250. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64251. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64252. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  64253. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64254. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  64255. 485 | #error "Unknown number of arguments"
  64256. | ^~~~~
  64257. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  64258. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  64259. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64260. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  64261. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64262. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64263. | ^
  64264. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64265. 573 | NV_MEMDBG_ADD(ptr, size);
  64266. | ^
  64267. ././common/inc/nv-linux.h: In function 'nv_vmap':
  64268. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64269. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  64270. | ^
  64271. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  64272. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64273. 502 | NV_MEMDBG_ADD(ptr, size);
  64274. | ^
  64275. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64276. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64277. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64278. | ^~~~~~~~~~~~~
  64279. | d_is_dir
  64280. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  64281. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  64282. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  64283. | ^~~~~~~~~~~~~~~~~~~~~~~
  64284. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64285. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64286. 520 | NV_MEMDBG_ADD(ptr, size);
  64287. | ^
  64288. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  64289. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  64290. 533 | ptr = ioremap_cache_shared(phys, size);
  64291. | ^~~~~~~~~~~~~~~~~~~~
  64292. | ioremap_cache
  64293. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64294. 533 | ptr = ioremap_cache_shared(phys, size);
  64295. | ^
  64296. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64297. 556 | NV_MEMDBG_ADD(ptr, size);
  64298. | ^
  64299. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  64300. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  64301. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64302. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  64303. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64304. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64305. | ^
  64306. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64307. 573 | NV_MEMDBG_ADD(ptr, size);
  64308. | ^
  64309. ././common/inc/nv-linux.h: In function 'nv_vmap':
  64310. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64311. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  64312. | ^
  64313. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  64314. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64315. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64316. 736 | return phys_to_dma(dev, pa);
  64317. | ^~~~~~~~~~~
  64318. | nv_phys_to_dma
  64319. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  64320. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64321. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  64322. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64323. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64324. | ^
  64325. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64326. 573 | NV_MEMDBG_ADD(ptr, size);
  64327. | ^
  64328. ././common/inc/nv-linux.h: In function 'nv_vmap':
  64329. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64330. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  64331. | ^
  64332. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64333. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64334. 736 | return phys_to_dma(dev, pa);
  64335. | ^~~~~~~~~~~
  64336. | nv_phys_to_dma
  64337. cc1: some warnings being treated as errors
  64338. ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64339. ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64340. 287 | ktime_get_raw_ts64(&tm);
  64341. | ^~~
  64342. | |
  64343. | struct timespec64 *
  64344. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64345. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64346. | ~~~~~~~~~~~~~~~~~~~^~
  64347. ././nvidia-uvm/uvm_linux.h: At top level:
  64348. ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64349. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  64350. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64351. ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64352. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  64353. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64354. ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  64355. 449 | #error "Unknown number of arguments"
  64356. | ^~~~~
  64357. ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64358. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  64359. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64360. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  64361. 40 | struct timespec64 {
  64362. | ^~~~~~~~~~
  64363. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  64364. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  64365. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  64366. from ././common/inc/nv-time.h:29:
  64367. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  64368. 13 | struct timespec64 {
  64369. | ^~~~~~~~~~
  64370. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  64371. 77 | static inline struct timespec64 timespec64_add
  64372. | ^~~~~~~~~~~~~~
  64373. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  64374. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  64375. | ^~~~~~~~~~~~~~
  64376. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  64377. 95 | static inline struct timespec64 timespec64_sub
  64378. | ^~~~~~~~~~~~~~
  64379. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  64380. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  64381. | ^~~~~~~~~~~~~~
  64382. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  64383. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  64384. | ^~~~~~~~~~~~~~~~
  64385. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  64386. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  64387. | ^~~~~~~~~~~~~~~~
  64388. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  64389. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64390. 122 | ktime_get_raw_ts64(&ts);
  64391. | ^~~
  64392. | |
  64393. | struct timespec64 *
  64394. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  64395. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  64396. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  64397. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  64398. from ././common/inc/nv-time.h:30:
  64399. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64400. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64401. | ~~~~~~~~~~~~~~~~~~~^~
  64402. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  64403. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64404. 185 | ktime_get_raw_ts64(&tm_aux);
  64405. | ^~~~~~~
  64406. | |
  64407. | struct timespec64 *
  64408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64409. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64410. | ~~~~~~~~~~~~~~~~~~~^~
  64411. ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64412. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  64413. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64414. ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  64415. 485 | #error "Unknown number of arguments"
  64416. | ^~~~~
  64417. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64418. 221 | ktime_get_raw_ts64(&tm_aux);
  64419. | ^~~~~~~
  64420. | |
  64421. | struct timespec64 *
  64422. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64423. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64424. | ~~~~~~~~~~~~~~~~~~~^~
  64425. 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
  64426. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64427. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64428. 736 | return phys_to_dma(dev, pa);
  64429. | ^~~~~~~~~~~
  64430. | nv_phys_to_dma
  64431. cc1: some warnings being treated as errors
  64432. In file included from nvidia-uvm/uvm_perf_events.h:31:
  64433. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64434. CC [M] nvidia-uvm/uvm_maxwell_ce.o
  64435. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64436. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64437. | ^~~~~~~~~~~~~~~~~~~~
  64438. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_block.o] Error 1
  64439. CC [M] nvidia-uvm/uvm_maxwell_mmu.o
  64440. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64441. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64442. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64443. | ^~~~~~~~~~~~~
  64444. | d_is_dir
  64445. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64446. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64447. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64448. | ^~~~~~~~~~~~~
  64449. | d_is_dir
  64450. In file included from nvidia-uvm/uvm_perf_events.h:31,
  64451. from nvidia-uvm/uvm_perf_events.c:25:
  64452. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64453. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64454. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64455. | ^~~~~~~~~~~~~~~~~~~~
  64456. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  64457. from nvidia-uvm/uvm_gpu.h:37,
  64458. from nvidia-uvm/uvm_global.h:32,
  64459. from nvidia-uvm/uvm_gpu_replayable_faults.c:28:
  64460. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64461. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64462. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64463. | ^~~~~~~~~~~~~~~~~~~~
  64464. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64465. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64466. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64467. | ^~~~~~~~~~~~~
  64468. | d_is_dir
  64469. In file included from ././common/inc/conftest.h:28,
  64470. from ././common/inc/nv-time.h:27,
  64471. from nvidia-uvm/uvm_linux.h:37,
  64472. from nvidia-uvm/uvm_common.h:43,
  64473. from nvidia-uvm/uvm_hal.h:28,
  64474. from nvidia-uvm/uvm_maxwell_ce.c:24:
  64475. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  64476. 74 | #error dma_buf_export() conftest failed!
  64477. | ^~~~~
  64478. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  64479. 87 | #error wait_on_bit_lock() conftest failed!
  64480. | ^~~~~
  64481. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  64482. 90 | #error radix_tree_replace_slot() conftest failed!
  64483. | ^~~~~
  64484. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64485. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64486. 287 | ktime_get_raw_ts64(&tm);
  64487. | ^~~
  64488. | |
  64489. | struct timespec64 *
  64490. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64491. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64492. | ~~~~~~~~~~~~~~~~~~~^~
  64493. nvidia-uvm/uvm_linux.h: At top level:
  64494. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64495. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  64496. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64497. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64498. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  64499. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64500. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  64501. 449 | #error "Unknown number of arguments"
  64502. | ^~~~~
  64503. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64504. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  64505. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64506. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64507. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  64508. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64509. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  64510. 485 | #error "Unknown number of arguments"
  64511. | ^~~~~
  64512. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64513. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64514. 287 | ktime_get_raw_ts64(&tm);
  64515. | ^~~
  64516. | |
  64517. | struct timespec64 *
  64518. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64519. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64520. | ~~~~~~~~~~~~~~~~~~~^~
  64521. nvidia-uvm/uvm_linux.h: At top level:
  64522. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64523. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  64524. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64525. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64526. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  64527. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64528. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  64529. 449 | #error "Unknown number of arguments"
  64530. | ^~~~~
  64531. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64532. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  64533. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64534. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64535. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  64536. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64537. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  64538. 485 | #error "Unknown number of arguments"
  64539. | ^~~~~
  64540. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  64541. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  64542. 533 | ptr = ioremap_cache_shared(phys, size);
  64543. | ^~~~~~~~~~~~~~~~~~~~
  64544. | ioremap_cache
  64545. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64546. 533 | ptr = ioremap_cache_shared(phys, size);
  64547. | ^
  64548. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64549. 556 | NV_MEMDBG_ADD(ptr, size);
  64550. | ^
  64551. In file included from ././common/inc/conftest.h:28,
  64552. from ././common/inc/nv-time.h:27,
  64553. from nvidia-uvm/uvm_linux.h:37,
  64554. from nvidia-uvm/uvm_gpu.h:31,
  64555. from nvidia-uvm/uvm_maxwell_mmu.c:39:
  64556. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  64557. 74 | #error dma_buf_export() conftest failed!
  64558. | ^~~~~
  64559. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  64560. 87 | #error wait_on_bit_lock() conftest failed!
  64561. | ^~~~~
  64562. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  64563. 90 | #error radix_tree_replace_slot() conftest failed!
  64564. | ^~~~~
  64565. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  64566. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  64567. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  64568. | ^~~~~~~~~~~~~~~~~~~~~~~
  64569. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64570. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64571. 520 | NV_MEMDBG_ADD(ptr, size);
  64572. | ^
  64573. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64574. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64575. 287 | ktime_get_raw_ts64(&tm);
  64576. | ^~~
  64577. | |
  64578. | struct timespec64 *
  64579. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64580. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64581. | ~~~~~~~~~~~~~~~~~~~^~
  64582. nvidia-uvm/uvm_linux.h: At top level:
  64583. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64584. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  64585. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64586. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64587. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  64588. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64589. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  64590. 449 | #error "Unknown number of arguments"
  64591. | ^~~~~
  64592. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64593. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  64594. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64595. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64596. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  64597. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64598. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  64599. 485 | #error "Unknown number of arguments"
  64600. | ^~~~~
  64601. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  64602. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  64603. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64604. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  64605. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64606. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64607. | ^
  64608. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64609. 573 | NV_MEMDBG_ADD(ptr, size);
  64610. | ^
  64611. In file included from ././common/inc/nv-linux.h:34,
  64612. from nvidia-uvm/uvm_linux.h:40:
  64613. ././common/inc/nv-mm.h: At top level:
  64614. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  64615. 29 | typedef int vm_fault_t;
  64616. | ^~~~~~~~~~
  64617. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  64618. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  64619. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  64620. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  64621. from ././common/inc/nv-lock.h:35,
  64622. from ././common/inc/nv-linux.h:32:
  64623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  64624. 1311 | typedef __bitwise unsigned int vm_fault_t;
  64625. | ^~~~~~~~~~
  64626. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  64627. from ././common/inc/nv-time.h:28:
  64628. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  64629. ././common/inc/nv-linux.h: In function 'nv_vmap':
  64630. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64631. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  64632. | ^
  64633. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  64634. 52 | #define current get_current()
  64635. | ^~~~~~~~~~~~~
  64636. | |
  64637. | struct task_struct *
  64638. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  64639. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  64640. | ^~~~~~~
  64641. In file included from ././common/inc/nv-pgprot.h:30,
  64642. from ././common/inc/nv-linux.h:33:
  64643. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  64644. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  64645. | ~~~~~~~~~~~~~~^~~~~
  64646. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  64647. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  64648. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  64649. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  64650. | ~~~~~~~~~~~~~~^~~~~~~~
  64651. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  64652. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  64653. | ^~~~~~~~
  64654. | |
  64655. | long unsigned int
  64656. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  64657. 2535 | unsigned int gup_flags, struct page **pages);
  64658. | ~~~~~~~~~~~~~~^~~~~
  64659. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  64660. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  64661. | ^~~~~~~~~~~~~~ ~~~~~
  64662. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  64663. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  64664. | ^~~~~~~~~~~~~~
  64665. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  64666. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  64667. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  64668. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  64669. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  64670. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  64671. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  64672. 8 | #define NULL ((void *)0)
  64673. | ^~~~~~~~~~~
  64674. | |
  64675. | void *
  64676. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  64677. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  64678. | ^~~~
  64679. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  64680. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  64681. | ~~~~~~~~~~~~~~^~~~~
  64682. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  64683. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  64684. | ^~
  64685. | |
  64686. | struct mm_struct *
  64687. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  64688. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  64689. | ~~~~~~~~~~~~~~^~~~~~~~
  64690. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  64691. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  64692. | ^~~~~~~~
  64693. | |
  64694. | long unsigned int
  64695. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  64696. 2535 | unsigned int gup_flags, struct page **pages);
  64697. | ~~~~~~~~~~~~~~^~~~~
  64698. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  64699. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  64700. | ^~~~~~~~~~~~~~ ~~~~~
  64701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  64702. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  64703. | ^~~~~~~~~~~~~~
  64704. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  64705. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  64706. 237 | return (unsigned long)(vmf->virtual_address);
  64707. | ^~~~~~~~~~~~~~~
  64708. | real_address
  64709. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  64710. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64711. 246 | down_read(&mm->mmap_sem);
  64712. | ^~~~~~~~
  64713. | mmap_base
  64714. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  64715. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64716. 255 | up_read(&mm->mmap_sem);
  64717. | ^~~~~~~~
  64718. | mmap_base
  64719. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  64720. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64721. 264 | down_write(&mm->mmap_sem);
  64722. | ^~~~~~~~
  64723. | mmap_base
  64724. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  64725. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64726. 273 | up_write(&mm->mmap_sem);
  64727. | ^~~~~~~~
  64728. | mmap_base
  64729. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  64730. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64731. 282 | return rwsem_is_locked(&mm->mmap_sem);
  64732. | ^~~~~~~~
  64733. | mmap_base
  64734. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  64735. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  64736. 291 | return &mm->mmap_sem;
  64737. | ^~~~~~~~
  64738. | mmap_base
  64739. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  64740. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  64741. 300 | vma->vm_flags |= flags;
  64742. | ^~
  64743. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  64744. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  64745. 309 | vma->vm_flags &= ~flags;
  64746. | ^~
  64747. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64748. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64749. 736 | return phys_to_dma(dev, pa);
  64750. | ^~~~~~~~~~~
  64751. | nv_phys_to_dma
  64752. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  64753. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64754. 502 | NV_MEMDBG_ADD(ptr, size);
  64755. | ^
  64756. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  64757. from nvidia-uvm/uvm_gpu.h:37,
  64758. from nvidia-uvm/uvm_global.h:32,
  64759. from nvidia-uvm/uvm_gpu_access_counters.c:26:
  64760. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64761. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64762. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64763. | ^~~~~~~~~~~~~~~~~~~~
  64764. cc1: some warnings being treated as errors
  64765. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64766. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64767. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64768. | ^~~~~~~~~~~~~
  64769. | d_is_dir
  64770. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_group.o] Error 1
  64771. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  64772. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  64773. 533 | ptr = ioremap_cache_shared(phys, size);
  64774. | ^~~~~~~~~~~~~~~~~~~~
  64775. | ioremap_cache
  64776. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64777. 533 | ptr = ioremap_cache_shared(phys, size);
  64778. | ^
  64779. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64780. 556 | NV_MEMDBG_ADD(ptr, size);
  64781. | ^
  64782. CC [M] nvidia-uvm/uvm_maxwell_fault_buffer.o
  64783. cc1: some warnings being treated as errors
  64784. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  64785. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  64786. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64787. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  64788. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64789. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64790. | ^
  64791. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64792. 573 | NV_MEMDBG_ADD(ptr, size);
  64793. | ^
  64794. ././common/inc/nv-linux.h: In function 'nv_vmap':
  64795. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64796. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  64797. | ^
  64798. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_module.o] Error 1
  64799. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  64800. from nvidia-uvm/uvm_gpu.h:37,
  64801. from nvidia-uvm/uvm_mmu.c:27:
  64802. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64803. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64804. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64805. | ^~~~~~~~~~~~~~~~~~~~
  64806. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  64807. from nvidia-uvm/uvm_channel.h:29,
  64808. from nvidia-uvm/uvm_push.h:29,
  64809. from nvidia-uvm/uvm_push.c:26:
  64810. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64811. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64812. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64813. | ^~~~~~~~~~~~~~~~~~~~
  64814. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64815. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64816. 287 | ktime_get_raw_ts64(&tm);
  64817. | ^~~
  64818. | |
  64819. | struct timespec64 *
  64820. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64821. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64822. | ~~~~~~~~~~~~~~~~~~~^~
  64823. nvidia-uvm/uvm_linux.h: At top level:
  64824. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64825. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  64826. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64827. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64828. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  64829. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64830. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  64831. 449 | #error "Unknown number of arguments"
  64832. | ^~~~~
  64833. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64834. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  64835. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64836. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64837. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  64838. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64839. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  64840. 485 | #error "Unknown number of arguments"
  64841. | ^~~~~
  64842. CC [M] nvidia-uvm/uvm_maxwell_access_counter_buffer.o
  64843. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  64844. from nvidia-uvm/uvm_channel.h:29,
  64845. from nvidia-uvm/uvm_push.h:29,
  64846. from nvidia-uvm/uvm_hal.h:31,
  64847. from nvidia-uvm/uvm_tlb_batch.c:25:
  64848. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64849. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64850. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64851. | ^~~~~~~~~~~~~~~~~~~~
  64852. In file included from ././common/inc/conftest.h:28,
  64853. from ././common/inc/nv-time.h:27,
  64854. from nvidia-uvm/uvm_linux.h:37,
  64855. from nvidia-uvm/uvm_gpu.h:31,
  64856. from nvidia-uvm/uvm_maxwell_fault_buffer.c:24:
  64857. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  64858. 74 | #error dma_buf_export() conftest failed!
  64859. | ^~~~~
  64860. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  64861. 87 | #error wait_on_bit_lock() conftest failed!
  64862. | ^~~~~
  64863. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  64864. 90 | #error radix_tree_replace_slot() conftest failed!
  64865. | ^~~~~
  64866. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64867. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64868. 736 | return phys_to_dma(dev, pa);
  64869. | ^~~~~~~~~~~
  64870. | nv_phys_to_dma
  64871. cc1: some warnings being treated as errors
  64872. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_events.o] Error 1
  64873. CC [M] nvidia-uvm/uvm_pascal.o
  64874. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  64875. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  64876. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  64877. | ^~~~~~~~~~~~~~~~~~~~~~~
  64878. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64879. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64880. 520 | NV_MEMDBG_ADD(ptr, size);
  64881. | ^
  64882. In file included from ././common/inc/conftest.h:28,
  64883. from ././common/inc/nv-time.h:27,
  64884. from nvidia-uvm/uvm_linux.h:37,
  64885. from nvidia-uvm/uvm_gpu.h:31,
  64886. from nvidia-uvm/uvm_maxwell_access_counter_buffer.c:24:
  64887. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  64888. 74 | #error dma_buf_export() conftest failed!
  64889. | ^~~~~
  64890. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  64891. 87 | #error wait_on_bit_lock() conftest failed!
  64892. | ^~~~~
  64893. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  64894. 90 | #error radix_tree_replace_slot() conftest failed!
  64895. | ^~~~~
  64896. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64897. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64898. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64899. | ^~~~~~~~~~~~~
  64900. | d_is_dir
  64901. In file included from ././common/inc/conftest.h:28,
  64902. from ././common/inc/nv-time.h:27,
  64903. from nvidia-uvm/uvm_linux.h:37,
  64904. from nvidia-uvm/uvm_common.h:43,
  64905. from nvidia-uvm/uvm_hal.h:28,
  64906. from nvidia-uvm/uvm_pascal.c:24:
  64907. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  64908. 74 | #error dma_buf_export() conftest failed!
  64909. | ^~~~~
  64910. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  64911. 87 | #error wait_on_bit_lock() conftest failed!
  64912. | ^~~~~
  64913. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  64914. 90 | #error radix_tree_replace_slot() conftest failed!
  64915. | ^~~~~
  64916. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  64917. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  64918. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64919. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  64920. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64921. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  64922. | ^
  64923. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64924. 573 | NV_MEMDBG_ADD(ptr, size);
  64925. | ^
  64926. ././common/inc/nv-linux.h: In function 'nv_vmap':
  64927. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64928. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  64929. | ^
  64930. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64931. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64932. 287 | ktime_get_raw_ts64(&tm);
  64933. | ^~~
  64934. | |
  64935. | struct timespec64 *
  64936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  64937. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  64938. | ~~~~~~~~~~~~~~~~~~~^~
  64939. nvidia-uvm/uvm_linux.h: At top level:
  64940. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64941. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  64942. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64943. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64944. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  64945. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64946. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  64947. 449 | #error "Unknown number of arguments"
  64948. | ^~~~~
  64949. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64950. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  64951. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64952. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  64953. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  64954. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64955. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  64956. 485 | #error "Unknown number of arguments"
  64957. | ^~~~~
  64958. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  64959. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  64960. 736 | return phys_to_dma(dev, pa);
  64961. | ^~~~~~~~~~~
  64962. | nv_phys_to_dma
  64963. In file included from nvidia-uvm/uvm_api.h:31:
  64964. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  64965. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  64966. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  64967. | ^~~~~~~~~~~~~~~~~~~~
  64968. cc1: some warnings being treated as errors
  64969. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  64970. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  64971. 533 | ptr = ioremap_cache_shared(phys, size);
  64972. | ^~~~~~~~~~~~~~~~~~~~
  64973. | ioremap_cache
  64974. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  64975. 533 | ptr = ioremap_cache_shared(phys, size);
  64976. | ^
  64977. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  64978. 556 | NV_MEMDBG_ADD(ptr, size);
  64979. | ^
  64980. cc1: some warnings being treated as errors
  64981. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_push.o] Error 1
  64982. cc1: some warnings being treated as errors
  64983. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tlb_batch.o] Error 1
  64984. CC [M] nvidia-uvm/uvm_pascal_ce.o
  64985. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  64986. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  64987. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  64988. | ^~~~~~~~~~~~~
  64989. | d_is_dir
  64990. CC [M] nvidia-uvm/uvm_pascal_host.o
  64991. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_replayable_faults.o] Error 1
  64992. CC [M] nvidia-uvm/uvm_pascal_mmu.o
  64993. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  64994. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  64995. 287 | ktime_get_raw_ts64(&tm);
  64996. | ^~~
  64997. | |
  64998. | struct timespec64 *
  64999. In file included from ././common/inc/conftest.h:28,
  65000. from ././common/inc/nv-time.h:27,
  65001. from nvidia-uvm/uvm_linux.h:37,
  65002. from nvidia-uvm/uvm_common.h:43,
  65003. from nvidia-uvm/uvm_hal.h:28,
  65004. from nvidia-uvm/uvm_pascal_ce.c:24:
  65005. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  65006. 74 | #error dma_buf_export() conftest failed!
  65007. | ^~~~~
  65008. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  65009. 87 | #error wait_on_bit_lock() conftest failed!
  65010. | ^~~~~
  65011. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  65012. 90 | #error radix_tree_replace_slot() conftest failed!
  65013. | ^~~~~
  65014. cc1: some warnings being treated as errors
  65015. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65016. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65017. | ~~~~~~~~~~~~~~~~~~~^~
  65018. In file included from ././common/inc/conftest.h:28,
  65019. from ././common/inc/nv-time.h:27,
  65020. from nvidia-uvm/uvm_linux.h:37,
  65021. from nvidia-uvm/uvm_pascal_host.c:24:
  65022. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  65023. 74 | #error dma_buf_export() conftest failed!
  65024. | ^~~~~
  65025. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  65026. 87 | #error wait_on_bit_lock() conftest failed!
  65027. | ^~~~~
  65028. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  65029. 90 | #error radix_tree_replace_slot() conftest failed!
  65030. | ^~~~~
  65031. nvidia-uvm/uvm_linux.h: At top level:
  65032. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65033. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  65034. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65035. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65036. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  65037. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65038. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  65039. 449 | #error "Unknown number of arguments"
  65040. | ^~~~~
  65041. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65042. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  65043. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65044. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65045. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  65046. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65047. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  65048. 485 | #error "Unknown number of arguments"
  65049. | ^~~~~
  65050. nvidia-uvm/uvm_mmu.c: At top level:
  65051. nvidia-uvm/uvm_mmu.c:2290:11: warning: no previous prototype for 'create_static_vidmem_mapping' [-Wmissing-prototypes]
  65052. 2290 | NV_STATUS create_static_vidmem_mapping(uvm_gpu_t *gpu)
  65053. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65054. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_access_counters.o] Error 1
  65055. In file included from ././common/inc/conftest.h:28,
  65056. from ././common/inc/nv-time.h:27,
  65057. from nvidia-uvm/uvm_linux.h:37,
  65058. from nvidia-uvm/uvm_extern_decl.h:27,
  65059. from nvidia-uvm/uvm_global.h:28,
  65060. from nvidia-uvm/uvm_pascal_mmu.c:36:
  65061. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  65062. 74 | #error dma_buf_export() conftest failed!
  65063. | ^~~~~
  65064. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  65065. 87 | #error wait_on_bit_lock() conftest failed!
  65066. | ^~~~~
  65067. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  65068. 90 | #error radix_tree_replace_slot() conftest failed!
  65069. | ^~~~~
  65070. CC [M] nvidia-uvm/uvm_pascal_fault_buffer.o
  65071. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  65072. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  65073. 502 | NV_MEMDBG_ADD(ptr, size);
  65074. | ^
  65075. In file included from ././common/inc/conftest.h:28,
  65076. from ././common/inc/nv-time.h:27,
  65077. from nvidia-uvm/uvm_linux.h:37,
  65078. from nvidia-uvm/uvm_pascal_fault_buffer.c:24:
  65079. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  65080. 74 | #error dma_buf_export() conftest failed!
  65081. | ^~~~~
  65082. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  65083. 87 | #error wait_on_bit_lock() conftest failed!
  65084. | ^~~~~
  65085. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  65086. 90 | #error radix_tree_replace_slot() conftest failed!
  65087. | ^~~~~
  65088. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65089. 40 | struct timespec64 {
  65090. | ^~~~~~~~~~
  65091. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65092. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65093. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65094. from ././common/inc/nv-time.h:29:
  65095. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65096. 13 | struct timespec64 {
  65097. | ^~~~~~~~~~
  65098. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65099. 77 | static inline struct timespec64 timespec64_add
  65100. | ^~~~~~~~~~~~~~
  65101. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65102. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  65103. | ^~~~~~~~~~~~~~
  65104. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65105. 95 | static inline struct timespec64 timespec64_sub
  65106. | ^~~~~~~~~~~~~~
  65107. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65108. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  65109. | ^~~~~~~~~~~~~~
  65110. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  65111. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  65112. | ^~~~~~~~~~~~~~~~
  65113. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  65114. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  65115. | ^~~~~~~~~~~~~~~~
  65116. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  65117. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65118. 122 | ktime_get_raw_ts64(&ts);
  65119. | ^~~
  65120. | |
  65121. | struct timespec64 *
  65122. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  65123. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  65124. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  65125. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  65126. from ././common/inc/nv-time.h:30:
  65127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65128. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65129. | ~~~~~~~~~~~~~~~~~~~^~
  65130. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  65131. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65132. 185 | ktime_get_raw_ts64(&tm_aux);
  65133. | ^~~~~~~
  65134. | |
  65135. | struct timespec64 *
  65136. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65137. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65138. | ~~~~~~~~~~~~~~~~~~~^~
  65139. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65140. 221 | ktime_get_raw_ts64(&tm_aux);
  65141. | ^~~~~~~
  65142. | |
  65143. | struct timespec64 *
  65144. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65145. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65146. | ~~~~~~~~~~~~~~~~~~~^~
  65147. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  65148. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  65149. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  65150. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  65151. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  65152. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  65153. | ^
  65154. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  65155. 573 | NV_MEMDBG_ADD(ptr, size);
  65156. | ^
  65157. ././common/inc/nv-linux.h: In function 'nv_vmap':
  65158. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  65159. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  65160. | ^
  65161. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  65162. from nvidia-uvm/uvm_channel.h:29,
  65163. from nvidia-uvm/uvm_push.h:29,
  65164. from nvidia-uvm/uvm_pte_batch.h:29:
  65165. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  65166. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  65167. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  65168. | ^~~~~~~~~~~~~~~~~~~~
  65169. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65170. 40 | struct timespec64 {
  65171. | ^~~~~~~~~~
  65172. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65173. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65174. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65175. from ././common/inc/nv-time.h:29:
  65176. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65177. 13 | struct timespec64 {
  65178. | ^~~~~~~~~~
  65179. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65180. 77 | static inline struct timespec64 timespec64_add
  65181. | ^~~~~~~~~~~~~~
  65182. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65183. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  65184. | ^~~~~~~~~~~~~~
  65185. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65186. 95 | static inline struct timespec64 timespec64_sub
  65187. | ^~~~~~~~~~~~~~
  65188. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65189. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  65190. | ^~~~~~~~~~~~~~
  65191. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  65192. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  65193. | ^~~~~~~~~~~~~~~~
  65194. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  65195. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  65196. | ^~~~~~~~~~~~~~~~
  65197. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  65198. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  65199. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65200. 122 | ktime_get_raw_ts64(&ts);
  65201. | ^~~
  65202. | |
  65203. | struct timespec64 *
  65204. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  65205. 736 | return phys_to_dma(dev, pa);
  65206. | ^~~~~~~~~~~
  65207. | nv_phys_to_dma
  65208. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  65209. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  65210. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  65211. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  65212. from ././common/inc/nv-time.h:30:
  65213. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65214. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65215. | ~~~~~~~~~~~~~~~~~~~^~
  65216. In file included from ././common/inc/nv-procfs.h:26,
  65217. from nvidia-uvm/uvm_procfs.h:30,
  65218. from nvidia-uvm/uvm_pushbuffer.c:29:
  65219. nvidia-uvm/uvm_pushbuffer.c: In function 'create_procfs':
  65220. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  65221. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65222. 185 | ktime_get_raw_ts64(&tm_aux);
  65223. | ^~~~~~~
  65224. | |
  65225. | struct timespec64 *
  65226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65227. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65228. | ~~~~~~~~~~~~~~~~~~~^~
  65229. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  65230. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  65231. | ^~~~
  65232. | |
  65233. | const nv_proc_ops_t * {aka const struct file_operations *}
  65234. nvidia-uvm/uvm_pushbuffer.c:69:36: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  65235. 69 | pushbuffer->procfs.info_file = NV_CREATE_PROC_FILE("pushbuffer",
  65236. | ^~~~~~~~~~~~~~~~~~~
  65237. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  65238. from ././common/inc/nv-linux.h:220:
  65239. /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 *'}
  65240. 111 | const struct proc_ops *,
  65241. | ^~~~~~~~~~~~~~~~~~~~~~~
  65242. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65243. 221 | ktime_get_raw_ts64(&tm_aux);
  65244. | ^~~~~~~
  65245. | |
  65246. | struct timespec64 *
  65247. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65248. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65249. | ~~~~~~~~~~~~~~~~~~~^~
  65250. In file included from ././common/inc/nv-linux.h:34,
  65251. from nvidia-uvm/uvm_linux.h:40:
  65252. ././common/inc/nv-mm.h: At top level:
  65253. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  65254. 29 | typedef int vm_fault_t;
  65255. | ^~~~~~~~~~
  65256. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  65257. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  65258. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  65259. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  65260. from ././common/inc/nv-lock.h:35,
  65261. from ././common/inc/nv-linux.h:32:
  65262. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  65263. 1311 | typedef __bitwise unsigned int vm_fault_t;
  65264. | ^~~~~~~~~~
  65265. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  65266. from ././common/inc/nv-time.h:28:
  65267. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  65268. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  65269. 52 | #define current get_current()
  65270. | ^~~~~~~~~~~~~
  65271. | |
  65272. | struct task_struct *
  65273. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  65274. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  65275. | ^~~~~~~
  65276. In file included from ././common/inc/nv-pgprot.h:30,
  65277. from ././common/inc/nv-linux.h:33:
  65278. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  65279. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  65280. | ~~~~~~~~~~~~~~^~~~~
  65281. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  65282. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  65283. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  65284. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  65285. | ~~~~~~~~~~~~~~^~~~~~~~
  65286. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  65287. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  65288. | ^~~~~~~~
  65289. | |
  65290. | long unsigned int
  65291. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  65292. 2535 | unsigned int gup_flags, struct page **pages);
  65293. | ~~~~~~~~~~~~~~^~~~~
  65294. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  65295. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  65296. | ^~~~~~~~~~~~~~ ~~~~~
  65297. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  65298. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  65299. | ^~~~~~~~~~~~~~
  65300. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  65301. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  65302. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  65303. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  65304. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  65305. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  65306. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  65307. 8 | #define NULL ((void *)0)
  65308. | ^~~~~~~~~~~
  65309. | |
  65310. | void *
  65311. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  65312. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  65313. | ^~~~
  65314. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  65315. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  65316. | ~~~~~~~~~~~~~~^~~~~
  65317. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  65318. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  65319. | ^~
  65320. | |
  65321. | struct mm_struct *
  65322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  65323. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  65324. | ~~~~~~~~~~~~~~^~~~~~~~
  65325. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  65326. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  65327. | ^~~~~~~~
  65328. | |
  65329. | long unsigned int
  65330. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  65331. 2535 | unsigned int gup_flags, struct page **pages);
  65332. | ~~~~~~~~~~~~~~^~~~~
  65333. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  65334. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  65335. | ^~~~~~~~~~~~~~ ~~~~~
  65336. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  65337. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  65338. | ^~~~~~~~~~~~~~
  65339. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  65340. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  65341. 237 | return (unsigned long)(vmf->virtual_address);
  65342. | ^~~~~~~~~~~~~~~
  65343. | real_address
  65344. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  65345. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  65346. 246 | down_read(&mm->mmap_sem);
  65347. | ^~~~~~~~
  65348. | mmap_base
  65349. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  65350. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  65351. 255 | up_read(&mm->mmap_sem);
  65352. | ^~~~~~~~
  65353. | mmap_base
  65354. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  65355. cc1: some warnings being treated as errors
  65356. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  65357. 264 | down_write(&mm->mmap_sem);
  65358. | ^~~~~~~~
  65359. | mmap_base
  65360. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  65361. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  65362. 273 | up_write(&mm->mmap_sem);
  65363. | ^~~~~~~~
  65364. | mmap_base
  65365. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  65366. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  65367. 282 | return rwsem_is_locked(&mm->mmap_sem);
  65368. | ^~~~~~~~
  65369. | mmap_base
  65370. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  65371. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  65372. 291 | return &mm->mmap_sem;
  65373. | ^~~~~~~~
  65374. | mmap_base
  65375. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  65376. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  65377. 300 | vma->vm_flags |= flags;
  65378. | ^~
  65379. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  65380. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  65381. 309 | vma->vm_flags &= ~flags;
  65382. | ^~
  65383. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  65384. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  65385. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  65386. | ^~~~~~~~~~~~~~~~~~~~
  65387. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mmu.o] Error 1
  65388. CC [M] nvidia-uvm/uvm_volta_ce.o
  65389. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  65390. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  65391. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  65392. | ^~~~~~~~~~~~~~~~~~~~~~~
  65393. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  65394. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  65395. 520 | NV_MEMDBG_ADD(ptr, size);
  65396. | ^
  65397. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  65398. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  65399. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  65400. | ^~~~~~~~~~~~~
  65401. | d_is_dir
  65402. cc1: some warnings being treated as errors
  65403. In file included from ././common/inc/conftest.h:28,
  65404. from ././common/inc/nv-time.h:27,
  65405. from nvidia-uvm/uvm_linux.h:37,
  65406. from nvidia-uvm/uvm_common.h:43,
  65407. from nvidia-uvm/uvm_hal.h:28,
  65408. from nvidia-uvm/uvm_volta_ce.c:24:
  65409. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  65410. 74 | #error dma_buf_export() conftest failed!
  65411. | ^~~~~
  65412. cc1: some warnings being treated as errors
  65413. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  65414. 87 | #error wait_on_bit_lock() conftest failed!
  65415. | ^~~~~
  65416. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  65417. 90 | #error radix_tree_replace_slot() conftest failed!
  65418. | ^~~~~
  65419. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_thread_context.o] Error 1
  65420. CC [M] nvidia-uvm/uvm_volta_host.o
  65421. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  65422. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65423. 287 | ktime_get_raw_ts64(&tm);
  65424. | ^~~
  65425. | |
  65426. | struct timespec64 *
  65427. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65428. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65429. | ~~~~~~~~~~~~~~~~~~~^~
  65430. nvidia-uvm/uvm_linux.h: At top level:
  65431. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65432. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  65433. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65434. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65435. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  65436. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65437. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pushbuffer.o] Error 1
  65438. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  65439. 449 | #error "Unknown number of arguments"
  65440. | ^~~~~
  65441. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65442. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  65443. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65444. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65445. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  65446. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65447. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  65448. 485 | #error "Unknown number of arguments"
  65449. | ^~~~~
  65450. CC [M] nvidia-uvm/uvm_volta_mmu.o
  65451. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65452. 40 | struct timespec64 {
  65453. | ^~~~~~~~~~
  65454. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65455. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65456. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65457. from ././common/inc/nv-time.h:29:
  65458. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65459. 13 | struct timespec64 {
  65460. | ^~~~~~~~~~
  65461. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65462. 77 | static inline struct timespec64 timespec64_add
  65463. | ^~~~~~~~~~~~~~
  65464. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65465. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  65466. | ^~~~~~~~~~~~~~
  65467. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65468. 95 | static inline struct timespec64 timespec64_sub
  65469. | ^~~~~~~~~~~~~~
  65470. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65471. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  65472. | ^~~~~~~~~~~~~~
  65473. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  65474. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  65475. | ^~~~~~~~~~~~~~~~
  65476. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  65477. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  65478. | ^~~~~~~~~~~~~~~~
  65479. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  65480. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65481. 122 | ktime_get_raw_ts64(&ts);
  65482. | ^~~
  65483. | |
  65484. | struct timespec64 *
  65485. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  65486. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  65487. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  65488. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  65489. from ././common/inc/nv-time.h:30:
  65490. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65491. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65492. | ~~~~~~~~~~~~~~~~~~~^~
  65493. In file included from ././common/inc/conftest.h:28,
  65494. from ././common/inc/nv-time.h:27,
  65495. from nvidia-uvm/uvm_linux.h:37,
  65496. from nvidia-uvm/uvm_volta_host.c:24:
  65497. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  65498. 74 | #error dma_buf_export() conftest failed!
  65499. | ^~~~~
  65500. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  65501. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  65502. 87 | #error wait_on_bit_lock() conftest failed!
  65503. | ^~~~~
  65504. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  65505. 90 | #error radix_tree_replace_slot() conftest failed!
  65506. | ^~~~~
  65507. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65508. 185 | ktime_get_raw_ts64(&tm_aux);
  65509. | ^~~~~~~
  65510. | |
  65511. | struct timespec64 *
  65512. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65513. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65514. | ~~~~~~~~~~~~~~~~~~~^~
  65515. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65516. 221 | ktime_get_raw_ts64(&tm_aux);
  65517. | ^~~~~~~
  65518. | |
  65519. | struct timespec64 *
  65520. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65521. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65522. | ~~~~~~~~~~~~~~~~~~~^~
  65523. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65524. 40 | struct timespec64 {
  65525. | ^~~~~~~~~~
  65526. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65527. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65528. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65529. from ././common/inc/nv-time.h:29:
  65530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65531. 13 | struct timespec64 {
  65532. | ^~~~~~~~~~
  65533. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65534. 77 | static inline struct timespec64 timespec64_add
  65535. | ^~~~~~~~~~~~~~
  65536. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65537. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  65538. | ^~~~~~~~~~~~~~
  65539. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65540. 95 | static inline struct timespec64 timespec64_sub
  65541. | ^~~~~~~~~~~~~~
  65542. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65543. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  65544. | ^~~~~~~~~~~~~~
  65545. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  65546. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  65547. | ^~~~~~~~~~~~~~~~
  65548. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  65549. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  65550. | ^~~~~~~~~~~~~~~~
  65551. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  65552. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65553. 122 | ktime_get_raw_ts64(&ts);
  65554. | ^~~
  65555. | |
  65556. | struct timespec64 *
  65557. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  65558. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  65559. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  65560. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  65561. from ././common/inc/nv-time.h:30:
  65562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65563. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65564. | ~~~~~~~~~~~~~~~~~~~^~
  65565. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  65566. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65567. 185 | ktime_get_raw_ts64(&tm_aux);
  65568. | ^~~~~~~
  65569. | |
  65570. | struct timespec64 *
  65571. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65572. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65573. | ~~~~~~~~~~~~~~~~~~~^~
  65574. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65575. 221 | ktime_get_raw_ts64(&tm_aux);
  65576. | ^~~~~~~
  65577. | |
  65578. | struct timespec64 *
  65579. cc1: some warnings being treated as errors
  65580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65581. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65582. | ~~~~~~~~~~~~~~~~~~~^~
  65583. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65584. 40 | struct timespec64 {
  65585. | ^~~~~~~~~~
  65586. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65587. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65588. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65589. from ././common/inc/nv-time.h:29:
  65590. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65591. 13 | struct timespec64 {
  65592. | ^~~~~~~~~~
  65593. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65594. 77 | static inline struct timespec64 timespec64_add
  65595. | ^~~~~~~~~~~~~~
  65596. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65597. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  65598. | ^~~~~~~~~~~~~~
  65599. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65600. 95 | static inline struct timespec64 timespec64_sub
  65601. | ^~~~~~~~~~~~~~
  65602. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65603. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  65604. | ^~~~~~~~~~~~~~
  65605. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  65606. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  65607. | ^~~~~~~~~~~~~~~~
  65608. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  65609. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  65610. | ^~~~~~~~~~~~~~~~
  65611. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  65612. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65613. 122 | ktime_get_raw_ts64(&ts);
  65614. | ^~~
  65615. | |
  65616. | struct timespec64 *
  65617. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  65618. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  65619. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  65620. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  65621. from ././common/inc/nv-time.h:30:
  65622. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65623. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65624. | ~~~~~~~~~~~~~~~~~~~^~
  65625. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  65626. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65627. 185 | ktime_get_raw_ts64(&tm_aux);
  65628. | ^~~~~~~
  65629. | |
  65630. | struct timespec64 *
  65631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65632. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65633. | ~~~~~~~~~~~~~~~~~~~^~
  65634. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65635. 221 | ktime_get_raw_ts64(&tm_aux);
  65636. | ^~~~~~~
  65637. | |
  65638. | struct timespec64 *
  65639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65640. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65641. | ~~~~~~~~~~~~~~~~~~~^~
  65642. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pte_batch.o] Error 1
  65643. In file included from ././common/inc/conftest.h:28,
  65644. from ././common/inc/nv-time.h:27,
  65645. from nvidia-uvm/uvm_linux.h:37,
  65646. from nvidia-uvm/uvm_extern_decl.h:27,
  65647. from nvidia-uvm/uvm_global.h:28,
  65648. from nvidia-uvm/uvm_volta_mmu.c:26:
  65649. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  65650. 74 | #error dma_buf_export() conftest failed!
  65651. | ^~~~~
  65652. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  65653. 87 | #error wait_on_bit_lock() conftest failed!
  65654. | ^~~~~
  65655. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  65656. 90 | #error radix_tree_replace_slot() conftest failed!
  65657. | ^~~~~
  65658. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  65659. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  65660. 533 | ptr = ioremap_cache_shared(phys, size);
  65661. | ^~~~~~~~~~~~~~~~~~~~
  65662. | ioremap_cache
  65663. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  65664. 533 | ptr = ioremap_cache_shared(phys, size);
  65665. | ^
  65666. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  65667. 556 | NV_MEMDBG_ADD(ptr, size);
  65668. | ^
  65669. CC [M] nvidia-uvm/uvm_volta.o
  65670. In file included from ././common/inc/conftest.h:28,
  65671. from ././common/inc/nv-time.h:27,
  65672. from nvidia-uvm/uvm_linux.h:37,
  65673. from nvidia-uvm/uvm_common.h:43,
  65674. from nvidia-uvm/uvm_hal.h:28,
  65675. from nvidia-uvm/uvm_volta.c:24:
  65676. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  65677. 74 | #error dma_buf_export() conftest failed!
  65678. | ^~~~~
  65679. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  65680. 87 | #error wait_on_bit_lock() conftest failed!
  65681. | ^~~~~
  65682. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  65683. 90 | #error radix_tree_replace_slot() conftest failed!
  65684. | ^~~~~
  65685. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  65686. from nvidia-uvm/uvm_channel.h:29,
  65687. from nvidia-uvm/uvm_push.h:29,
  65688. from nvidia-uvm/uvm_tracker.c:25:
  65689. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  65690. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  65691. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  65692. | ^~~~~~~~~~~~~~~~~~~~
  65693. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65694. 40 | struct timespec64 {
  65695. | ^~~~~~~~~~
  65696. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65697. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65699. from ././common/inc/nv-time.h:29:
  65700. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65701. 13 | struct timespec64 {
  65702. | ^~~~~~~~~~
  65703. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65704. 77 | static inline struct timespec64 timespec64_add
  65705. | ^~~~~~~~~~~~~~
  65706. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65707. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  65708. | ^~~~~~~~~~~~~~
  65709. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65710. 95 | static inline struct timespec64 timespec64_sub
  65711. | ^~~~~~~~~~~~~~
  65712. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65713. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  65714. | ^~~~~~~~~~~~~~
  65715. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  65716. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  65717. | ^~~~~~~~~~~~~~~~
  65718. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  65719. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  65720. | ^~~~~~~~~~~~~~~~
  65721. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  65722. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65723. 122 | ktime_get_raw_ts64(&ts);
  65724. | ^~~
  65725. | |
  65726. | struct timespec64 *
  65727. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  65728. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  65729. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  65730. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  65731. from ././common/inc/nv-time.h:30:
  65732. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65733. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65734. | ~~~~~~~~~~~~~~~~~~~^~
  65735. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  65736. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65737. 185 | ktime_get_raw_ts64(&tm_aux);
  65738. | ^~~~~~~
  65739. | |
  65740. | struct timespec64 *
  65741. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65742. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65743. | ~~~~~~~~~~~~~~~~~~~^~
  65744. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65745. 221 | ktime_get_raw_ts64(&tm_aux);
  65746. | ^~~~~~~
  65747. | |
  65748. | struct timespec64 *
  65749. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65750. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65751. | ~~~~~~~~~~~~~~~~~~~^~
  65752. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65753. 40 | struct timespec64 {
  65754. | ^~~~~~~~~~
  65755. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65756. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65757. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65758. from ././common/inc/nv-time.h:29:
  65759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65760. 13 | struct timespec64 {
  65761. | ^~~~~~~~~~
  65762. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65763. 77 | static inline struct timespec64 timespec64_add
  65764. | ^~~~~~~~~~~~~~
  65765. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65766. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  65767. | ^~~~~~~~~~~~~~
  65768. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65769. 95 | static inline struct timespec64 timespec64_sub
  65770. | ^~~~~~~~~~~~~~
  65771. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65772. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  65773. | ^~~~~~~~~~~~~~
  65774. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  65775. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  65776. | ^~~~~~~~~~~~~~~~
  65777. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  65778. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  65779. | ^~~~~~~~~~~~~~~~
  65780. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  65781. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65782. 122 | ktime_get_raw_ts64(&ts);
  65783. | ^~~
  65784. | |
  65785. | struct timespec64 *
  65786. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  65787. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  65788. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  65789. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  65790. from ././common/inc/nv-time.h:30:
  65791. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65792. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65793. | ~~~~~~~~~~~~~~~~~~~^~
  65794. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  65795. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65796. 185 | ktime_get_raw_ts64(&tm_aux);
  65797. | ^~~~~~~
  65798. | |
  65799. | struct timespec64 *
  65800. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65801. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65802. | ~~~~~~~~~~~~~~~~~~~^~
  65803. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65804. 221 | ktime_get_raw_ts64(&tm_aux);
  65805. | ^~~~~~~
  65806. | |
  65807. | struct timespec64 *
  65808. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65809. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65810. | ~~~~~~~~~~~~~~~~~~~^~
  65811. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  65812. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  65813. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  65814. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  65815. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  65816. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  65817. | ^
  65818. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  65819. 573 | NV_MEMDBG_ADD(ptr, size);
  65820. | ^
  65821. ././common/inc/nv-linux.h: In function 'nv_vmap':
  65822. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  65823. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  65824. | ^
  65825. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65826. 40 | struct timespec64 {
  65827. | ^~~~~~~~~~
  65828. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65829. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65830. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65831. from ././common/inc/nv-time.h:29:
  65832. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65833. 13 | struct timespec64 {
  65834. | ^~~~~~~~~~
  65835. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65836. 77 | static inline struct timespec64 timespec64_add
  65837. | ^~~~~~~~~~~~~~
  65838. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  65839. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  65840. 736 | return phys_to_dma(dev, pa);
  65841. | ^~~~~~~~~~~
  65842. | nv_phys_to_dma
  65843. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65844. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  65845. | ^~~~~~~~~~~~~~
  65846. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65847. 95 | static inline struct timespec64 timespec64_sub
  65848. | ^~~~~~~~~~~~~~
  65849. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65850. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  65851. | ^~~~~~~~~~~~~~
  65852. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  65853. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  65854. | ^~~~~~~~~~~~~~~~
  65855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  65856. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  65857. | ^~~~~~~~~~~~~~~~
  65858. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  65859. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65860. 122 | ktime_get_raw_ts64(&ts);
  65861. | ^~~
  65862. | |
  65863. | struct timespec64 *
  65864. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  65865. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  65866. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  65867. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  65868. from ././common/inc/nv-time.h:30:
  65869. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65870. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65871. | ~~~~~~~~~~~~~~~~~~~^~
  65872. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  65873. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65874. 185 | ktime_get_raw_ts64(&tm_aux);
  65875. | ^~~~~~~
  65876. | |
  65877. | struct timespec64 *
  65878. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65879. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65880. | ~~~~~~~~~~~~~~~~~~~^~
  65881. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65882. 221 | ktime_get_raw_ts64(&tm_aux);
  65883. | ^~~~~~~
  65884. | |
  65885. | struct timespec64 *
  65886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65887. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65888. | ~~~~~~~~~~~~~~~~~~~^~
  65889. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65890. 40 | struct timespec64 {
  65891. | ^~~~~~~~~~
  65892. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65893. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65894. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65895. from ././common/inc/nv-time.h:29:
  65896. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65897. 13 | struct timespec64 {
  65898. | ^~~~~~~~~~
  65899. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65900. 77 | static inline struct timespec64 timespec64_add
  65901. | ^~~~~~~~~~~~~~
  65902. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65903. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  65904. | ^~~~~~~~~~~~~~
  65905. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  65906. 95 | static inline struct timespec64 timespec64_sub
  65907. | ^~~~~~~~~~~~~~
  65908. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  65909. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  65910. | ^~~~~~~~~~~~~~
  65911. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  65912. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  65913. | ^~~~~~~~~~~~~~~~
  65914. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  65915. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  65916. | ^~~~~~~~~~~~~~~~
  65917. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  65918. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65919. 122 | ktime_get_raw_ts64(&ts);
  65920. | ^~~
  65921. | |
  65922. | struct timespec64 *
  65923. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  65924. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  65925. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  65926. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  65927. from ././common/inc/nv-time.h:30:
  65928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65929. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65930. | ~~~~~~~~~~~~~~~~~~~^~
  65931. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  65932. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65933. 185 | ktime_get_raw_ts64(&tm_aux);
  65934. | ^~~~~~~
  65935. | |
  65936. | struct timespec64 *
  65937. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65938. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65939. | ~~~~~~~~~~~~~~~~~~~^~
  65940. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65941. 221 | ktime_get_raw_ts64(&tm_aux);
  65942. | ^~~~~~~
  65943. | |
  65944. | struct timespec64 *
  65945. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65946. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65947. | ~~~~~~~~~~~~~~~~~~~^~
  65948. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  65949. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  65950. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  65951. | ^~~~~~~~~~~~~
  65952. | d_is_dir
  65953. cc1: some warnings being treated as errors
  65954. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  65955. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  65956. 287 | ktime_get_raw_ts64(&tm);
  65957. | ^~~
  65958. | |
  65959. | struct timespec64 *
  65960. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  65961. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  65962. | ~~~~~~~~~~~~~~~~~~~^~
  65963. nvidia-uvm/uvm_linux.h: At top level:
  65964. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65965. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  65966. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65967. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65968. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  65969. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65970. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  65971. 449 | #error "Unknown number of arguments"
  65972. | ^~~~~
  65973. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65974. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  65975. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65976. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  65977. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  65978. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65979. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  65980. 485 | #error "Unknown number of arguments"
  65981. | ^~~~~
  65982. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tracker.o] Error 1
  65983. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  65984. CC [M] nvidia-uvm/uvm_volta_fault_buffer.o
  65985. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  65986. 502 | NV_MEMDBG_ADD(ptr, size);
  65987. | ^
  65988. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  65989. 40 | struct timespec64 {
  65990. | ^~~~~~~~~~
  65991. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  65992. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  65993. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  65994. from ././common/inc/nv-time.h:29:
  65995. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  65996. 13 | struct timespec64 {
  65997. | ^~~~~~~~~~
  65998. In file included from ././common/inc/nv-linux.h:34,
  65999. from nvidia-uvm/uvm_linux.h:40:
  66000. ././common/inc/nv-mm.h: At top level:
  66001. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  66002. 77 | static inline struct timespec64 timespec64_add
  66003. | ^~~~~~~~~~~~~~
  66004. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  66005. 29 | typedef int vm_fault_t;
  66006. | ^~~~~~~~~~
  66007. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  66008. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  66009. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  66010. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  66011. from ././common/inc/nv-lock.h:35,
  66012. from ././common/inc/nv-linux.h:32:
  66013. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  66014. 1311 | typedef __bitwise unsigned int vm_fault_t;
  66015. | ^~~~~~~~~~
  66016. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  66017. from ././common/inc/nv-time.h:28:
  66018. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  66019. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66020. 52 | #define current get_current()
  66021. | ^~~~~~~~~~~~~
  66022. | |
  66023. | struct task_struct *
  66024. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  66025. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66026. | ^~~~~~~
  66027. In file included from ././common/inc/nv-pgprot.h:30,
  66028. from ././common/inc/nv-linux.h:33:
  66029. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  66030. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66031. | ~~~~~~~~~~~~~~^~~~~
  66032. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66033. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66035. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66036. | ~~~~~~~~~~~~~~^~~~~~~~
  66037. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66038. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66039. | ^~~~~~~~
  66040. | |
  66041. | long unsigned int
  66042. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66043. 2535 | unsigned int gup_flags, struct page **pages);
  66044. | ~~~~~~~~~~~~~~^~~~~
  66045. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66046. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66047. | ^~~~~~~~~~~~~~ ~~~~~
  66048. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66049. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66050. | ^~~~~~~~~~~~~~
  66051. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  66052. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  66053. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  66054. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  66055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  66056. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  66057. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66058. 8 | #define NULL ((void *)0)
  66059. | ^~~~~~~~~~~
  66060. | |
  66061. | void *
  66062. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  66063. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66064. | ^~~~
  66065. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  66066. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66067. | ~~~~~~~~~~~~~~^~~~~
  66068. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66069. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66070. | ^~
  66071. | |
  66072. | struct mm_struct *
  66073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66074. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66075. | ~~~~~~~~~~~~~~^~~~~~~~
  66076. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66077. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66078. | ^~~~~~~~
  66079. | |
  66080. | long unsigned int
  66081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66082. 2535 | unsigned int gup_flags, struct page **pages);
  66083. | ~~~~~~~~~~~~~~^~~~~
  66084. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66085. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66086. | ^~~~~~~~~~~~~~ ~~~~~
  66087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66088. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66089. | ^~~~~~~~~~~~~~
  66090. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  66091. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  66092. 237 | return (unsigned long)(vmf->virtual_address);
  66093. | ^~~~~~~~~~~~~~~
  66094. | real_address
  66095. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  66096. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66097. 246 | down_read(&mm->mmap_sem);
  66098. | ^~~~~~~~
  66099. | mmap_base
  66100. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  66101. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66102. 255 | up_read(&mm->mmap_sem);
  66103. | ^~~~~~~~
  66104. | mmap_base
  66105. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  66106. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66107. 264 | down_write(&mm->mmap_sem);
  66108. | ^~~~~~~~
  66109. | mmap_base
  66110. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  66111. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66112. 273 | up_write(&mm->mmap_sem);
  66113. | ^~~~~~~~
  66114. | mmap_base
  66115. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  66116. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66117. 282 | return rwsem_is_locked(&mm->mmap_sem);
  66118. | ^~~~~~~~
  66119. | mmap_base
  66120. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  66121. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66122. 291 | return &mm->mmap_sem;
  66123. | ^~~~~~~~
  66124. | mmap_base
  66125. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  66126. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  66127. 300 | vma->vm_flags |= flags;
  66128. | ^~
  66129. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  66130. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  66131. 309 | vma->vm_flags &= ~flags;
  66132. | ^~
  66133. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  66134. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  66135. | ^~~~~~~~~~~~~~
  66136. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  66137. 95 | static inline struct timespec64 timespec64_sub
  66138. | ^~~~~~~~~~~~~~
  66139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  66140. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  66141. | ^~~~~~~~~~~~~~
  66142. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  66143. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  66144. | ^~~~~~~~~~~~~~~~
  66145. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  66146. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  66147. | ^~~~~~~~~~~~~~~~
  66148. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  66149. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66150. 122 | ktime_get_raw_ts64(&ts);
  66151. | ^~~
  66152. | |
  66153. | struct timespec64 *
  66154. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  66155. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  66156. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  66157. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  66158. from ././common/inc/nv-time.h:30:
  66159. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66160. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66161. | ~~~~~~~~~~~~~~~~~~~^~
  66162. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  66163. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66164. 185 | ktime_get_raw_ts64(&tm_aux);
  66165. | ^~~~~~~
  66166. | |
  66167. | struct timespec64 *
  66168. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66169. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66170. | ~~~~~~~~~~~~~~~~~~~^~
  66171. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66172. 221 | ktime_get_raw_ts64(&tm_aux);
  66173. | ^~~~~~~
  66174. | |
  66175. | struct timespec64 *
  66176. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66177. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66178. | ~~~~~~~~~~~~~~~~~~~^~
  66179. In file included from ././common/inc/conftest.h:28,
  66180. from ././common/inc/nv-time.h:27,
  66181. from nvidia-uvm/uvm_linux.h:37,
  66182. from nvidia-uvm/uvm_volta_fault_buffer.c:24:
  66183. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  66184. 74 | #error dma_buf_export() conftest failed!
  66185. | ^~~~~
  66186. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  66187. 87 | #error wait_on_bit_lock() conftest failed!
  66188. | ^~~~~
  66189. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  66190. 90 | #error radix_tree_replace_slot() conftest failed!
  66191. | ^~~~~
  66192. In file included from ././common/inc/nv-linux.h:34,
  66193. from nvidia-uvm/uvm_linux.h:40:
  66194. ././common/inc/nv-mm.h: At top level:
  66195. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  66196. 29 | typedef int vm_fault_t;
  66197. | ^~~~~~~~~~
  66198. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  66199. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  66200. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  66201. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  66202. from ././common/inc/nv-lock.h:35,
  66203. from ././common/inc/nv-linux.h:32:
  66204. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  66205. 1311 | typedef __bitwise unsigned int vm_fault_t;
  66206. | ^~~~~~~~~~
  66207. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  66208. from ././common/inc/nv-time.h:28:
  66209. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  66210. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66211. 52 | #define current get_current()
  66212. | ^~~~~~~~~~~~~
  66213. | |
  66214. | struct task_struct *
  66215. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  66216. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66217. | ^~~~~~~
  66218. In file included from ././common/inc/nv-pgprot.h:30,
  66219. from ././common/inc/nv-linux.h:33:
  66220. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  66221. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66222. | ~~~~~~~~~~~~~~^~~~~
  66223. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66224. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66225. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66226. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66227. | ~~~~~~~~~~~~~~^~~~~~~~
  66228. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66229. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66230. | ^~~~~~~~
  66231. | |
  66232. | long unsigned int
  66233. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66234. 2535 | unsigned int gup_flags, struct page **pages);
  66235. | ~~~~~~~~~~~~~~^~~~~
  66236. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66237. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66238. | ^~~~~~~~~~~~~~ ~~~~~
  66239. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66240. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66241. | ^~~~~~~~~~~~~~
  66242. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  66243. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  66244. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  66245. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  66246. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  66247. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  66248. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66249. 8 | #define NULL ((void *)0)
  66250. | ^~~~~~~~~~~
  66251. | |
  66252. | void *
  66253. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  66254. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66255. | ^~~~
  66256. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  66257. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66258. | ~~~~~~~~~~~~~~^~~~~
  66259. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66260. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66261. | ^~
  66262. | |
  66263. | struct mm_struct *
  66264. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66265. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66266. | ~~~~~~~~~~~~~~^~~~~~~~
  66267. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66268. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66269. | ^~~~~~~~
  66270. | |
  66271. | long unsigned int
  66272. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66273. 2535 | unsigned int gup_flags, struct page **pages);
  66274. | ~~~~~~~~~~~~~~^~~~~
  66275. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66276. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66277. | ^~~~~~~~~~~~~~ ~~~~~
  66278. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66279. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66280. | ^~~~~~~~~~~~~~
  66281. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  66282. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  66283. 237 | return (unsigned long)(vmf->virtual_address);
  66284. | ^~~~~~~~~~~~~~~
  66285. | real_address
  66286. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  66287. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66288. 246 | down_read(&mm->mmap_sem);
  66289. | ^~~~~~~~
  66290. | mmap_base
  66291. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  66292. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66293. 255 | up_read(&mm->mmap_sem);
  66294. | ^~~~~~~~
  66295. | mmap_base
  66296. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  66297. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66298. 264 | down_write(&mm->mmap_sem);
  66299. | ^~~~~~~~
  66300. | mmap_base
  66301. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  66302. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66303. 273 | up_write(&mm->mmap_sem);
  66304. | ^~~~~~~~
  66305. | mmap_base
  66306. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  66307. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66308. 282 | return rwsem_is_locked(&mm->mmap_sem);
  66309. | ^~~~~~~~
  66310. | mmap_base
  66311. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  66312. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66313. 291 | return &mm->mmap_sem;
  66314. | ^~~~~~~~
  66315. | mmap_base
  66316. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  66317. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  66318. 300 | vma->vm_flags |= flags;
  66319. | ^~
  66320. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  66321. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  66322. 309 | vma->vm_flags &= ~flags;
  66323. | ^~
  66324. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  66325. 40 | struct timespec64 {
  66326. | ^~~~~~~~~~
  66327. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  66328. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  66329. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  66330. from ././common/inc/nv-time.h:29:
  66331. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  66332. 13 | struct timespec64 {
  66333. | ^~~~~~~~~~
  66334. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  66335. 77 | static inline struct timespec64 timespec64_add
  66336. | ^~~~~~~~~~~~~~
  66337. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  66338. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  66339. | ^~~~~~~~~~~~~~
  66340. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  66341. 95 | static inline struct timespec64 timespec64_sub
  66342. | ^~~~~~~~~~~~~~
  66343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  66344. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  66345. | ^~~~~~~~~~~~~~
  66346. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  66347. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  66348. | ^~~~~~~~~~~~~~~~
  66349. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  66350. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  66351. | ^~~~~~~~~~~~~~~~
  66352. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  66353. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66354. 122 | ktime_get_raw_ts64(&ts);
  66355. | ^~~
  66356. | |
  66357. | struct timespec64 *
  66358. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  66359. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  66360. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  66361. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  66362. from ././common/inc/nv-time.h:30:
  66363. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66364. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66365. | ~~~~~~~~~~~~~~~~~~~^~
  66366. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  66367. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66368. 185 | ktime_get_raw_ts64(&tm_aux);
  66369. | ^~~~~~~
  66370. | |
  66371. | struct timespec64 *
  66372. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66373. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66374. | ~~~~~~~~~~~~~~~~~~~^~
  66375. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66376. 221 | ktime_get_raw_ts64(&tm_aux);
  66377. | ^~~~~~~
  66378. | |
  66379. | struct timespec64 *
  66380. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66381. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66382. | ~~~~~~~~~~~~~~~~~~~^~
  66383. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  66384. 40 | struct timespec64 {
  66385. | ^~~~~~~~~~
  66386. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  66387. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  66388. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  66389. from ././common/inc/nv-time.h:29:
  66390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  66391. 13 | struct timespec64 {
  66392. | ^~~~~~~~~~
  66393. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  66394. 77 | static inline struct timespec64 timespec64_add
  66395. | ^~~~~~~~~~~~~~
  66396. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  66397. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  66398. | ^~~~~~~~~~~~~~
  66399. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  66400. 95 | static inline struct timespec64 timespec64_sub
  66401. | ^~~~~~~~~~~~~~
  66402. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  66403. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  66404. | ^~~~~~~~~~~~~~
  66405. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  66406. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  66407. | ^~~~~~~~~~~~~~~~
  66408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  66409. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  66410. | ^~~~~~~~~~~~~~~~
  66411. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  66412. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66413. 122 | ktime_get_raw_ts64(&ts);
  66414. | ^~~
  66415. | |
  66416. | struct timespec64 *
  66417. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  66418. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  66419. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  66420. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  66421. from ././common/inc/nv-time.h:30:
  66422. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66423. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66424. | ~~~~~~~~~~~~~~~~~~~^~
  66425. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  66426. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66427. 185 | ktime_get_raw_ts64(&tm_aux);
  66428. | ^~~~~~~
  66429. | |
  66430. | struct timespec64 *
  66431. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66432. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66433. | ~~~~~~~~~~~~~~~~~~~^~
  66434. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66435. 221 | ktime_get_raw_ts64(&tm_aux);
  66436. | ^~~~~~~
  66437. | |
  66438. | struct timespec64 *
  66439. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66440. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66441. | ~~~~~~~~~~~~~~~~~~~^~
  66442. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  66443. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  66444. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  66445. | ^~~~~~~~~~~~~~~~~~~~~~~
  66446. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  66447. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  66448. 520 | NV_MEMDBG_ADD(ptr, size);
  66449. | ^
  66450. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  66451. from nvidia-uvm/uvm_channel.h:29,
  66452. from nvidia-uvm/uvm_push.h:29,
  66453. from nvidia-uvm/uvm_hal.h:31:
  66454. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  66455. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  66456. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  66457. | ^~~~~~~~~~~~~~~~~~~~
  66458. In file included from ././common/inc/nv-linux.h:34,
  66459. from nvidia-uvm/uvm_linux.h:40:
  66460. ././common/inc/nv-mm.h: At top level:
  66461. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  66462. 29 | typedef int vm_fault_t;
  66463. | ^~~~~~~~~~
  66464. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  66465. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  66466. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  66467. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  66468. from ././common/inc/nv-lock.h:35,
  66469. from ././common/inc/nv-linux.h:32:
  66470. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  66471. 1311 | typedef __bitwise unsigned int vm_fault_t;
  66472. | ^~~~~~~~~~
  66473. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  66474. from ././common/inc/nv-time.h:28:
  66475. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  66476. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66477. 52 | #define current get_current()
  66478. | ^~~~~~~~~~~~~
  66479. | |
  66480. | struct task_struct *
  66481. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  66482. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66483. | ^~~~~~~
  66484. In file included from ././common/inc/nv-pgprot.h:30,
  66485. from ././common/inc/nv-linux.h:33:
  66486. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  66487. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66488. | ~~~~~~~~~~~~~~^~~~~
  66489. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66490. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66491. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66492. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66493. | ~~~~~~~~~~~~~~^~~~~~~~
  66494. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66495. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66496. | ^~~~~~~~
  66497. | |
  66498. | long unsigned int
  66499. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66500. 2535 | unsigned int gup_flags, struct page **pages);
  66501. | ~~~~~~~~~~~~~~^~~~~
  66502. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66503. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66504. | ^~~~~~~~~~~~~~ ~~~~~
  66505. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66506. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66507. | ^~~~~~~~~~~~~~
  66508. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  66509. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  66510. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  66511. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  66512. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  66513. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  66514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66515. 8 | #define NULL ((void *)0)
  66516. | ^~~~~~~~~~~
  66517. | |
  66518. | void *
  66519. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  66520. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66521. | ^~~~
  66522. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  66523. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66524. | ~~~~~~~~~~~~~~^~~~~
  66525. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66526. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66527. | ^~
  66528. | |
  66529. | struct mm_struct *
  66530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66531. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66532. | ~~~~~~~~~~~~~~^~~~~~~~
  66533. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66534. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66535. | ^~~~~~~~
  66536. | |
  66537. | long unsigned int
  66538. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66539. 2535 | unsigned int gup_flags, struct page **pages);
  66540. | ~~~~~~~~~~~~~~^~~~~
  66541. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66542. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66543. | ^~~~~~~~~~~~~~ ~~~~~
  66544. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66545. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66546. | ^~~~~~~~~~~~~~
  66547. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  66548. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  66549. 237 | return (unsigned long)(vmf->virtual_address);
  66550. | ^~~~~~~~~~~~~~~
  66551. | real_address
  66552. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  66553. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66554. 246 | down_read(&mm->mmap_sem);
  66555. | ^~~~~~~~
  66556. | mmap_base
  66557. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  66558. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66559. 255 | up_read(&mm->mmap_sem);
  66560. | ^~~~~~~~
  66561. | mmap_base
  66562. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  66563. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66564. 264 | down_write(&mm->mmap_sem);
  66565. | ^~~~~~~~
  66566. | mmap_base
  66567. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  66568. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66569. 273 | up_write(&mm->mmap_sem);
  66570. | ^~~~~~~~
  66571. | mmap_base
  66572. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  66573. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66574. 282 | return rwsem_is_locked(&mm->mmap_sem);
  66575. | ^~~~~~~~
  66576. | mmap_base
  66577. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  66578. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66579. 291 | return &mm->mmap_sem;
  66580. | ^~~~~~~~
  66581. | mmap_base
  66582. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  66583. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  66584. 300 | vma->vm_flags |= flags;
  66585. | ^~
  66586. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  66587. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  66588. 309 | vma->vm_flags &= ~flags;
  66589. | ^~
  66590. In file included from ././common/inc/nv-linux.h:34,
  66591. from nvidia-uvm/uvm_linux.h:40:
  66592. ././common/inc/nv-mm.h: At top level:
  66593. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  66594. 29 | typedef int vm_fault_t;
  66595. | ^~~~~~~~~~
  66596. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  66597. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  66598. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  66599. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  66600. from ././common/inc/nv-lock.h:35,
  66601. from ././common/inc/nv-linux.h:32:
  66602. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  66603. 1311 | typedef __bitwise unsigned int vm_fault_t;
  66604. | ^~~~~~~~~~
  66605. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  66606. from ././common/inc/nv-time.h:28:
  66607. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  66608. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66609. 52 | #define current get_current()
  66610. | ^~~~~~~~~~~~~
  66611. | |
  66612. | struct task_struct *
  66613. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  66614. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66615. | ^~~~~~~
  66616. In file included from ././common/inc/nv-pgprot.h:30,
  66617. from ././common/inc/nv-linux.h:33:
  66618. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  66619. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66620. | ~~~~~~~~~~~~~~^~~~~
  66621. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66622. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66624. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66625. | ~~~~~~~~~~~~~~^~~~~~~~
  66626. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66627. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66628. | ^~~~~~~~
  66629. | |
  66630. | long unsigned int
  66631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66632. 2535 | unsigned int gup_flags, struct page **pages);
  66633. | ~~~~~~~~~~~~~~^~~~~
  66634. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66635. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66636. | ^~~~~~~~~~~~~~ ~~~~~
  66637. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66638. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66639. | ^~~~~~~~~~~~~~
  66640. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  66641. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  66642. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  66643. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  66644. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  66645. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  66646. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66647. 8 | #define NULL ((void *)0)
  66648. | ^~~~~~~~~~~
  66649. | |
  66650. | void *
  66651. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  66652. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66653. | ^~~~
  66654. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  66655. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66656. | ~~~~~~~~~~~~~~^~~~~
  66657. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66658. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66659. | ^~
  66660. | |
  66661. | struct mm_struct *
  66662. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66663. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66664. | ~~~~~~~~~~~~~~^~~~~~~~
  66665. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66666. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66667. | ^~~~~~~~
  66668. | |
  66669. | long unsigned int
  66670. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66671. 2535 | unsigned int gup_flags, struct page **pages);
  66672. | ~~~~~~~~~~~~~~^~~~~
  66673. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66674. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66675. | ^~~~~~~~~~~~~~ ~~~~~
  66676. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66677. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66678. | ^~~~~~~~~~~~~~
  66679. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  66680. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  66681. 237 | return (unsigned long)(vmf->virtual_address);
  66682. | ^~~~~~~~~~~~~~~
  66683. | real_address
  66684. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  66685. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66686. 246 | down_read(&mm->mmap_sem);
  66687. | ^~~~~~~~
  66688. | mmap_base
  66689. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  66690. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66691. 255 | up_read(&mm->mmap_sem);
  66692. | ^~~~~~~~
  66693. | mmap_base
  66694. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  66695. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66696. 264 | down_write(&mm->mmap_sem);
  66697. | ^~~~~~~~
  66698. | mmap_base
  66699. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  66700. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66701. 273 | up_write(&mm->mmap_sem);
  66702. | ^~~~~~~~
  66703. | mmap_base
  66704. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  66705. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66706. 282 | return rwsem_is_locked(&mm->mmap_sem);
  66707. | ^~~~~~~~
  66708. | mmap_base
  66709. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  66710. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66711. 291 | return &mm->mmap_sem;
  66712. | ^~~~~~~~
  66713. | mmap_base
  66714. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  66715. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  66716. 300 | vma->vm_flags |= flags;
  66717. | ^~
  66718. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  66719. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  66720. 309 | vma->vm_flags &= ~flags;
  66721. | ^~
  66722. In file included from ././common/inc/nv-linux.h:34,
  66723. from nvidia-uvm/uvm_linux.h:40:
  66724. ././common/inc/nv-mm.h: At top level:
  66725. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  66726. 29 | typedef int vm_fault_t;
  66727. | ^~~~~~~~~~
  66728. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  66729. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  66730. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  66731. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  66732. from ././common/inc/nv-lock.h:35,
  66733. from ././common/inc/nv-linux.h:32:
  66734. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  66735. 1311 | typedef __bitwise unsigned int vm_fault_t;
  66736. | ^~~~~~~~~~
  66737. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  66738. from ././common/inc/nv-time.h:28:
  66739. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  66740. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66741. 52 | #define current get_current()
  66742. | ^~~~~~~~~~~~~
  66743. | |
  66744. | struct task_struct *
  66745. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  66746. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66747. | ^~~~~~~
  66748. In file included from ././common/inc/nv-pgprot.h:30,
  66749. from ././common/inc/nv-linux.h:33:
  66750. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  66751. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66752. | ~~~~~~~~~~~~~~^~~~~
  66753. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66754. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66755. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66756. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66757. | ~~~~~~~~~~~~~~^~~~~~~~
  66758. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66759. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66760. | ^~~~~~~~
  66761. | |
  66762. | long unsigned int
  66763. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66764. 2535 | unsigned int gup_flags, struct page **pages);
  66765. | ~~~~~~~~~~~~~~^~~~~
  66766. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66767. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66768. | ^~~~~~~~~~~~~~ ~~~~~
  66769. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66770. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66771. | ^~~~~~~~~~~~~~
  66772. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  66773. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  66774. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  66775. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  66776. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  66777. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  66778. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66779. 8 | #define NULL ((void *)0)
  66780. | ^~~~~~~~~~~
  66781. | |
  66782. | void *
  66783. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  66784. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66785. | ^~~~
  66786. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  66787. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66788. | ~~~~~~~~~~~~~~^~~~~
  66789. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66790. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66791. | ^~
  66792. | |
  66793. | struct mm_struct *
  66794. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66795. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66796. | ~~~~~~~~~~~~~~^~~~~~~~
  66797. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66798. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66799. | ^~~~~~~~
  66800. | |
  66801. | long unsigned int
  66802. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66803. 2535 | unsigned int gup_flags, struct page **pages);
  66804. | ~~~~~~~~~~~~~~^~~~~
  66805. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66806. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66807. | ^~~~~~~~~~~~~~ ~~~~~
  66808. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66809. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66810. | ^~~~~~~~~~~~~~
  66811. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  66812. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  66813. 237 | return (unsigned long)(vmf->virtual_address);
  66814. | ^~~~~~~~~~~~~~~
  66815. | real_address
  66816. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  66817. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66818. 246 | down_read(&mm->mmap_sem);
  66819. | ^~~~~~~~
  66820. | mmap_base
  66821. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  66822. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66823. 255 | up_read(&mm->mmap_sem);
  66824. | ^~~~~~~~
  66825. | mmap_base
  66826. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  66827. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66828. 264 | down_write(&mm->mmap_sem);
  66829. | ^~~~~~~~
  66830. | mmap_base
  66831. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  66832. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66833. 273 | up_write(&mm->mmap_sem);
  66834. | ^~~~~~~~
  66835. | mmap_base
  66836. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  66837. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66838. 282 | return rwsem_is_locked(&mm->mmap_sem);
  66839. | ^~~~~~~~
  66840. | mmap_base
  66841. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  66842. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  66843. 291 | return &mm->mmap_sem;
  66844. | ^~~~~~~~
  66845. | mmap_base
  66846. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  66847. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  66848. 300 | vma->vm_flags |= flags;
  66849. | ^~
  66850. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  66851. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  66852. 309 | vma->vm_flags &= ~flags;
  66853. | ^~
  66854. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  66855. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  66856. 533 | ptr = ioremap_cache_shared(phys, size);
  66857. | ^~~~~~~~~~~~~~~~~~~~
  66858. | ioremap_cache
  66859. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  66860. 533 | ptr = ioremap_cache_shared(phys, size);
  66861. | ^
  66862. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  66863. 556 | NV_MEMDBG_ADD(ptr, size);
  66864. | ^
  66865. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  66866. 40 | struct timespec64 {
  66867. | ^~~~~~~~~~
  66868. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  66869. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  66870. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  66871. from ././common/inc/nv-time.h:29:
  66872. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  66873. 13 | struct timespec64 {
  66874. | ^~~~~~~~~~
  66875. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  66876. 77 | static inline struct timespec64 timespec64_add
  66877. | ^~~~~~~~~~~~~~
  66878. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  66879. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  66880. | ^~~~~~~~~~~~~~
  66881. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  66882. 95 | static inline struct timespec64 timespec64_sub
  66883. | ^~~~~~~~~~~~~~
  66884. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  66885. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  66886. | ^~~~~~~~~~~~~~
  66887. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  66888. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  66889. | ^~~~~~~~~~~~~~~~
  66890. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  66891. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  66892. | ^~~~~~~~~~~~~~~~
  66893. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  66894. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66895. 122 | ktime_get_raw_ts64(&ts);
  66896. | ^~~
  66897. | |
  66898. | struct timespec64 *
  66899. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  66900. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  66901. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  66902. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  66903. from ././common/inc/nv-time.h:30:
  66904. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66905. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66906. | ~~~~~~~~~~~~~~~~~~~^~
  66907. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  66908. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66909. 185 | ktime_get_raw_ts64(&tm_aux);
  66910. | ^~~~~~~
  66911. | |
  66912. | struct timespec64 *
  66913. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66914. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66915. | ~~~~~~~~~~~~~~~~~~~^~
  66916. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  66917. 221 | ktime_get_raw_ts64(&tm_aux);
  66918. | ^~~~~~~
  66919. | |
  66920. | struct timespec64 *
  66921. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  66922. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  66923. | ~~~~~~~~~~~~~~~~~~~^~
  66924. cc1: some warnings being treated as errors
  66925. In file included from ././common/inc/nv-linux.h:34,
  66926. from nvidia-uvm/uvm_linux.h:40:
  66927. ././common/inc/nv-mm.h: At top level:
  66928. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  66929. 29 | typedef int vm_fault_t;
  66930. | ^~~~~~~~~~
  66931. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  66932. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  66933. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  66934. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  66935. from ././common/inc/nv-lock.h:35,
  66936. from ././common/inc/nv-linux.h:32:
  66937. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  66938. 1311 | typedef __bitwise unsigned int vm_fault_t;
  66939. | ^~~~~~~~~~
  66940. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  66941. from ././common/inc/nv-time.h:28:
  66942. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  66943. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66944. 52 | #define current get_current()
  66945. | ^~~~~~~~~~~~~
  66946. | |
  66947. | struct task_struct *
  66948. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  66949. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66950. | ^~~~~~~
  66951. In file included from ././common/inc/nv-pgprot.h:30,
  66952. from ././common/inc/nv-linux.h:33:
  66953. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  66954. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66955. | ~~~~~~~~~~~~~~^~~~~
  66956. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66957. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66958. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66959. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66960. | ~~~~~~~~~~~~~~^~~~~~~~
  66961. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  66962. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66963. | ^~~~~~~~
  66964. | |
  66965. | long unsigned int
  66966. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  66967. 2535 | unsigned int gup_flags, struct page **pages);
  66968. | ~~~~~~~~~~~~~~^~~~~
  66969. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  66970. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  66971. | ^~~~~~~~~~~~~~ ~~~~~
  66972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  66973. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66974. | ^~~~~~~~~~~~~~
  66975. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  66976. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  66977. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  66978. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  66979. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  66980. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  66981. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66982. 8 | #define NULL ((void *)0)
  66983. | ^~~~~~~~~~~
  66984. | |
  66985. | void *
  66986. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  66987. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66988. | ^~~~
  66989. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  66990. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66991. | ~~~~~~~~~~~~~~^~~~~
  66992. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  66993. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  66994. | ^~
  66995. | |
  66996. | struct mm_struct *
  66997. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  66998. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  66999. | ~~~~~~~~~~~~~~^~~~~~~~
  67000. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67001. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67002. | ^~~~~~~~
  67003. | |
  67004. | long unsigned int
  67005. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67006. 2535 | unsigned int gup_flags, struct page **pages);
  67007. | ~~~~~~~~~~~~~~^~~~~
  67008. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67009. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67010. | ^~~~~~~~~~~~~~ ~~~~~
  67011. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67012. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67013. | ^~~~~~~~~~~~~~
  67014. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  67015. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  67016. 237 | return (unsigned long)(vmf->virtual_address);
  67017. | ^~~~~~~~~~~~~~~
  67018. | real_address
  67019. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  67020. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67021. 246 | down_read(&mm->mmap_sem);
  67022. | ^~~~~~~~
  67023. | mmap_base
  67024. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  67025. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67026. 255 | up_read(&mm->mmap_sem);
  67027. | ^~~~~~~~
  67028. | mmap_base
  67029. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  67030. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67031. 264 | down_write(&mm->mmap_sem);
  67032. | ^~~~~~~~
  67033. | mmap_base
  67034. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  67035. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67036. 273 | up_write(&mm->mmap_sem);
  67037. | ^~~~~~~~
  67038. | mmap_base
  67039. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  67040. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67041. 282 | return rwsem_is_locked(&mm->mmap_sem);
  67042. | ^~~~~~~~
  67043. | mmap_base
  67044. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  67045. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67046. 291 | return &mm->mmap_sem;
  67047. | ^~~~~~~~
  67048. | mmap_base
  67049. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  67050. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  67051. 300 | vma->vm_flags |= flags;
  67052. | ^~
  67053. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  67054. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  67055. 309 | vma->vm_flags &= ~flags;
  67056. | ^~
  67057. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell.o] Error 1
  67058. CC [M] nvidia-uvm/uvm_volta_access_counter_buffer.o
  67059. In file included from ././common/inc/nv-linux.h:34,
  67060. from nvidia-uvm/uvm_linux.h:40:
  67061. ././common/inc/nv-mm.h: At top level:
  67062. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  67063. 29 | typedef int vm_fault_t;
  67064. | ^~~~~~~~~~
  67065. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  67066. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  67067. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  67068. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  67069. from ././common/inc/nv-lock.h:35,
  67070. from ././common/inc/nv-linux.h:32:
  67071. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  67072. 1311 | typedef __bitwise unsigned int vm_fault_t;
  67073. | ^~~~~~~~~~
  67074. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  67075. from ././common/inc/nv-time.h:28:
  67076. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  67077. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67078. 52 | #define current get_current()
  67079. | ^~~~~~~~~~~~~
  67080. | |
  67081. | struct task_struct *
  67082. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  67083. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67084. | ^~~~~~~
  67085. In file included from ././common/inc/nv-pgprot.h:30,
  67086. from ././common/inc/nv-linux.h:33:
  67087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  67088. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67089. | ~~~~~~~~~~~~~~^~~~~
  67090. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67091. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67092. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67093. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67094. | ~~~~~~~~~~~~~~^~~~~~~~
  67095. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67096. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67097. | ^~~~~~~~
  67098. | |
  67099. | long unsigned int
  67100. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67101. 2535 | unsigned int gup_flags, struct page **pages);
  67102. | ~~~~~~~~~~~~~~^~~~~
  67103. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67104. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67105. | ^~~~~~~~~~~~~~ ~~~~~
  67106. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67107. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67108. | ^~~~~~~~~~~~~~
  67109. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  67110. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  67111. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  67112. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  67113. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  67114. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  67115. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67116. 8 | #define NULL ((void *)0)
  67117. | ^~~~~~~~~~~
  67118. | |
  67119. | void *
  67120. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  67121. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67122. | ^~~~
  67123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  67124. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67125. | ~~~~~~~~~~~~~~^~~~~
  67126. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67127. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67128. | ^~
  67129. | |
  67130. | struct mm_struct *
  67131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67132. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67133. | ~~~~~~~~~~~~~~^~~~~~~~
  67134. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67135. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67136. | ^~~~~~~~
  67137. | |
  67138. | long unsigned int
  67139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67140. 2535 | unsigned int gup_flags, struct page **pages);
  67141. | ~~~~~~~~~~~~~~^~~~~
  67142. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67143. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67144. | ^~~~~~~~~~~~~~ ~~~~~
  67145. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67146. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67147. | ^~~~~~~~~~~~~~
  67148. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  67149. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  67150. 237 | return (unsigned long)(vmf->virtual_address);
  67151. | ^~~~~~~~~~~~~~~
  67152. | real_address
  67153. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  67154. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67155. 246 | down_read(&mm->mmap_sem);
  67156. | ^~~~~~~~
  67157. | mmap_base
  67158. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  67159. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67160. 255 | up_read(&mm->mmap_sem);
  67161. | ^~~~~~~~
  67162. | mmap_base
  67163. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  67164. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67165. 264 | down_write(&mm->mmap_sem);
  67166. | ^~~~~~~~
  67167. | mmap_base
  67168. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  67169. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67170. 273 | up_write(&mm->mmap_sem);
  67171. | ^~~~~~~~
  67172. | mmap_base
  67173. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  67174. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67175. 282 | return rwsem_is_locked(&mm->mmap_sem);
  67176. | ^~~~~~~~
  67177. | mmap_base
  67178. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  67179. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67180. 291 | return &mm->mmap_sem;
  67181. | ^~~~~~~~
  67182. | mmap_base
  67183. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  67184. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  67185. 300 | vma->vm_flags |= flags;
  67186. | ^~
  67187. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  67188. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  67189. 309 | vma->vm_flags &= ~flags;
  67190. | ^~
  67191. In file included from ././common/inc/nv-linux.h:34,
  67192. from nvidia-uvm/uvm_linux.h:40:
  67193. ././common/inc/nv-mm.h: At top level:
  67194. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  67195. 29 | typedef int vm_fault_t;
  67196. | ^~~~~~~~~~
  67197. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  67198. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  67199. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  67200. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  67201. from ././common/inc/nv-lock.h:35,
  67202. from ././common/inc/nv-linux.h:32:
  67203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  67204. 1311 | typedef __bitwise unsigned int vm_fault_t;
  67205. | ^~~~~~~~~~
  67206. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  67207. from ././common/inc/nv-time.h:28:
  67208. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  67209. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67210. 52 | #define current get_current()
  67211. | ^~~~~~~~~~~~~
  67212. | |
  67213. | struct task_struct *
  67214. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  67215. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67216. | ^~~~~~~
  67217. In file included from ././common/inc/nv-pgprot.h:30,
  67218. from ././common/inc/nv-linux.h:33:
  67219. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  67220. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67221. | ~~~~~~~~~~~~~~^~~~~
  67222. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67223. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67224. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67225. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67226. | ~~~~~~~~~~~~~~^~~~~~~~
  67227. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67228. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67229. | ^~~~~~~~
  67230. | |
  67231. | long unsigned int
  67232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67233. 2535 | unsigned int gup_flags, struct page **pages);
  67234. | ~~~~~~~~~~~~~~^~~~~
  67235. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67236. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67237. | ^~~~~~~~~~~~~~ ~~~~~
  67238. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67239. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67240. | ^~~~~~~~~~~~~~
  67241. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  67242. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  67243. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  67244. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  67245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  67246. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  67247. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67248. 8 | #define NULL ((void *)0)
  67249. | ^~~~~~~~~~~
  67250. | |
  67251. | void *
  67252. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  67253. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67254. | ^~~~
  67255. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  67256. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67257. | ~~~~~~~~~~~~~~^~~~~
  67258. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67259. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67260. | ^~
  67261. | |
  67262. | struct mm_struct *
  67263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67264. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67265. | ~~~~~~~~~~~~~~^~~~~~~~
  67266. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67267. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67268. | ^~~~~~~~
  67269. | |
  67270. | long unsigned int
  67271. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67272. 2535 | unsigned int gup_flags, struct page **pages);
  67273. | ~~~~~~~~~~~~~~^~~~~
  67274. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67275. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67276. | ^~~~~~~~~~~~~~ ~~~~~
  67277. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67278. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67279. | ^~~~~~~~~~~~~~
  67280. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  67281. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  67282. 237 | return (unsigned long)(vmf->virtual_address);
  67283. | ^~~~~~~~~~~~~~~
  67284. | real_address
  67285. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  67286. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67287. 246 | down_read(&mm->mmap_sem);
  67288. | ^~~~~~~~
  67289. | mmap_base
  67290. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  67291. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67292. 255 | up_read(&mm->mmap_sem);
  67293. | ^~~~~~~~
  67294. | mmap_base
  67295. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  67296. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67297. 264 | down_write(&mm->mmap_sem);
  67298. | ^~~~~~~~
  67299. | mmap_base
  67300. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  67301. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67302. 273 | up_write(&mm->mmap_sem);
  67303. | ^~~~~~~~
  67304. | mmap_base
  67305. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  67306. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67307. 282 | return rwsem_is_locked(&mm->mmap_sem);
  67308. | ^~~~~~~~
  67309. | mmap_base
  67310. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  67311. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67312. 291 | return &mm->mmap_sem;
  67313. | ^~~~~~~~
  67314. | mmap_base
  67315. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  67316. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  67317. 300 | vma->vm_flags |= flags;
  67318. | ^~
  67319. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  67320. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  67321. 309 | vma->vm_flags &= ~flags;
  67322. | ^~
  67323. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  67324. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  67325. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  67326. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  67327. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  67328. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  67329. | ^
  67330. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67331. 573 | NV_MEMDBG_ADD(ptr, size);
  67332. | ^
  67333. In file included from ././common/inc/conftest.h:28,
  67334. from ././common/inc/nv-time.h:27,
  67335. from nvidia-uvm/uvm_linux.h:37,
  67336. from nvidia-uvm/uvm_volta_access_counter_buffer.c:24:
  67337. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  67338. 74 | #error dma_buf_export() conftest failed!
  67339. | ^~~~~
  67340. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  67341. 87 | #error wait_on_bit_lock() conftest failed!
  67342. | ^~~~~
  67343. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  67344. 90 | #error radix_tree_replace_slot() conftest failed!
  67345. | ^~~~~
  67346. ././common/inc/nv-linux.h: In function 'nv_vmap':
  67347. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67348. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  67349. | ^
  67350. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  67351. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  67352. 736 | return phys_to_dma(dev, pa);
  67353. | ^~~~~~~~~~~
  67354. | nv_phys_to_dma
  67355. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  67356. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67357. 502 | NV_MEMDBG_ADD(ptr, size);
  67358. | ^
  67359. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  67360. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67361. 502 | NV_MEMDBG_ADD(ptr, size);
  67362. | ^
  67363. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  67364. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  67365. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  67366. | ^~~~~~~~~~~~~
  67367. | d_is_dir
  67368. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  67369. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  67370. 287 | ktime_get_raw_ts64(&tm);
  67371. | ^~~
  67372. | |
  67373. | struct timespec64 *
  67374. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  67375. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  67376. | ~~~~~~~~~~~~~~~~~~~^~
  67377. In file included from ././common/inc/nv-linux.h:34,
  67378. from nvidia-uvm/uvm_linux.h:40:
  67379. ././common/inc/nv-mm.h: At top level:
  67380. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  67381. 29 | typedef int vm_fault_t;
  67382. | ^~~~~~~~~~
  67383. nvidia-uvm/uvm_linux.h: At top level:
  67384. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  67385. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  67386. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  67387. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  67388. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  67389. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  67390. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  67391. 449 | #error "Unknown number of arguments"
  67392. | ^~~~~
  67393. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  67394. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  67395. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  67396. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  67397. from ././common/inc/nv-lock.h:35,
  67398. from ././common/inc/nv-linux.h:32:
  67399. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  67400. 1311 | typedef __bitwise unsigned int vm_fault_t;
  67401. | ^~~~~~~~~~
  67402. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  67403. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  67404. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  67405. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  67406. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  67407. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  67408. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  67409. from ././common/inc/nv-time.h:28:
  67410. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  67411. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  67412. 485 | #error "Unknown number of arguments"
  67413. | ^~~~~
  67414. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67415. 52 | #define current get_current()
  67416. | ^~~~~~~~~~~~~
  67417. | |
  67418. | struct task_struct *
  67419. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  67420. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67421. | ^~~~~~~
  67422. In file included from ././common/inc/nv-pgprot.h:30,
  67423. from ././common/inc/nv-linux.h:33:
  67424. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  67425. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67426. | ~~~~~~~~~~~~~~^~~~~
  67427. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67428. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67430. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67431. | ~~~~~~~~~~~~~~^~~~~~~~
  67432. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67433. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67434. | ^~~~~~~~
  67435. | |
  67436. | long unsigned int
  67437. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67438. 2535 | unsigned int gup_flags, struct page **pages);
  67439. | ~~~~~~~~~~~~~~^~~~~
  67440. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67441. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67442. | ^~~~~~~~~~~~~~ ~~~~~
  67443. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67444. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67445. | ^~~~~~~~~~~~~~
  67446. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  67447. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  67448. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  67449. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  67450. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  67451. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  67452. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67453. 8 | #define NULL ((void *)0)
  67454. | ^~~~~~~~~~~
  67455. | |
  67456. | void *
  67457. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  67458. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67459. | ^~~~
  67460. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  67461. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67462. | ~~~~~~~~~~~~~~^~~~~
  67463. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67464. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67465. | ^~
  67466. | |
  67467. | struct mm_struct *
  67468. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67469. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67470. | ~~~~~~~~~~~~~~^~~~~~~~
  67471. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67472. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67473. | ^~~~~~~~
  67474. | |
  67475. | long unsigned int
  67476. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67477. 2535 | unsigned int gup_flags, struct page **pages);
  67478. | ~~~~~~~~~~~~~~^~~~~
  67479. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67480. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67481. | ^~~~~~~~~~~~~~ ~~~~~
  67482. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67483. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67484. | ^~~~~~~~~~~~~~
  67485. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  67486. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  67487. 237 | return (unsigned long)(vmf->virtual_address);
  67488. | ^~~~~~~~~~~~~~~
  67489. | real_address
  67490. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  67491. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67492. 246 | down_read(&mm->mmap_sem);
  67493. | ^~~~~~~~
  67494. | mmap_base
  67495. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  67496. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67497. 255 | up_read(&mm->mmap_sem);
  67498. | ^~~~~~~~
  67499. | mmap_base
  67500. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  67501. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67502. 264 | down_write(&mm->mmap_sem);
  67503. | ^~~~~~~~
  67504. | mmap_base
  67505. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  67506. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67507. 273 | up_write(&mm->mmap_sem);
  67508. | ^~~~~~~~
  67509. | mmap_base
  67510. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  67511. 40 | struct timespec64 {
  67512. | ^~~~~~~~~~
  67513. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  67514. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67515. 282 | return rwsem_is_locked(&mm->mmap_sem);
  67516. | ^~~~~~~~
  67517. | mmap_base
  67518. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  67519. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  67520. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  67521. from ././common/inc/nv-time.h:29:
  67522. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  67523. 13 | struct timespec64 {
  67524. | ^~~~~~~~~~
  67525. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  67526. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67527. 291 | return &mm->mmap_sem;
  67528. | ^~~~~~~~
  67529. | mmap_base
  67530. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  67531. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  67532. 300 | vma->vm_flags |= flags;
  67533. | ^~
  67534. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  67535. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  67536. 309 | vma->vm_flags &= ~flags;
  67537. | ^~
  67538. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  67539. 77 | static inline struct timespec64 timespec64_add
  67540. | ^~~~~~~~~~~~~~
  67541. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  67542. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  67543. | ^~~~~~~~~~~~~~
  67544. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  67545. 95 | static inline struct timespec64 timespec64_sub
  67546. | ^~~~~~~~~~~~~~
  67547. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  67548. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  67549. | ^~~~~~~~~~~~~~
  67550. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  67551. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  67552. | ^~~~~~~~~~~~~~~~
  67553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  67554. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  67555. | ^~~~~~~~~~~~~~~~
  67556. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  67557. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  67558. 122 | ktime_get_raw_ts64(&ts);
  67559. | ^~~
  67560. | |
  67561. | struct timespec64 *
  67562. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  67563. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  67564. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  67565. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  67566. from ././common/inc/nv-time.h:30:
  67567. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  67568. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  67569. | ~~~~~~~~~~~~~~~~~~~^~
  67570. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  67571. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  67572. 185 | ktime_get_raw_ts64(&tm_aux);
  67573. | ^~~~~~~
  67574. | |
  67575. | struct timespec64 *
  67576. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  67577. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  67578. | ~~~~~~~~~~~~~~~~~~~^~
  67579. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  67580. 221 | ktime_get_raw_ts64(&tm_aux);
  67581. | ^~~~~~~
  67582. | |
  67583. | struct timespec64 *
  67584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  67585. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  67586. | ~~~~~~~~~~~~~~~~~~~^~
  67587. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  67588. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67589. 502 | NV_MEMDBG_ADD(ptr, size);
  67590. | ^
  67591. In file included from ././common/inc/nv-linux.h:34,
  67592. from nvidia-uvm/uvm_linux.h:40:
  67593. ././common/inc/nv-mm.h: At top level:
  67594. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  67595. 29 | typedef int vm_fault_t;
  67596. | ^~~~~~~~~~
  67597. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  67598. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  67599. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  67600. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  67601. from ././common/inc/nv-lock.h:35,
  67602. from ././common/inc/nv-linux.h:32:
  67603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  67604. 1311 | typedef __bitwise unsigned int vm_fault_t;
  67605. | ^~~~~~~~~~
  67606. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  67607. from ././common/inc/nv-time.h:28:
  67608. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  67609. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67610. 52 | #define current get_current()
  67611. | ^~~~~~~~~~~~~
  67612. | |
  67613. | struct task_struct *
  67614. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  67615. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67616. | ^~~~~~~
  67617. In file included from ././common/inc/nv-pgprot.h:30,
  67618. from ././common/inc/nv-linux.h:33:
  67619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  67620. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67621. | ~~~~~~~~~~~~~~^~~~~
  67622. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67623. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67624. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67625. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67626. | ~~~~~~~~~~~~~~^~~~~~~~
  67627. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67628. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67629. | ^~~~~~~~
  67630. | |
  67631. | long unsigned int
  67632. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67633. 2535 | unsigned int gup_flags, struct page **pages);
  67634. | ~~~~~~~~~~~~~~^~~~~
  67635. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67636. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67637. | ^~~~~~~~~~~~~~ ~~~~~
  67638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67639. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67640. | ^~~~~~~~~~~~~~
  67641. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  67642. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  67643. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  67644. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  67645. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  67646. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  67647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67648. 8 | #define NULL ((void *)0)
  67649. | ^~~~~~~~~~~
  67650. | |
  67651. | void *
  67652. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  67653. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67654. | ^~~~
  67655. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  67656. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67657. | ~~~~~~~~~~~~~~^~~~~
  67658. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67659. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67660. | ^~
  67661. | |
  67662. | struct mm_struct *
  67663. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67664. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67665. | ~~~~~~~~~~~~~~^~~~~~~~
  67666. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67667. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67668. | ^~~~~~~~
  67669. | |
  67670. | long unsigned int
  67671. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67672. 2535 | unsigned int gup_flags, struct page **pages);
  67673. | ~~~~~~~~~~~~~~^~~~~
  67674. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67675. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67676. | ^~~~~~~~~~~~~~ ~~~~~
  67677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67678. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67679. | ^~~~~~~~~~~~~~
  67680. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  67681. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  67682. 237 | return (unsigned long)(vmf->virtual_address);
  67683. | ^~~~~~~~~~~~~~~
  67684. | real_address
  67685. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  67686. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67687. 246 | down_read(&mm->mmap_sem);
  67688. | ^~~~~~~~
  67689. | mmap_base
  67690. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  67691. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67692. 255 | up_read(&mm->mmap_sem);
  67693. | ^~~~~~~~
  67694. | mmap_base
  67695. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  67696. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67697. 264 | down_write(&mm->mmap_sem);
  67698. | ^~~~~~~~
  67699. | mmap_base
  67700. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  67701. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67702. 273 | up_write(&mm->mmap_sem);
  67703. | ^~~~~~~~
  67704. | mmap_base
  67705. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  67706. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67707. 282 | return rwsem_is_locked(&mm->mmap_sem);
  67708. | ^~~~~~~~
  67709. | mmap_base
  67710. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  67711. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67712. 291 | return &mm->mmap_sem;
  67713. | ^~~~~~~~
  67714. | mmap_base
  67715. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  67716. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  67717. 300 | vma->vm_flags |= flags;
  67718. | ^~
  67719. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  67720. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  67721. 309 | vma->vm_flags &= ~flags;
  67722. | ^~
  67723. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  67724. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67725. 502 | NV_MEMDBG_ADD(ptr, size);
  67726. | ^
  67727. In file included from ././common/inc/nv-linux.h:34,
  67728. from nvidia-uvm/uvm_linux.h:40:
  67729. ././common/inc/nv-mm.h: At top level:
  67730. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  67731. 29 | typedef int vm_fault_t;
  67732. | ^~~~~~~~~~
  67733. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  67734. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  67735. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  67736. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  67737. from ././common/inc/nv-lock.h:35,
  67738. from ././common/inc/nv-linux.h:32:
  67739. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  67740. 1311 | typedef __bitwise unsigned int vm_fault_t;
  67741. | ^~~~~~~~~~
  67742. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  67743. from ././common/inc/nv-time.h:28:
  67744. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  67745. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67746. 52 | #define current get_current()
  67747. | ^~~~~~~~~~~~~
  67748. | |
  67749. | struct task_struct *
  67750. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  67751. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67752. | ^~~~~~~
  67753. In file included from ././common/inc/nv-pgprot.h:30,
  67754. from ././common/inc/nv-linux.h:33:
  67755. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  67756. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67757. | ~~~~~~~~~~~~~~^~~~~
  67758. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67759. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67760. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67761. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67762. | ~~~~~~~~~~~~~~^~~~~~~~
  67763. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67764. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67765. | ^~~~~~~~
  67766. | |
  67767. | long unsigned int
  67768. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67769. 2535 | unsigned int gup_flags, struct page **pages);
  67770. | ~~~~~~~~~~~~~~^~~~~
  67771. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67772. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67773. | ^~~~~~~~~~~~~~ ~~~~~
  67774. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67775. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67776. | ^~~~~~~~~~~~~~
  67777. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  67778. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  67779. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  67780. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  67781. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  67782. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  67783. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67784. 8 | #define NULL ((void *)0)
  67785. | ^~~~~~~~~~~
  67786. | |
  67787. | void *
  67788. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  67789. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67790. | ^~~~
  67791. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  67792. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67793. | ~~~~~~~~~~~~~~^~~~~
  67794. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67795. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67796. | ^~
  67797. | |
  67798. | struct mm_struct *
  67799. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67800. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67801. | ~~~~~~~~~~~~~~^~~~~~~~
  67802. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67803. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67804. | ^~~~~~~~
  67805. | |
  67806. | long unsigned int
  67807. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67808. 2535 | unsigned int gup_flags, struct page **pages);
  67809. | ~~~~~~~~~~~~~~^~~~~
  67810. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67811. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67812. | ^~~~~~~~~~~~~~ ~~~~~
  67813. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67814. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67815. | ^~~~~~~~~~~~~~
  67816. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  67817. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  67818. 237 | return (unsigned long)(vmf->virtual_address);
  67819. | ^~~~~~~~~~~~~~~
  67820. | real_address
  67821. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  67822. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67823. 246 | down_read(&mm->mmap_sem);
  67824. | ^~~~~~~~
  67825. | mmap_base
  67826. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  67827. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67828. 255 | up_read(&mm->mmap_sem);
  67829. | ^~~~~~~~
  67830. | mmap_base
  67831. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  67832. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67833. 264 | down_write(&mm->mmap_sem);
  67834. | ^~~~~~~~
  67835. | mmap_base
  67836. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  67837. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67838. 273 | up_write(&mm->mmap_sem);
  67839. | ^~~~~~~~
  67840. | mmap_base
  67841. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  67842. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67843. 282 | return rwsem_is_locked(&mm->mmap_sem);
  67844. | ^~~~~~~~
  67845. | mmap_base
  67846. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  67847. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67848. 291 | return &mm->mmap_sem;
  67849. | ^~~~~~~~
  67850. | mmap_base
  67851. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  67852. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  67853. 300 | vma->vm_flags |= flags;
  67854. | ^~
  67855. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  67856. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  67857. 309 | vma->vm_flags &= ~flags;
  67858. | ^~
  67859. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  67860. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  67861. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  67862. | ^~~~~~~~~~~~~~~~~~~~~~~
  67863. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  67864. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67865. 520 | NV_MEMDBG_ADD(ptr, size);
  67866. | ^
  67867. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  67868. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  67869. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  67870. | ^~~~~~~~~~~~~~~~~~~~~~~
  67871. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  67872. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67873. 520 | NV_MEMDBG_ADD(ptr, size);
  67874. | ^
  67875. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  67876. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  67877. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  67878. | ^~~~~~~~~~~~~~~~~~~~~~~
  67879. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  67880. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67881. 520 | NV_MEMDBG_ADD(ptr, size);
  67882. | ^
  67883. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  67884. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67885. 502 | NV_MEMDBG_ADD(ptr, size);
  67886. | ^
  67887. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  67888. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67889. 502 | NV_MEMDBG_ADD(ptr, size);
  67890. | ^
  67891. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  67892. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  67893. 502 | NV_MEMDBG_ADD(ptr, size);
  67894. | ^
  67895. In file included from ././common/inc/nv-linux.h:34,
  67896. from nvidia-uvm/uvm_linux.h:40:
  67897. ././common/inc/nv-mm.h: At top level:
  67898. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  67899. 29 | typedef int vm_fault_t;
  67900. | ^~~~~~~~~~
  67901. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  67902. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  67903. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  67904. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  67905. from ././common/inc/nv-lock.h:35,
  67906. from ././common/inc/nv-linux.h:32:
  67907. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  67908. 1311 | typedef __bitwise unsigned int vm_fault_t;
  67909. | ^~~~~~~~~~
  67910. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  67911. from ././common/inc/nv-time.h:28:
  67912. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  67913. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67914. 52 | #define current get_current()
  67915. | ^~~~~~~~~~~~~
  67916. | |
  67917. | struct task_struct *
  67918. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  67919. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67920. | ^~~~~~~
  67921. In file included from ././common/inc/nv-pgprot.h:30,
  67922. from ././common/inc/nv-linux.h:33:
  67923. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  67924. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67925. | ~~~~~~~~~~~~~~^~~~~
  67926. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67927. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67929. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67930. | ~~~~~~~~~~~~~~^~~~~~~~
  67931. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67932. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67933. | ^~~~~~~~
  67934. | |
  67935. | long unsigned int
  67936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67937. 2535 | unsigned int gup_flags, struct page **pages);
  67938. | ~~~~~~~~~~~~~~^~~~~
  67939. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67940. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  67941. | ^~~~~~~~~~~~~~ ~~~~~
  67942. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67943. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67944. | ^~~~~~~~~~~~~~
  67945. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  67946. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  67947. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  67948. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  67949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  67950. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  67951. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67952. 8 | #define NULL ((void *)0)
  67953. | ^~~~~~~~~~~
  67954. | |
  67955. | void *
  67956. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  67957. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67958. | ^~~~
  67959. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  67960. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67961. | ~~~~~~~~~~~~~~^~~~~
  67962. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  67963. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67964. | ^~
  67965. | |
  67966. | struct mm_struct *
  67967. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  67968. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67969. | ~~~~~~~~~~~~~~^~~~~~~~
  67970. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  67971. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67972. | ^~~~~~~~
  67973. | |
  67974. | long unsigned int
  67975. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  67976. 2535 | unsigned int gup_flags, struct page **pages);
  67977. | ~~~~~~~~~~~~~~^~~~~
  67978. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  67979. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  67980. | ^~~~~~~~~~~~~~ ~~~~~
  67981. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  67982. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  67983. | ^~~~~~~~~~~~~~
  67984. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  67985. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  67986. 237 | return (unsigned long)(vmf->virtual_address);
  67987. | ^~~~~~~~~~~~~~~
  67988. | real_address
  67989. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  67990. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67991. 246 | down_read(&mm->mmap_sem);
  67992. | ^~~~~~~~
  67993. | mmap_base
  67994. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  67995. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  67996. 255 | up_read(&mm->mmap_sem);
  67997. | ^~~~~~~~
  67998. | mmap_base
  67999. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  68000. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68001. 264 | down_write(&mm->mmap_sem);
  68002. | ^~~~~~~~
  68003. | mmap_base
  68004. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  68005. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68006. 273 | up_write(&mm->mmap_sem);
  68007. | ^~~~~~~~
  68008. | mmap_base
  68009. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  68010. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68011. 282 | return rwsem_is_locked(&mm->mmap_sem);
  68012. | ^~~~~~~~
  68013. | mmap_base
  68014. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  68015. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68016. 291 | return &mm->mmap_sem;
  68017. | ^~~~~~~~
  68018. | mmap_base
  68019. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  68020. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  68021. 300 | vma->vm_flags |= flags;
  68022. | ^~
  68023. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  68024. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  68025. 309 | vma->vm_flags &= ~flags;
  68026. | ^~
  68027. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  68028. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  68029. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  68030. | ^~~~~~~~~~~~~~~~~~~~~~~
  68031. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68032. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68033. 520 | NV_MEMDBG_ADD(ptr, size);
  68034. | ^
  68035. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68036. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68037. 533 | ptr = ioremap_cache_shared(phys, size);
  68038. | ^~~~~~~~~~~~~~~~~~~~
  68039. | ioremap_cache
  68040. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68041. 533 | ptr = ioremap_cache_shared(phys, size);
  68042. | ^
  68043. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68044. 556 | NV_MEMDBG_ADD(ptr, size);
  68045. | ^
  68046. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68047. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68048. 533 | ptr = ioremap_cache_shared(phys, size);
  68049. | ^~~~~~~~~~~~~~~~~~~~
  68050. | ioremap_cache
  68051. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68052. 533 | ptr = ioremap_cache_shared(phys, size);
  68053. | ^
  68054. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68055. 556 | NV_MEMDBG_ADD(ptr, size);
  68056. | ^
  68057. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  68058. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68059. 502 | NV_MEMDBG_ADD(ptr, size);
  68060. | ^
  68061. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68062. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68063. 533 | ptr = ioremap_cache_shared(phys, size);
  68064. | ^~~~~~~~~~~~~~~~~~~~
  68065. | ioremap_cache
  68066. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68067. 533 | ptr = ioremap_cache_shared(phys, size);
  68068. | ^
  68069. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68070. 556 | NV_MEMDBG_ADD(ptr, size);
  68071. | ^
  68072. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  68073. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  68074. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  68075. | ^~~~~~~~~~~~~~~~~~~~~~~
  68076. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68077. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68078. 520 | NV_MEMDBG_ADD(ptr, size);
  68079. | ^
  68080. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  68081. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  68082. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  68083. | ^~~~~~~~~~~~~~~~~~~~~~~
  68084. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68085. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68086. 520 | NV_MEMDBG_ADD(ptr, size);
  68087. | ^
  68088. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  68089. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  68090. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  68091. | ^~~~~~~~~~~~~~~~~~~~~~~
  68092. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68093. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68094. 520 | NV_MEMDBG_ADD(ptr, size);
  68095. | ^
  68096. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68097. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68098. 533 | ptr = ioremap_cache_shared(phys, size);
  68099. | ^~~~~~~~~~~~~~~~~~~~
  68100. | ioremap_cache
  68101. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68102. 533 | ptr = ioremap_cache_shared(phys, size);
  68103. | ^
  68104. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68105. 556 | NV_MEMDBG_ADD(ptr, size);
  68106. | ^
  68107. In file included from ././common/inc/nv-linux.h:34,
  68108. from nvidia-uvm/uvm_linux.h:40:
  68109. ././common/inc/nv-mm.h: At top level:
  68110. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  68111. 29 | typedef int vm_fault_t;
  68112. | ^~~~~~~~~~
  68113. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  68114. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  68115. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  68116. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  68117. from ././common/inc/nv-lock.h:35,
  68118. from ././common/inc/nv-linux.h:32:
  68119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  68120. 1311 | typedef __bitwise unsigned int vm_fault_t;
  68121. | ^~~~~~~~~~
  68122. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  68123. from ././common/inc/nv-time.h:28:
  68124. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  68125. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  68126. 52 | #define current get_current()
  68127. | ^~~~~~~~~~~~~
  68128. | |
  68129. | struct task_struct *
  68130. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  68131. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  68132. | ^~~~~~~
  68133. In file included from ././common/inc/nv-pgprot.h:30,
  68134. from ././common/inc/nv-linux.h:33:
  68135. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  68136. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68137. | ~~~~~~~~~~~~~~^~~~~
  68138. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  68139. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  68140. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  68141. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68142. | ~~~~~~~~~~~~~~^~~~~~~~
  68143. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  68144. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  68145. | ^~~~~~~~
  68146. | |
  68147. | long unsigned int
  68148. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  68149. 2535 | unsigned int gup_flags, struct page **pages);
  68150. | ~~~~~~~~~~~~~~^~~~~
  68151. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  68152. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  68153. | ^~~~~~~~~~~~~~ ~~~~~
  68154. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  68155. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68156. | ^~~~~~~~~~~~~~
  68157. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  68158. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  68159. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  68160. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  68161. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  68162. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  68163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  68164. 8 | #define NULL ((void *)0)
  68165. | ^~~~~~~~~~~
  68166. | |
  68167. | void *
  68168. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  68169. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  68170. | ^~~~
  68171. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  68172. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68173. | ~~~~~~~~~~~~~~^~~~~
  68174. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  68175. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  68176. | ^~
  68177. | |
  68178. | struct mm_struct *
  68179. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  68180. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68181. | ~~~~~~~~~~~~~~^~~~~~~~
  68182. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  68183. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  68184. | ^~~~~~~~
  68185. | |
  68186. | long unsigned int
  68187. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  68188. 2535 | unsigned int gup_flags, struct page **pages);
  68189. | ~~~~~~~~~~~~~~^~~~~
  68190. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  68191. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  68192. | ^~~~~~~~~~~~~~ ~~~~~
  68193. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  68194. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68195. | ^~~~~~~~~~~~~~
  68196. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  68197. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  68198. 237 | return (unsigned long)(vmf->virtual_address);
  68199. | ^~~~~~~~~~~~~~~
  68200. | real_address
  68201. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  68202. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68203. 246 | down_read(&mm->mmap_sem);
  68204. | ^~~~~~~~
  68205. | mmap_base
  68206. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  68207. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68208. 255 | up_read(&mm->mmap_sem);
  68209. | ^~~~~~~~
  68210. | mmap_base
  68211. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  68212. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68213. 264 | down_write(&mm->mmap_sem);
  68214. | ^~~~~~~~
  68215. | mmap_base
  68216. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  68217. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68218. 273 | up_write(&mm->mmap_sem);
  68219. | ^~~~~~~~
  68220. | mmap_base
  68221. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  68222. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68223. 282 | return rwsem_is_locked(&mm->mmap_sem);
  68224. | ^~~~~~~~
  68225. | mmap_base
  68226. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  68227. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68228. 291 | return &mm->mmap_sem;
  68229. | ^~~~~~~~
  68230. | mmap_base
  68231. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  68232. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  68233. 300 | vma->vm_flags |= flags;
  68234. | ^~
  68235. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  68236. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  68237. 309 | vma->vm_flags &= ~flags;
  68238. | ^~
  68239. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  68240. from nvidia-uvm/uvm_gpu.h:37,
  68241. from nvidia-uvm/uvm_global.h:32,
  68242. from nvidia-uvm/uvm_maxwell_host.c:25:
  68243. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  68244. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  68245. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  68246. | ^~~~~~~~~~~~~~~~~~~~
  68247. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  68248. 40 | struct timespec64 {
  68249. | ^~~~~~~~~~
  68250. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  68251. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  68252. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  68253. from ././common/inc/nv-time.h:29:
  68254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  68255. 13 | struct timespec64 {
  68256. | ^~~~~~~~~~
  68257. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  68258. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  68259. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  68260. | ^~~~~~~~~~~~~~~~~~~~~~~
  68261. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68262. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  68263. 77 | static inline struct timespec64 timespec64_add
  68264. | ^~~~~~~~~~~~~~
  68265. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  68266. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  68267. | ^~~~~~~~~~~~~~
  68268. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68269. 520 | NV_MEMDBG_ADD(ptr, size);
  68270. | ^
  68271. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  68272. 95 | static inline struct timespec64 timespec64_sub
  68273. | ^~~~~~~~~~~~~~
  68274. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  68275. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  68276. | ^~~~~~~~~~~~~~
  68277. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  68278. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  68279. | ^~~~~~~~~~~~~~~~
  68280. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  68281. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  68282. | ^~~~~~~~~~~~~~~~
  68283. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  68284. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68285. 122 | ktime_get_raw_ts64(&ts);
  68286. | ^~~
  68287. | |
  68288. | struct timespec64 *
  68289. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  68290. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  68291. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  68292. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  68293. from ././common/inc/nv-time.h:30:
  68294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68295. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68296. | ~~~~~~~~~~~~~~~~~~~^~
  68297. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  68298. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68299. 185 | ktime_get_raw_ts64(&tm_aux);
  68300. | ^~~~~~~
  68301. | |
  68302. | struct timespec64 *
  68303. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68304. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68305. | ~~~~~~~~~~~~~~~~~~~^~
  68306. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68307. 221 | ktime_get_raw_ts64(&tm_aux);
  68308. | ^~~~~~~
  68309. | |
  68310. | struct timespec64 *
  68311. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68312. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68313. | ~~~~~~~~~~~~~~~~~~~^~
  68314. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  68315. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  68316. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68317. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  68318. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68319. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68320. | ^
  68321. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68322. 573 | NV_MEMDBG_ADD(ptr, size);
  68323. | ^
  68324. ././common/inc/nv-linux.h: In function 'nv_vmap':
  68325. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68326. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  68327. | ^
  68328. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  68329. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  68330. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68331. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  68332. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68333. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68334. | ^
  68335. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68336. 573 | NV_MEMDBG_ADD(ptr, size);
  68337. | ^
  68338. ././common/inc/nv-linux.h: In function 'nv_vmap':
  68339. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68340. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  68341. | ^
  68342. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68343. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68344. 533 | ptr = ioremap_cache_shared(phys, size);
  68345. | ^~~~~~~~~~~~~~~~~~~~
  68346. | ioremap_cache
  68347. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68348. 533 | ptr = ioremap_cache_shared(phys, size);
  68349. | ^
  68350. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68351. 556 | NV_MEMDBG_ADD(ptr, size);
  68352. | ^
  68353. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  68354. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  68355. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68356. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  68357. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68358. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68359. | ^
  68360. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68361. 573 | NV_MEMDBG_ADD(ptr, size);
  68362. | ^
  68363. ././common/inc/nv-linux.h: In function 'nv_vmap':
  68364. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68365. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  68366. | ^
  68367. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  68368. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68369. 502 | NV_MEMDBG_ADD(ptr, size);
  68370. | ^
  68371. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  68372. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  68373. 736 | return phys_to_dma(dev, pa);
  68374. | ^~~~~~~~~~~
  68375. | nv_phys_to_dma
  68376. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  68377. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68378. 502 | NV_MEMDBG_ADD(ptr, size);
  68379. | ^
  68380. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  68381. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  68382. 736 | return phys_to_dma(dev, pa);
  68383. | ^~~~~~~~~~~
  68384. | nv_phys_to_dma
  68385. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68386. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68387. 533 | ptr = ioremap_cache_shared(phys, size);
  68388. | ^~~~~~~~~~~~~~~~~~~~
  68389. | ioremap_cache
  68390. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68391. 533 | ptr = ioremap_cache_shared(phys, size);
  68392. | ^
  68393. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68394. 556 | NV_MEMDBG_ADD(ptr, size);
  68395. | ^
  68396. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  68397. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  68398. 736 | return phys_to_dma(dev, pa);
  68399. | ^~~~~~~~~~~
  68400. | nv_phys_to_dma
  68401. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68402. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68403. 533 | ptr = ioremap_cache_shared(phys, size);
  68404. | ^~~~~~~~~~~~~~~~~~~~
  68405. | ioremap_cache
  68406. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68407. 533 | ptr = ioremap_cache_shared(phys, size);
  68408. | ^
  68409. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68410. 556 | NV_MEMDBG_ADD(ptr, size);
  68411. | ^
  68412. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  68413. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  68414. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  68415. | ^~~~~~~~~~~~~
  68416. | d_is_dir
  68417. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  68418. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  68419. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68420. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  68421. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68422. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68423. | ^
  68424. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68425. 573 | NV_MEMDBG_ADD(ptr, size);
  68426. | ^
  68427. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  68428. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68429. 502 | NV_MEMDBG_ADD(ptr, size);
  68430. | ^
  68431. ././common/inc/nv-linux.h: In function 'nv_vmap':
  68432. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68433. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  68434. | ^
  68435. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68436. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68437. 533 | ptr = ioremap_cache_shared(phys, size);
  68438. | ^~~~~~~~~~~~~~~~~~~~
  68439. | ioremap_cache
  68440. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68441. 533 | ptr = ioremap_cache_shared(phys, size);
  68442. | ^
  68443. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68444. 556 | NV_MEMDBG_ADD(ptr, size);
  68445. | ^
  68446. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  68447. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  68448. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  68449. | ^~~~~~~~~~~~~
  68450. | d_is_dir
  68451. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  68452. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  68453. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  68454. | ^~~~~~~~~~~~~
  68455. | d_is_dir
  68456. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  68457. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  68458. 736 | return phys_to_dma(dev, pa);
  68459. | ^~~~~~~~~~~
  68460. | nv_phys_to_dma
  68461. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  68462. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68463. 287 | ktime_get_raw_ts64(&tm);
  68464. | ^~~
  68465. | |
  68466. | struct timespec64 *
  68467. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68468. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68469. | ~~~~~~~~~~~~~~~~~~~^~
  68470. nvidia-uvm/uvm_linux.h: At top level:
  68471. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68472. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  68473. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68474. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68475. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  68476. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68477. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  68478. 449 | #error "Unknown number of arguments"
  68479. | ^~~~~
  68480. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68481. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  68482. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68483. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68484. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  68485. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68486. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  68487. 485 | #error "Unknown number of arguments"
  68488. | ^~~~~
  68489. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  68490. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68491. 287 | ktime_get_raw_ts64(&tm);
  68492. | ^~~
  68493. | |
  68494. | struct timespec64 *
  68495. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68496. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68497. | ~~~~~~~~~~~~~~~~~~~^~
  68498. nvidia-uvm/uvm_linux.h: At top level:
  68499. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68500. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  68501. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68502. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68503. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  68504. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68505. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  68506. 449 | #error "Unknown number of arguments"
  68507. | ^~~~~
  68508. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  68509. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68510. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  68511. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68512. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68513. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  68514. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68515. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  68516. 485 | #error "Unknown number of arguments"
  68517. | ^~~~~
  68518. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  68519. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  68520. | ^~~~~~~~~~~~~~~~~~~~~~~
  68521. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68522. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68523. 520 | NV_MEMDBG_ADD(ptr, size);
  68524. | ^
  68525. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  68526. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68527. 287 | ktime_get_raw_ts64(&tm);
  68528. | ^~~
  68529. | |
  68530. | struct timespec64 *
  68531. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68532. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68533. | ~~~~~~~~~~~~~~~~~~~^~
  68534. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  68535. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  68536. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68537. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  68538. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68539. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68540. | ^
  68541. nvidia-uvm/uvm_linux.h: At top level:
  68542. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68543. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  68544. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68545. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68546. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  68547. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68548. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  68549. 449 | #error "Unknown number of arguments"
  68550. | ^~~~~
  68551. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68552. 573 | NV_MEMDBG_ADD(ptr, size);
  68553. | ^
  68554. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68555. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  68556. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68557. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68558. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  68559. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68560. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  68561. 485 | #error "Unknown number of arguments"
  68562. | ^~~~~
  68563. ././common/inc/nv-linux.h: In function 'nv_vmap':
  68564. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68565. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  68566. | ^
  68567. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  68568. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  68569. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  68570. 736 | return phys_to_dma(dev, pa);
  68571. | ^~~~~~~~~~~
  68572. | nv_phys_to_dma
  68573. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  68574. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  68575. | ^~~~~~~~~~~~~~~~~~~~~~~
  68576. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68577. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68578. 520 | NV_MEMDBG_ADD(ptr, size);
  68579. | ^
  68580. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  68581. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  68582. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  68583. | ^~~~~~~~~~~~~
  68584. | d_is_dir
  68585. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  68586. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  68587. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68588. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  68589. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68590. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68591. | ^
  68592. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68593. 573 | NV_MEMDBG_ADD(ptr, size);
  68594. | ^
  68595. ././common/inc/nv-linux.h: In function 'nv_vmap':
  68596. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68597. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  68598. | ^
  68599. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  68600. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  68601. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68602. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  68603. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68604. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68605. | ^
  68606. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68607. 573 | NV_MEMDBG_ADD(ptr, size);
  68608. | ^
  68609. ././common/inc/nv-linux.h: In function 'nv_vmap':
  68610. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68611. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  68612. | ^
  68613. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  68614. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  68615. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  68616. | ^~~~~~~~~~~~~~~~~~~~~~~
  68617. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68618. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68619. 520 | NV_MEMDBG_ADD(ptr, size);
  68620. | ^
  68621. In file included from ././common/inc/nv-linux.h:34,
  68622. from nvidia-uvm/uvm_linux.h:40:
  68623. ././common/inc/nv-mm.h: At top level:
  68624. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  68625. 29 | typedef int vm_fault_t;
  68626. | ^~~~~~~~~~
  68627. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  68628. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  68629. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  68630. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  68631. from ././common/inc/nv-lock.h:35,
  68632. from ././common/inc/nv-linux.h:32:
  68633. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  68634. 1311 | typedef __bitwise unsigned int vm_fault_t;
  68635. | ^~~~~~~~~~
  68636. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  68637. from ././common/inc/nv-time.h:28:
  68638. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  68639. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  68640. 52 | #define current get_current()
  68641. | ^~~~~~~~~~~~~
  68642. | |
  68643. | struct task_struct *
  68644. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  68645. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  68646. | ^~~~~~~
  68647. In file included from ././common/inc/nv-pgprot.h:30,
  68648. from ././common/inc/nv-linux.h:33:
  68649. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  68650. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68651. | ~~~~~~~~~~~~~~^~~~~
  68652. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  68653. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  68654. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  68655. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68656. | ~~~~~~~~~~~~~~^~~~~~~~
  68657. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  68658. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  68659. | ^~~~~~~~
  68660. | |
  68661. | long unsigned int
  68662. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  68663. 2535 | unsigned int gup_flags, struct page **pages);
  68664. | ~~~~~~~~~~~~~~^~~~~
  68665. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  68666. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  68667. | ^~~~~~~~~~~~~~ ~~~~~
  68668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  68669. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68670. | ^~~~~~~~~~~~~~
  68671. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  68672. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  68673. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  68674. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  68675. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  68676. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  68677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  68678. 8 | #define NULL ((void *)0)
  68679. | ^~~~~~~~~~~
  68680. | |
  68681. | void *
  68682. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  68683. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  68684. | ^~~~
  68685. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  68686. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68687. | ~~~~~~~~~~~~~~^~~~~
  68688. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  68689. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  68690. | ^~
  68691. | |
  68692. | struct mm_struct *
  68693. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  68694. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68695. | ~~~~~~~~~~~~~~^~~~~~~~
  68696. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  68697. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  68698. | ^~~~~~~~
  68699. | |
  68700. | long unsigned int
  68701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  68702. 2535 | unsigned int gup_flags, struct page **pages);
  68703. | ~~~~~~~~~~~~~~^~~~~
  68704. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  68705. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  68706. | ^~~~~~~~~~~~~~ ~~~~~
  68707. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  68708. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  68709. | ^~~~~~~~~~~~~~
  68710. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  68711. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  68712. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  68713. 237 | return (unsigned long)(vmf->virtual_address);
  68714. | ^~~~~~~~~~~~~~~
  68715. | real_address
  68716. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68717. 287 | ktime_get_raw_ts64(&tm);
  68718. | ^~~
  68719. | |
  68720. | struct timespec64 *
  68721. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  68722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68723. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68724. | ~~~~~~~~~~~~~~~~~~~^~
  68725. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68726. 246 | down_read(&mm->mmap_sem);
  68727. | ^~~~~~~~
  68728. | mmap_base
  68729. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  68730. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68731. 255 | up_read(&mm->mmap_sem);
  68732. | ^~~~~~~~
  68733. | mmap_base
  68734. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  68735. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68736. 264 | down_write(&mm->mmap_sem);
  68737. | ^~~~~~~~
  68738. | mmap_base
  68739. nvidia-uvm/uvm_linux.h: At top level:
  68740. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68741. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  68742. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68743. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  68744. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68745. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  68746. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68747. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68748. 273 | up_write(&mm->mmap_sem);
  68749. | ^~~~~~~~
  68750. | mmap_base
  68751. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  68752. 449 | #error "Unknown number of arguments"
  68753. | ^~~~~
  68754. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  68755. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68756. 282 | return rwsem_is_locked(&mm->mmap_sem);
  68757. | ^~~~~~~~
  68758. | mmap_base
  68759. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68760. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  68761. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68762. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68763. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  68764. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68765. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  68766. 485 | #error "Unknown number of arguments"
  68767. | ^~~~~
  68768. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  68769. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  68770. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  68771. 736 | return phys_to_dma(dev, pa);
  68772. | ^~~~~~~~~~~
  68773. | nv_phys_to_dma
  68774. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  68775. 291 | return &mm->mmap_sem;
  68776. | ^~~~~~~~
  68777. | mmap_base
  68778. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  68779. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  68780. 300 | vma->vm_flags |= flags;
  68781. | ^~
  68782. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  68783. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  68784. 309 | vma->vm_flags &= ~flags;
  68785. | ^~
  68786. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  68787. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68788. 502 | NV_MEMDBG_ADD(ptr, size);
  68789. | ^
  68790. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  68791. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  68792. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  68793. | ^~~~~~~~~~~~~
  68794. | d_is_dir
  68795. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  68796. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  68797. 736 | return phys_to_dma(dev, pa);
  68798. | ^~~~~~~~~~~
  68799. | nv_phys_to_dma
  68800. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  68801. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  68802. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68803. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  68804. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68805. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  68806. | ^
  68807. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68808. 573 | NV_MEMDBG_ADD(ptr, size);
  68809. | ^
  68810. ././common/inc/nv-linux.h: In function 'nv_vmap':
  68811. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68812. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  68813. | ^
  68814. cc1: some warnings being treated as errors
  68815. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68816. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68817. 533 | ptr = ioremap_cache_shared(phys, size);
  68818. | ^~~~~~~~~~~~~~~~~~~~
  68819. | ioremap_cache
  68820. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68821. 533 | ptr = ioremap_cache_shared(phys, size);
  68822. | ^
  68823. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68824. 556 | NV_MEMDBG_ADD(ptr, size);
  68825. | ^
  68826. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_host.o] Error 1
  68827. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  68828. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  68829. 736 | return phys_to_dma(dev, pa);
  68830. | ^~~~~~~~~~~
  68831. | nv_phys_to_dma
  68832. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  68833. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68834. 287 | ktime_get_raw_ts64(&tm);
  68835. | ^~~
  68836. | |
  68837. | struct timespec64 *
  68838. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68839. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68840. | ~~~~~~~~~~~~~~~~~~~^~
  68841. nvidia-uvm/uvm_linux.h: At top level:
  68842. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68843. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  68844. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68845. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68846. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  68847. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68848. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  68849. 449 | #error "Unknown number of arguments"
  68850. | ^~~~~
  68851. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68852. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  68853. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68854. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68855. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  68856. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68857. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  68858. 485 | #error "Unknown number of arguments"
  68859. | ^~~~~
  68860. CC [M] nvidia-uvm/uvm_turing.o
  68861. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  68862. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  68863. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  68864. | ^~~~~~~~~~~~~
  68865. | d_is_dir
  68866. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  68867. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  68868. 533 | ptr = ioremap_cache_shared(phys, size);
  68869. | ^~~~~~~~~~~~~~~~~~~~
  68870. | ioremap_cache
  68871. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  68872. 533 | ptr = ioremap_cache_shared(phys, size);
  68873. | ^
  68874. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  68875. 556 | NV_MEMDBG_ADD(ptr, size);
  68876. | ^
  68877. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  68878. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  68879. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  68880. | ^~~~~~~~~~~~~
  68881. | d_is_dir
  68882. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  68883. from nvidia-uvm/uvm_channel.h:29,
  68884. from nvidia-uvm/uvm_push.h:29,
  68885. from nvidia-uvm/uvm_hal.h:31:
  68886. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  68887. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  68888. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  68889. | ^~~~~~~~~~~~~~~~~~~~
  68890. In file included from ././common/inc/conftest.h:28,
  68891. from ././common/inc/nv-time.h:27,
  68892. from nvidia-uvm/uvm_linux.h:37,
  68893. from nvidia-uvm/uvm_common.h:43,
  68894. from nvidia-uvm/uvm_hal.h:28,
  68895. from nvidia-uvm/uvm_turing.c:24:
  68896. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  68897. 74 | #error dma_buf_export() conftest failed!
  68898. | ^~~~~
  68899. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  68900. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  68901. 87 | #error wait_on_bit_lock() conftest failed!
  68902. | ^~~~~
  68903. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  68904. 90 | #error radix_tree_replace_slot() conftest failed!
  68905. | ^~~~~
  68906. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  68907. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  68908. | ^~~~~~~~~~~~~
  68909. | d_is_dir
  68910. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  68911. from nvidia-uvm/uvm_channel.h:29,
  68912. from nvidia-uvm/uvm_push.h:29,
  68913. from nvidia-uvm/uvm_hal.h:31:
  68914. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  68915. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  68916. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  68917. | ^~~~~~~~~~~~~~~~~~~~
  68918. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  68919. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68920. 287 | ktime_get_raw_ts64(&tm);
  68921. | ^~~
  68922. | |
  68923. | struct timespec64 *
  68924. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68925. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68926. | ~~~~~~~~~~~~~~~~~~~^~
  68927. nvidia-uvm/uvm_linux.h: At top level:
  68928. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68929. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  68930. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68931. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68932. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  68933. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68934. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  68935. 449 | #error "Unknown number of arguments"
  68936. | ^~~~~
  68937. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68938. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  68939. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68940. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68941. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  68942. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68943. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  68944. 485 | #error "Unknown number of arguments"
  68945. | ^~~~~
  68946. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  68947. from nvidia-uvm/uvm_gpu.h:37:
  68948. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  68949. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  68950. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  68951. | ^~~~~~~~~~~~~~~~~~~~
  68952. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  68953. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68954. 287 | ktime_get_raw_ts64(&tm);
  68955. | ^~~
  68956. | |
  68957. | struct timespec64 *
  68958. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68959. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68960. | ~~~~~~~~~~~~~~~~~~~^~
  68961. nvidia-uvm/uvm_linux.h: At top level:
  68962. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68963. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  68964. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68965. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68966. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  68967. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68968. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  68969. 449 | #error "Unknown number of arguments"
  68970. | ^~~~~
  68971. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68972. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  68973. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68974. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68975. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  68976. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68977. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  68978. 485 | #error "Unknown number of arguments"
  68979. | ^~~~~
  68980. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  68981. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  68982. 287 | ktime_get_raw_ts64(&tm);
  68983. | ^~~
  68984. | |
  68985. | struct timespec64 *
  68986. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  68987. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  68988. | ~~~~~~~~~~~~~~~~~~~^~
  68989. nvidia-uvm/uvm_linux.h: At top level:
  68990. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68991. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  68992. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68993. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  68994. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  68995. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68996. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  68997. 449 | #error "Unknown number of arguments"
  68998. | ^~~~~
  68999. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69000. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  69001. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69002. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69003. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  69004. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69005. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  69006. 485 | #error "Unknown number of arguments"
  69007. | ^~~~~
  69008. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  69009. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  69010. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  69011. | ^~~~~~~~~~~~~~~~~~~~~~~
  69012. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69013. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69014. 520 | NV_MEMDBG_ADD(ptr, size);
  69015. | ^
  69016. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  69017. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  69018. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69019. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  69020. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69021. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69022. | ^
  69023. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69024. 573 | NV_MEMDBG_ADD(ptr, size);
  69025. | ^
  69026. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  69027. from nvidia-uvm/uvm_gpu.h:37:
  69028. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  69029. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  69030. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  69031. | ^~~~~~~~~~~~~~~~~~~~
  69032. ././common/inc/nv-linux.h: In function 'nv_vmap':
  69033. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69034. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  69035. | ^
  69036. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  69037. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  69038. 533 | ptr = ioremap_cache_shared(phys, size);
  69039. | ^~~~~~~~~~~~~~~~~~~~
  69040. | ioremap_cache
  69041. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69042. 533 | ptr = ioremap_cache_shared(phys, size);
  69043. | ^
  69044. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69045. 556 | NV_MEMDBG_ADD(ptr, size);
  69046. | ^
  69047. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  69048. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  69049. 736 | return phys_to_dma(dev, pa);
  69050. | ^~~~~~~~~~~
  69051. | nv_phys_to_dma
  69052. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  69053. from nvidia-uvm/uvm_channel.h:29,
  69054. from nvidia-uvm/uvm_push.h:29,
  69055. from nvidia-uvm/uvm_hal.h:31,
  69056. from nvidia-uvm/uvm_pascal_host.c:26:
  69057. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  69058. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  69059. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  69060. | ^~~~~~~~~~~~~~~~~~~~
  69061. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  69062. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  69063. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69064. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  69065. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69066. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69067. | ^
  69068. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69069. 573 | NV_MEMDBG_ADD(ptr, size);
  69070. | ^
  69071. ././common/inc/nv-linux.h: In function 'nv_vmap':
  69072. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69073. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  69074. | ^
  69075. cc1: some warnings being treated as errors
  69076. nvidia-uvm/uvm_maxwell_mmu.c: At top level:
  69077. nvidia-uvm/uvm_maxwell_mmu.c:359:21: warning: no previous prototype for 'uvm_hal_mmu_mode_maxwell' [-Wmissing-prototypes]
  69078. 359 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_maxwell(NvU32 big_page_size)
  69079. | ^~~~~~~~~~~~~~~~~~~~~~~~
  69080. nvidia-uvm/uvm_maxwell_mmu.c:368:6: warning: no previous prototype for 'uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported' [-Wmissing-prototypes]
  69081. 368 | void uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu)
  69082. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69083. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal.o] Error 1
  69084. nvidia-uvm/uvm_maxwell_mmu.c:373:6: warning: no previous prototype for 'uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported' [-Wmissing-prototypes]
  69085. 373 | void uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu)
  69086. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69087. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  69088. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  69089. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  69090. | ^~~~~~~~~~~~~
  69091. | d_is_dir
  69092. nvidia-uvm/uvm_maxwell_mmu.c:378:23: warning: no previous prototype for 'uvm_hal_maxwell_mmu_engine_id_to_type_unsupported' [-Wmissing-prototypes]
  69093. 378 | uvm_mmu_engine_type_t uvm_hal_maxwell_mmu_engine_id_to_type_unsupported(NvU16 mmu_engine_id)
  69094. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69095. 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]
  69096. 384 | NvU16 uvm_hal_maxwell_mmu_client_id_to_utlb_id_unsupported(NvU16 client_id)
  69097. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69098. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  69099. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  69100. 533 | ptr = ioremap_cache_shared(phys, size);
  69101. | ^~~~~~~~~~~~~~~~~~~~
  69102. | ioremap_cache
  69103. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69104. 533 | ptr = ioremap_cache_shared(phys, size);
  69105. | ^
  69106. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69107. 556 | NV_MEMDBG_ADD(ptr, size);
  69108. | ^
  69109. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  69110. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  69111. 736 | return phys_to_dma(dev, pa);
  69112. | ^~~~~~~~~~~
  69113. | nv_phys_to_dma
  69114. CC [M] nvidia-uvm/uvm_turing_access_counter_buffer.o
  69115. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  69116. from nvidia-uvm/uvm_channel.h:29,
  69117. from nvidia-uvm/uvm_push.h:29,
  69118. from nvidia-uvm/uvm_hal.h:31:
  69119. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  69120. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  69121. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  69122. | ^~~~~~~~~~~~~~~~~~~~
  69123. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  69124. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69125. 287 | ktime_get_raw_ts64(&tm);
  69126. | ^~~
  69127. | |
  69128. | struct timespec64 *
  69129. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69130. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69131. | ~~~~~~~~~~~~~~~~~~~^~
  69132. cc1: some warnings being treated as errors
  69133. nvidia-uvm/uvm_linux.h: At top level:
  69134. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69135. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  69136. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69137. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69138. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  69139. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69140. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  69141. 449 | #error "Unknown number of arguments"
  69142. | ^~~~~
  69143. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69144. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  69145. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69146. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69147. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  69148. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69149. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  69150. 485 | #error "Unknown number of arguments"
  69151. | ^~~~~
  69152. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  69153. from nvidia-uvm/uvm_gpu.h:37:
  69154. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  69155. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  69156. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  69157. | ^~~~~~~~~~~~~~~~~~~~
  69158. In file included from ././common/inc/conftest.h:28,
  69159. from ././common/inc/nv-time.h:27,
  69160. from nvidia-uvm/uvm_linux.h:37,
  69161. from nvidia-uvm/uvm_turing_access_counter_buffer.c:24:
  69162. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69163. 74 | #error dma_buf_export() conftest failed!
  69164. | ^~~~~
  69165. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69166. 87 | #error wait_on_bit_lock() conftest failed!
  69167. | ^~~~~
  69168. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69169. 90 | #error radix_tree_replace_slot() conftest failed!
  69170. | ^~~~~
  69171. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_mmu.o] Error 1
  69172. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  69173. from nvidia-uvm/uvm_gpu.h:37,
  69174. from nvidia-uvm/uvm_global.h:32,
  69175. from nvidia-uvm/uvm_pascal_fault_buffer.c:25:
  69176. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  69177. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  69178. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  69179. | ^~~~~~~~~~~~~~~~~~~~
  69180. CC [M] nvidia-uvm/uvm_turing_fault_buffer.o
  69181. cc1: some warnings being treated as errors
  69182. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  69183. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  69184. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  69185. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69186. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  69187. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  69188. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  69189. | ^~~~~~~~~~~~~
  69190. | d_is_dir
  69191. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69192. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69193. | ^
  69194. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69195. 573 | NV_MEMDBG_ADD(ptr, size);
  69196. | ^
  69197. ././common/inc/nv-linux.h: In function 'nv_vmap':
  69198. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69199. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  69200. | ^
  69201. 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
  69202. CC [M] nvidia-uvm/uvm_turing_mmu.o
  69203. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  69204. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69205. 502 | NV_MEMDBG_ADD(ptr, size);
  69206. | ^
  69207. In file included from ././common/inc/conftest.h:28,
  69208. from ././common/inc/nv-time.h:27,
  69209. from nvidia-uvm/uvm_linux.h:37,
  69210. from nvidia-uvm/uvm_turing_fault_buffer.c:24:
  69211. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69212. 74 | #error dma_buf_export() conftest failed!
  69213. | ^~~~~
  69214. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69215. 87 | #error wait_on_bit_lock() conftest failed!
  69216. | ^~~~~
  69217. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69218. 90 | #error radix_tree_replace_slot() conftest failed!
  69219. | ^~~~~
  69220. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  69221. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  69222. 736 | return phys_to_dma(dev, pa);
  69223. | ^~~~~~~~~~~
  69224. | nv_phys_to_dma
  69225. In file included from ././common/inc/nv-linux.h:34,
  69226. from nvidia-uvm/uvm_linux.h:40:
  69227. ././common/inc/nv-mm.h: At top level:
  69228. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  69229. 29 | typedef int vm_fault_t;
  69230. | ^~~~~~~~~~
  69231. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  69232. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  69233. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  69234. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  69235. from ././common/inc/nv-lock.h:35,
  69236. from ././common/inc/nv-linux.h:32:
  69237. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  69238. 1311 | typedef __bitwise unsigned int vm_fault_t;
  69239. | ^~~~~~~~~~
  69240. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  69241. from ././common/inc/nv-time.h:28:
  69242. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  69243. cc1: some warnings being treated as errors
  69244. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  69245. 52 | #define current get_current()
  69246. | ^~~~~~~~~~~~~
  69247. | |
  69248. | struct task_struct *
  69249. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  69250. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  69251. | ^~~~~~~
  69252. In file included from ././common/inc/nv-pgprot.h:30,
  69253. from ././common/inc/nv-linux.h:33:
  69254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  69255. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  69256. | ~~~~~~~~~~~~~~^~~~~
  69257. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  69258. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  69259. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  69260. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  69261. | ~~~~~~~~~~~~~~^~~~~~~~
  69262. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  69263. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  69264. | ^~~~~~~~
  69265. | |
  69266. | long unsigned int
  69267. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  69268. 2535 | unsigned int gup_flags, struct page **pages);
  69269. | ~~~~~~~~~~~~~~^~~~~
  69270. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  69271. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  69272. | ^~~~~~~~~~~~~~ ~~~~~
  69273. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  69274. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  69275. | ^~~~~~~~~~~~~~
  69276. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  69277. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  69278. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  69279. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  69280. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  69281. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  69282. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  69283. 8 | #define NULL ((void *)0)
  69284. | ^~~~~~~~~~~
  69285. | |
  69286. | void *
  69287. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  69288. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  69289. | ^~~~
  69290. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  69291. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  69292. | ~~~~~~~~~~~~~~^~~~~
  69293. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  69294. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  69295. | ^~
  69296. | |
  69297. | struct mm_struct *
  69298. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  69299. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  69300. | ~~~~~~~~~~~~~~^~~~~~~~
  69301. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  69302. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  69303. | ^~~~~~~~
  69304. | |
  69305. | long unsigned int
  69306. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  69307. 2535 | unsigned int gup_flags, struct page **pages);
  69308. | ~~~~~~~~~~~~~~^~~~~
  69309. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  69310. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  69311. | ^~~~~~~~~~~~~~ ~~~~~
  69312. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  69313. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  69314. | ^~~~~~~~~~~~~~
  69315. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  69316. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  69317. 237 | return (unsigned long)(vmf->virtual_address);
  69318. | ^~~~~~~~~~~~~~~
  69319. | real_address
  69320. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  69321. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  69322. 246 | down_read(&mm->mmap_sem);
  69323. | ^~~~~~~~
  69324. | mmap_base
  69325. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  69326. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  69327. 255 | up_read(&mm->mmap_sem);
  69328. | ^~~~~~~~
  69329. | mmap_base
  69330. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  69331. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  69332. 264 | down_write(&mm->mmap_sem);
  69333. | ^~~~~~~~
  69334. | mmap_base
  69335. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  69336. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  69337. 273 | up_write(&mm->mmap_sem);
  69338. | ^~~~~~~~
  69339. | mmap_base
  69340. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  69341. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  69342. 282 | return rwsem_is_locked(&mm->mmap_sem);
  69343. | ^~~~~~~~
  69344. | mmap_base
  69345. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  69346. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  69347. 291 | return &mm->mmap_sem;
  69348. | ^~~~~~~~
  69349. | mmap_base
  69350. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  69351. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  69352. 300 | vma->vm_flags |= flags;
  69353. | ^~
  69354. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  69355. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  69356. 309 | vma->vm_flags &= ~flags;
  69357. | ^~
  69358. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  69359. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69360. 287 | ktime_get_raw_ts64(&tm);
  69361. | ^~~
  69362. | |
  69363. | struct timespec64 *
  69364. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69365. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69366. | ~~~~~~~~~~~~~~~~~~~^~
  69367. nvidia-uvm/uvm_linux.h: At top level:
  69368. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69369. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  69370. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69371. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69372. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  69373. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69374. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  69375. 449 | #error "Unknown number of arguments"
  69376. | ^~~~~
  69377. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69378. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  69379. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69380. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69381. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  69382. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69383. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  69384. 485 | #error "Unknown number of arguments"
  69385. | ^~~~~
  69386. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_ce.o] Error 1
  69387. CC [M] nvidia-uvm/uvm_turing_host.o
  69388. In file included from ././common/inc/conftest.h:28,
  69389. from ././common/inc/nv-time.h:27,
  69390. from nvidia-uvm/uvm_linux.h:37,
  69391. from nvidia-uvm/uvm_extern_decl.h:27,
  69392. from nvidia-uvm/uvm_global.h:28,
  69393. from nvidia-uvm/uvm_turing_mmu.c:26:
  69394. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69395. 74 | #error dma_buf_export() conftest failed!
  69396. | ^~~~~
  69397. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69398. 87 | #error wait_on_bit_lock() conftest failed!
  69399. | ^~~~~
  69400. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69401. 90 | #error radix_tree_replace_slot() conftest failed!
  69402. | ^~~~~
  69403. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  69404. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  69405. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69406. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  69407. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69408. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69409. | ^
  69410. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69411. 573 | NV_MEMDBG_ADD(ptr, size);
  69412. | ^
  69413. ././common/inc/nv-linux.h: In function 'nv_vmap':
  69414. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69415. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  69416. | ^
  69417. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  69418. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  69419. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  69420. | ^~~~~~~~~~~~~
  69421. | d_is_dir
  69422. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  69423. from nvidia-uvm/uvm_gpu.h:37,
  69424. from nvidia-uvm/uvm_global.h:32:
  69425. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  69426. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  69427. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  69428. | ^~~~~~~~~~~~~~~~~~~~
  69429. In file included from ././common/inc/conftest.h:28,
  69430. from ././common/inc/nv-time.h:27,
  69431. from nvidia-uvm/uvm_linux.h:37,
  69432. from nvidia-uvm/uvm_common.h:43,
  69433. from nvidia-uvm/uvm_hal.h:28,
  69434. from nvidia-uvm/uvm_turing_host.c:24:
  69435. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69436. 74 | #error dma_buf_export() conftest failed!
  69437. | ^~~~~
  69438. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  69439. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  69440. 736 | return phys_to_dma(dev, pa);
  69441. | ^~~~~~~~~~~
  69442. | nv_phys_to_dma
  69443. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69444. 87 | #error wait_on_bit_lock() conftest failed!
  69445. | ^~~~~
  69446. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69447. 90 | #error radix_tree_replace_slot() conftest failed!
  69448. | ^~~~~
  69449. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  69450. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69451. 502 | NV_MEMDBG_ADD(ptr, size);
  69452. | ^
  69453. cc1: some warnings being treated as errors
  69454. nvidia-uvm/uvm_pascal_fault_buffer.c: At top level:
  69455. 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]
  69456. 329 | void uvm_hal_pascal_fault_buffer_parse_non_replayable_entry_unsupported(uvm_parent_gpu_t *parent_gpu,
  69457. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69458. cc1: some warnings being treated as errors
  69459. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_fault_buffer.o] Error 1
  69460. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  69461. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69462. 287 | ktime_get_raw_ts64(&tm);
  69463. | ^~~
  69464. | |
  69465. | struct timespec64 *
  69466. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69467. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69468. | ~~~~~~~~~~~~~~~~~~~^~
  69469. nvidia-uvm/uvm_linux.h: At top level:
  69470. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69471. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  69472. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69473. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69474. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  69475. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69476. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  69477. 449 | #error "Unknown number of arguments"
  69478. | ^~~~~
  69479. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69480. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  69481. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69482. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69483. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  69484. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69485. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  69486. 485 | #error "Unknown number of arguments"
  69487. | ^~~~~
  69488. cc1: some warnings being treated as errors
  69489. CC [M] nvidia-uvm/uvm_ampere.o
  69490. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_host.o] Error 1
  69491. cc1: some warnings being treated as errors
  69492. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_ce.o] Error 1
  69493. CC [M] nvidia-uvm/uvm_ampere_ce.o
  69494. CC [M] nvidia-uvm/uvm_ampere_host.o
  69495. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_fault_buffer.o] Error 1
  69496. CC [M] nvidia-uvm/uvm_ampere_mmu.o
  69497. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  69498. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  69499. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  69500. | ^~~~~~~~~~~~~~~~~~~~~~~
  69501. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69502. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69503. 520 | NV_MEMDBG_ADD(ptr, size);
  69504. | ^
  69505. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  69506. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  69507. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  69508. | ^~~~~~~~~~~~~
  69509. | d_is_dir
  69510. In file included from ././common/inc/conftest.h:28,
  69511. from ././common/inc/nv-time.h:27,
  69512. from nvidia-uvm/uvm_linux.h:37,
  69513. from nvidia-uvm/uvm_extern_decl.h:27,
  69514. from nvidia-uvm/uvm_global.h:28,
  69515. from nvidia-uvm/uvm_ampere.c:24:
  69516. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69517. 74 | #error dma_buf_export() conftest failed!
  69518. | ^~~~~
  69519. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69520. 87 | #error wait_on_bit_lock() conftest failed!
  69521. | ^~~~~
  69522. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69523. 90 | #error radix_tree_replace_slot() conftest failed!
  69524. | ^~~~~
  69525. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  69526. from nvidia-uvm/uvm_gpu.h:37,
  69527. from nvidia-uvm/uvm_global.h:32:
  69528. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  69529. In file included from ././common/inc/conftest.h:28,
  69530. from ././common/inc/nv-time.h:27,
  69531. from nvidia-uvm/uvm_linux.h:37,
  69532. from nvidia-uvm/uvm_common.h:43,
  69533. from nvidia-uvm/uvm_hal.h:28,
  69534. from nvidia-uvm/uvm_ampere_ce.c:24:
  69535. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69536. 74 | #error dma_buf_export() conftest failed!
  69537. | ^~~~~
  69538. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69539. 87 | #error wait_on_bit_lock() conftest failed!
  69540. | ^~~~~
  69541. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69542. 90 | #error radix_tree_replace_slot() conftest failed!
  69543. | ^~~~~
  69544. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  69545. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  69546. | ^~~~~~~~~~~~~~~~~~~~
  69547. In file included from ././common/inc/conftest.h:28,
  69548. from ././common/inc/nv-time.h:27,
  69549. from nvidia-uvm/uvm_linux.h:37,
  69550. from nvidia-uvm/uvm_common.h:43,
  69551. from nvidia-uvm/uvm_hal.h:28,
  69552. from nvidia-uvm/uvm_ampere_host.c:24:
  69553. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69554. 74 | #error dma_buf_export() conftest failed!
  69555. | ^~~~~
  69556. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69557. 87 | #error wait_on_bit_lock() conftest failed!
  69558. | ^~~~~
  69559. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69560. 90 | #error radix_tree_replace_slot() conftest failed!
  69561. | ^~~~~
  69562. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  69563. 40 | struct timespec64 {
  69564. | ^~~~~~~~~~
  69565. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  69566. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  69567. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  69568. from ././common/inc/nv-time.h:29:
  69569. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  69570. 13 | struct timespec64 {
  69571. | ^~~~~~~~~~
  69572. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69573. 77 | static inline struct timespec64 timespec64_add
  69574. | ^~~~~~~~~~~~~~
  69575. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69576. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  69577. | ^~~~~~~~~~~~~~
  69578. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69579. 95 | static inline struct timespec64 timespec64_sub
  69580. | ^~~~~~~~~~~~~~
  69581. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69582. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  69583. | ^~~~~~~~~~~~~~
  69584. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  69585. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  69586. | ^~~~~~~~~~~~~~~~
  69587. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  69588. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  69589. | ^~~~~~~~~~~~~~~~
  69590. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  69591. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69592. 122 | ktime_get_raw_ts64(&ts);
  69593. | ^~~
  69594. | |
  69595. | struct timespec64 *
  69596. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  69597. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  69598. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  69599. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  69600. from ././common/inc/nv-time.h:30:
  69601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69602. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69603. | ~~~~~~~~~~~~~~~~~~~^~
  69604. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  69605. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69606. 185 | ktime_get_raw_ts64(&tm_aux);
  69607. | ^~~~~~~
  69608. | |
  69609. | struct timespec64 *
  69610. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69611. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69612. | ~~~~~~~~~~~~~~~~~~~^~
  69613. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69614. 221 | ktime_get_raw_ts64(&tm_aux);
  69615. | ^~~~~~~
  69616. | |
  69617. | struct timespec64 *
  69618. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69619. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69620. | ~~~~~~~~~~~~~~~~~~~^~
  69621. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  69622. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69623. 287 | ktime_get_raw_ts64(&tm);
  69624. | ^~~
  69625. | |
  69626. | struct timespec64 *
  69627. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69628. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69629. | ~~~~~~~~~~~~~~~~~~~^~
  69630. nvidia-uvm/uvm_linux.h: At top level:
  69631. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69632. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  69633. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69634. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69635. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  69636. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69637. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  69638. 449 | #error "Unknown number of arguments"
  69639. | ^~~~~
  69640. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69641. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  69642. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69643. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  69644. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  69645. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69646. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  69647. 485 | #error "Unknown number of arguments"
  69648. | ^~~~~
  69649. In file included from ././common/inc/conftest.h:28,
  69650. from ././common/inc/nv-time.h:27,
  69651. from nvidia-uvm/uvm_linux.h:37,
  69652. from nvidia-uvm/uvm_extern_decl.h:27,
  69653. from nvidia-uvm/uvm_global.h:28,
  69654. from nvidia-uvm/uvm_ampere_mmu.c:34:
  69655. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69656. 74 | #error dma_buf_export() conftest failed!
  69657. | ^~~~~
  69658. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69659. 87 | #error wait_on_bit_lock() conftest failed!
  69660. | ^~~~~
  69661. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69662. 90 | #error radix_tree_replace_slot() conftest failed!
  69663. | ^~~~~
  69664. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  69665. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  69666. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  69667. | ^~~~~~~~~~~~~~~~~~~~~~~
  69668. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69669. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69670. 520 | NV_MEMDBG_ADD(ptr, size);
  69671. | ^
  69672. cc1: some warnings being treated as errors
  69673. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_mmu.o] Error 1
  69674. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  69675. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  69676. 533 | ptr = ioremap_cache_shared(phys, size);
  69677. | ^~~~~~~~~~~~~~~~~~~~
  69678. | ioremap_cache
  69679. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69680. 533 | ptr = ioremap_cache_shared(phys, size);
  69681. | ^
  69682. CC [M] nvidia-uvm/uvm_hopper.o
  69683. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69684. 556 | NV_MEMDBG_ADD(ptr, size);
  69685. | ^
  69686. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  69687. from nvidia-uvm/uvm_gpu.h:37,
  69688. from nvidia-uvm/uvm_global.h:32,
  69689. from nvidia-uvm/uvm_volta_host.c:25:
  69690. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  69691. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  69692. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  69693. | ^~~~~~~~~~~~~~~~~~~~
  69694. In file included from ././common/inc/conftest.h:28,
  69695. from ././common/inc/nv-time.h:27,
  69696. from nvidia-uvm/uvm_linux.h:37,
  69697. from nvidia-uvm/uvm_extern_decl.h:27,
  69698. from nvidia-uvm/uvm_global.h:28,
  69699. from nvidia-uvm/uvm_hopper.c:24:
  69700. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69701. 74 | #error dma_buf_export() conftest failed!
  69702. | ^~~~~
  69703. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69704. 87 | #error wait_on_bit_lock() conftest failed!
  69705. | ^~~~~
  69706. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69707. 90 | #error radix_tree_replace_slot() conftest failed!
  69708. | ^~~~~
  69709. nvidia-uvm/uvm_pascal_mmu.c: At top level:
  69710. nvidia-uvm/uvm_pascal_mmu.c:364:21: warning: no previous prototype for 'uvm_hal_mmu_mode_pascal' [-Wmissing-prototypes]
  69711. 364 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_pascal(NvU32 big_page_size)
  69712. | ^~~~~~~~~~~~~~~~~~~~~~~
  69713. nvidia-uvm/uvm_pascal_mmu.c:376:6: warning: no previous prototype for 'uvm_hal_pascal_mmu_enable_prefetch_faults' [-Wmissing-prototypes]
  69714. 376 | void uvm_hal_pascal_mmu_enable_prefetch_faults(uvm_parent_gpu_t *parent_gpu)
  69715. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69716. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  69717. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  69718. 533 | ptr = ioremap_cache_shared(phys, size);
  69719. | ^~~~~~~~~~~~~~~~~~~~
  69720. | ioremap_cache
  69721. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69722. 533 | ptr = ioremap_cache_shared(phys, size);
  69723. | ^
  69724. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69725. 556 | NV_MEMDBG_ADD(ptr, size);
  69726. | ^
  69727. nvidia-uvm/uvm_pascal_mmu.c:388:6: warning: no previous prototype for 'uvm_hal_pascal_mmu_disable_prefetch_faults' [-Wmissing-prototypes]
  69728. 388 | void uvm_hal_pascal_mmu_disable_prefetch_faults(uvm_parent_gpu_t *parent_gpu)
  69729. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69730. nvidia-uvm/uvm_pascal_mmu.c:400:7: warning: no previous prototype for 'uvm_hal_pascal_mmu_client_id_to_utlb_id' [-Wmissing-prototypes]
  69731. 400 | NvU16 uvm_hal_pascal_mmu_client_id_to_utlb_id(NvU16 client_id)
  69732. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69733. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  69734. from nvidia-uvm/uvm_channel.h:29,
  69735. from nvidia-uvm/uvm_push.h:29,
  69736. from nvidia-uvm/uvm_hal.h:31:
  69737. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  69738. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  69739. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  69740. | ^~~~~~~~~~~~~~~~~~~~
  69741. cc1: some warnings being treated as errors
  69742. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_mmu.o] Error 1
  69743. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  69744. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69745. 502 | NV_MEMDBG_ADD(ptr, size);
  69746. | ^
  69747. CC [M] nvidia-uvm/uvm_hopper_fault_buffer.o
  69748. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  69749. 40 | struct timespec64 {
  69750. | ^~~~~~~~~~
  69751. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  69752. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  69753. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  69754. from ././common/inc/nv-time.h:29:
  69755. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  69756. 13 | struct timespec64 {
  69757. | ^~~~~~~~~~
  69758. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69759. 77 | static inline struct timespec64 timespec64_add
  69760. | ^~~~~~~~~~~~~~
  69761. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  69762. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  69763. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69764. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  69765. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  69766. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  69767. | ^
  69768. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69769. 573 | NV_MEMDBG_ADD(ptr, size);
  69770. | ^
  69771. ././common/inc/nv-linux.h: In function 'nv_vmap':
  69772. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  69773. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  69774. | ^
  69775. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69776. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  69777. | ^~~~~~~~~~~~~~
  69778. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69779. 95 | static inline struct timespec64 timespec64_sub
  69780. | ^~~~~~~~~~~~~~
  69781. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69782. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  69783. | ^~~~~~~~~~~~~~
  69784. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  69785. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  69786. | ^~~~~~~~~~~~~~~~
  69787. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  69788. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  69789. | ^~~~~~~~~~~~~~~~
  69790. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  69791. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69792. 122 | ktime_get_raw_ts64(&ts);
  69793. | ^~~
  69794. | |
  69795. | struct timespec64 *
  69796. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  69797. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  69798. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  69799. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  69800. from ././common/inc/nv-time.h:30:
  69801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69802. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69803. | ~~~~~~~~~~~~~~~~~~~^~
  69804. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  69805. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69806. 185 | ktime_get_raw_ts64(&tm_aux);
  69807. | ^~~~~~~
  69808. | |
  69809. | struct timespec64 *
  69810. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69811. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69812. | ~~~~~~~~~~~~~~~~~~~^~
  69813. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69814. 221 | ktime_get_raw_ts64(&tm_aux);
  69815. | ^~~~~~~
  69816. | |
  69817. | struct timespec64 *
  69818. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69819. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69820. | ~~~~~~~~~~~~~~~~~~~^~
  69821. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  69822. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  69823. 736 | return phys_to_dma(dev, pa);
  69824. | ^~~~~~~~~~~
  69825. | nv_phys_to_dma
  69826. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  69827. 40 | struct timespec64 {
  69828. | ^~~~~~~~~~
  69829. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  69830. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  69831. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  69832. from ././common/inc/nv-time.h:29:
  69833. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  69834. 13 | struct timespec64 {
  69835. | ^~~~~~~~~~
  69836. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69837. 77 | static inline struct timespec64 timespec64_add
  69838. | ^~~~~~~~~~~~~~
  69839. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69840. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  69841. | ^~~~~~~~~~~~~~
  69842. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69843. 95 | static inline struct timespec64 timespec64_sub
  69844. | ^~~~~~~~~~~~~~
  69845. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69846. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  69847. | ^~~~~~~~~~~~~~
  69848. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  69849. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  69850. | ^~~~~~~~~~~~~~~~
  69851. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  69852. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  69853. | ^~~~~~~~~~~~~~~~
  69854. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  69855. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69856. 122 | ktime_get_raw_ts64(&ts);
  69857. | ^~~
  69858. | |
  69859. | struct timespec64 *
  69860. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  69861. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  69862. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  69863. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  69864. from ././common/inc/nv-time.h:30:
  69865. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69866. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69867. | ~~~~~~~~~~~~~~~~~~~^~
  69868. In file included from ././common/inc/conftest.h:28,
  69869. from ././common/inc/nv-time.h:27,
  69870. from nvidia-uvm/uvm_linux.h:37,
  69871. from nvidia-uvm/uvm_common.h:43,
  69872. from nvidia-uvm/uvm_hal_types.h:27,
  69873. from nvidia-uvm/uvm_hopper_fault_buffer.c:24:
  69874. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  69875. 74 | #error dma_buf_export() conftest failed!
  69876. | ^~~~~
  69877. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  69878. 87 | #error wait_on_bit_lock() conftest failed!
  69879. | ^~~~~
  69880. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  69881. 90 | #error radix_tree_replace_slot() conftest failed!
  69882. | ^~~~~
  69883. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  69884. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69885. 185 | ktime_get_raw_ts64(&tm_aux);
  69886. | ^~~~~~~
  69887. | |
  69888. | struct timespec64 *
  69889. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69890. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69891. | ~~~~~~~~~~~~~~~~~~~^~
  69892. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69893. 221 | ktime_get_raw_ts64(&tm_aux);
  69894. | ^~~~~~~
  69895. | |
  69896. | struct timespec64 *
  69897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69898. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69899. | ~~~~~~~~~~~~~~~~~~~^~
  69900. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  69901. 40 | struct timespec64 {
  69902. | ^~~~~~~~~~
  69903. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  69904. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  69905. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  69906. from ././common/inc/nv-time.h:29:
  69907. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  69908. 13 | struct timespec64 {
  69909. | ^~~~~~~~~~
  69910. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69911. 77 | static inline struct timespec64 timespec64_add
  69912. | ^~~~~~~~~~~~~~
  69913. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69914. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  69915. | ^~~~~~~~~~~~~~
  69916. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69917. 95 | static inline struct timespec64 timespec64_sub
  69918. | ^~~~~~~~~~~~~~
  69919. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69920. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  69921. | ^~~~~~~~~~~~~~
  69922. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  69923. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  69924. | ^~~~~~~~~~~~~~~~
  69925. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  69926. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  69927. | ^~~~~~~~~~~~~~~~
  69928. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  69929. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69930. 122 | ktime_get_raw_ts64(&ts);
  69931. | ^~~
  69932. | |
  69933. | struct timespec64 *
  69934. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  69935. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  69936. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  69937. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  69938. from ././common/inc/nv-time.h:30:
  69939. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69940. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69941. | ~~~~~~~~~~~~~~~~~~~^~
  69942. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  69943. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69944. 185 | ktime_get_raw_ts64(&tm_aux);
  69945. | ^~~~~~~
  69946. | |
  69947. | struct timespec64 *
  69948. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69949. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69950. | ~~~~~~~~~~~~~~~~~~~^~
  69951. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69952. 221 | ktime_get_raw_ts64(&tm_aux);
  69953. | ^~~~~~~
  69954. | |
  69955. | struct timespec64 *
  69956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69957. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  69958. | ~~~~~~~~~~~~~~~~~~~^~
  69959. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  69960. 40 | struct timespec64 {
  69961. | ^~~~~~~~~~
  69962. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  69963. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  69964. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  69965. from ././common/inc/nv-time.h:29:
  69966. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  69967. 13 | struct timespec64 {
  69968. | ^~~~~~~~~~
  69969. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69970. 77 | static inline struct timespec64 timespec64_add
  69971. | ^~~~~~~~~~~~~~
  69972. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69973. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  69974. | ^~~~~~~~~~~~~~
  69975. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  69976. 95 | static inline struct timespec64 timespec64_sub
  69977. | ^~~~~~~~~~~~~~
  69978. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  69979. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  69980. | ^~~~~~~~~~~~~~
  69981. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  69982. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  69983. | ^~~~~~~~~~~~~~~~
  69984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  69985. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  69986. | ^~~~~~~~~~~~~~~~
  69987. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  69988. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  69989. 122 | ktime_get_raw_ts64(&ts);
  69990. | ^~~
  69991. | |
  69992. | struct timespec64 *
  69993. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  69994. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  69995. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  69996. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  69997. from ././common/inc/nv-time.h:30:
  69998. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  69999. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70000. | ~~~~~~~~~~~~~~~~~~~^~
  70001. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  70002. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70003. 185 | ktime_get_raw_ts64(&tm_aux);
  70004. | ^~~~~~~
  70005. | |
  70006. | struct timespec64 *
  70007. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70008. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70009. | ~~~~~~~~~~~~~~~~~~~^~
  70010. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  70011. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  70012. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  70013. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  70014. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  70015. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  70016. | ^
  70017. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  70018. 573 | NV_MEMDBG_ADD(ptr, size);
  70019. | ^
  70020. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70021. 221 | ktime_get_raw_ts64(&tm_aux);
  70022. | ^~~~~~~
  70023. | |
  70024. | struct timespec64 *
  70025. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70026. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70027. | ~~~~~~~~~~~~~~~~~~~^~
  70028. ././common/inc/nv-linux.h: In function 'nv_vmap':
  70029. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  70030. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  70031. | ^
  70032. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  70033. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  70034. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  70035. | ^~~~~~~~~~~~~
  70036. | d_is_dir
  70037. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  70038. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  70039. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  70040. | ^~~~~~~~~~~~~~~~~~~~~~~
  70041. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  70042. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  70043. 520 | NV_MEMDBG_ADD(ptr, size);
  70044. | ^
  70045. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  70046. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  70047. 736 | return phys_to_dma(dev, pa);
  70048. | ^~~~~~~~~~~
  70049. | nv_phys_to_dma
  70050. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  70051. 40 | struct timespec64 {
  70052. | ^~~~~~~~~~
  70053. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  70054. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  70055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  70056. from ././common/inc/nv-time.h:29:
  70057. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  70058. 13 | struct timespec64 {
  70059. | ^~~~~~~~~~
  70060. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70061. 77 | static inline struct timespec64 timespec64_add
  70062. | ^~~~~~~~~~~~~~
  70063. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70064. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  70065. | ^~~~~~~~~~~~~~
  70066. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70067. 95 | static inline struct timespec64 timespec64_sub
  70068. | ^~~~~~~~~~~~~~
  70069. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70070. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  70071. | ^~~~~~~~~~~~~~
  70072. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  70073. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  70074. | ^~~~~~~~~~~~~~~~
  70075. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  70076. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  70077. | ^~~~~~~~~~~~~~~~
  70078. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  70079. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70080. 122 | ktime_get_raw_ts64(&ts);
  70081. | ^~~
  70082. | |
  70083. | struct timespec64 *
  70084. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  70085. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  70086. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  70087. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  70088. from ././common/inc/nv-time.h:30:
  70089. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70090. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70091. | ~~~~~~~~~~~~~~~~~~~^~
  70092. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  70093. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70094. 185 | ktime_get_raw_ts64(&tm_aux);
  70095. | ^~~~~~~
  70096. | |
  70097. | struct timespec64 *
  70098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70099. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70100. | ~~~~~~~~~~~~~~~~~~~^~
  70101. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70102. 221 | ktime_get_raw_ts64(&tm_aux);
  70103. | ^~~~~~~
  70104. | |
  70105. | struct timespec64 *
  70106. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70107. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70108. | ~~~~~~~~~~~~~~~~~~~^~
  70109. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  70110. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70111. 287 | ktime_get_raw_ts64(&tm);
  70112. | ^~~
  70113. | |
  70114. | struct timespec64 *
  70115. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70116. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70117. | ~~~~~~~~~~~~~~~~~~~^~
  70118. nvidia-uvm/uvm_linux.h: At top level:
  70119. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70120. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  70121. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70122. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70123. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  70124. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70125. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  70126. 449 | #error "Unknown number of arguments"
  70127. | ^~~~~
  70128. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70129. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  70130. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70131. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70132. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  70133. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70134. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  70135. 485 | #error "Unknown number of arguments"
  70136. | ^~~~~
  70137. cc1: some warnings being treated as errors
  70138. cc1: some warnings being treated as errors
  70139. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  70140. 40 | struct timespec64 {
  70141. | ^~~~~~~~~~
  70142. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  70143. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  70144. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  70145. from ././common/inc/nv-time.h:29:
  70146. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  70147. 13 | struct timespec64 {
  70148. | ^~~~~~~~~~
  70149. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70150. 77 | static inline struct timespec64 timespec64_add
  70151. | ^~~~~~~~~~~~~~
  70152. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70153. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  70154. | ^~~~~~~~~~~~~~
  70155. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70156. 95 | static inline struct timespec64 timespec64_sub
  70157. | ^~~~~~~~~~~~~~
  70158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70159. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  70160. | ^~~~~~~~~~~~~~
  70161. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  70162. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  70163. | ^~~~~~~~~~~~~~~~
  70164. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  70165. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  70166. | ^~~~~~~~~~~~~~~~
  70167. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  70168. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70169. 122 | ktime_get_raw_ts64(&ts);
  70170. | ^~~
  70171. | |
  70172. | struct timespec64 *
  70173. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  70174. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  70175. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  70176. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  70177. from ././common/inc/nv-time.h:30:
  70178. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70179. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70180. | ~~~~~~~~~~~~~~~~~~~^~
  70181. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  70182. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70183. 185 | ktime_get_raw_ts64(&tm_aux);
  70184. | ^~~~~~~
  70185. | |
  70186. | struct timespec64 *
  70187. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70188. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70189. | ~~~~~~~~~~~~~~~~~~~^~
  70190. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_ce.o] Error 1
  70191. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70192. 221 | ktime_get_raw_ts64(&tm_aux);
  70193. | ^~~~~~~
  70194. | |
  70195. | struct timespec64 *
  70196. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70197. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70198. | ~~~~~~~~~~~~~~~~~~~^~
  70199. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_host.o] Error 1
  70200. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  70201. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  70202. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  70203. | ^~~~~~~~~~~~~
  70204. | d_is_dir
  70205. CC [M] nvidia-uvm/uvm_hopper_ce.o
  70206. CC [M] nvidia-uvm/uvm_hopper_host.o
  70207. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  70208. 40 | struct timespec64 {
  70209. | ^~~~~~~~~~
  70210. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  70211. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  70212. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  70213. from ././common/inc/nv-time.h:29:
  70214. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  70215. 13 | struct timespec64 {
  70216. | ^~~~~~~~~~
  70217. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70218. 77 | static inline struct timespec64 timespec64_add
  70219. | ^~~~~~~~~~~~~~
  70220. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70221. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  70222. | ^~~~~~~~~~~~~~
  70223. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70224. 95 | static inline struct timespec64 timespec64_sub
  70225. | ^~~~~~~~~~~~~~
  70226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70227. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  70228. | ^~~~~~~~~~~~~~
  70229. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  70230. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  70231. | ^~~~~~~~~~~~~~~~
  70232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  70233. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  70234. | ^~~~~~~~~~~~~~~~
  70235. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  70236. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70237. 122 | ktime_get_raw_ts64(&ts);
  70238. | ^~~
  70239. | |
  70240. | struct timespec64 *
  70241. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  70242. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  70243. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  70244. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  70245. from ././common/inc/nv-time.h:30:
  70246. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70247. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70248. | ~~~~~~~~~~~~~~~~~~~^~
  70249. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  70250. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70251. 185 | ktime_get_raw_ts64(&tm_aux);
  70252. | ^~~~~~~
  70253. | |
  70254. | struct timespec64 *
  70255. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70256. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70257. | ~~~~~~~~~~~~~~~~~~~^~
  70258. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70259. 221 | ktime_get_raw_ts64(&tm_aux);
  70260. | ^~~~~~~
  70261. | |
  70262. | struct timespec64 *
  70263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70264. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70265. | ~~~~~~~~~~~~~~~~~~~^~
  70266. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  70267. 40 | struct timespec64 {
  70268. | ^~~~~~~~~~
  70269. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  70270. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  70271. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  70272. from ././common/inc/nv-time.h:29:
  70273. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  70274. 13 | struct timespec64 {
  70275. | ^~~~~~~~~~
  70276. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70277. 77 | static inline struct timespec64 timespec64_add
  70278. | ^~~~~~~~~~~~~~
  70279. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70280. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  70281. | ^~~~~~~~~~~~~~
  70282. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70283. 95 | static inline struct timespec64 timespec64_sub
  70284. | ^~~~~~~~~~~~~~
  70285. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70286. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  70287. | ^~~~~~~~~~~~~~
  70288. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  70289. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  70290. | ^~~~~~~~~~~~~~~~
  70291. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  70292. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  70293. | ^~~~~~~~~~~~~~~~
  70294. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  70295. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70296. 122 | ktime_get_raw_ts64(&ts);
  70297. | ^~~
  70298. | |
  70299. | struct timespec64 *
  70300. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  70301. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  70302. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  70303. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  70304. from ././common/inc/nv-time.h:30:
  70305. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70306. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70307. | ~~~~~~~~~~~~~~~~~~~^~
  70308. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  70309. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70310. 185 | ktime_get_raw_ts64(&tm_aux);
  70311. | ^~~~~~~
  70312. | |
  70313. | struct timespec64 *
  70314. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70315. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70316. | ~~~~~~~~~~~~~~~~~~~^~
  70317. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70318. 221 | ktime_get_raw_ts64(&tm_aux);
  70319. | ^~~~~~~
  70320. | |
  70321. | struct timespec64 *
  70322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70323. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70324. | ~~~~~~~~~~~~~~~~~~~^~
  70325. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  70326. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  70327. 533 | ptr = ioremap_cache_shared(phys, size);
  70328. | ^~~~~~~~~~~~~~~~~~~~
  70329. | ioremap_cache
  70330. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  70331. 533 | ptr = ioremap_cache_shared(phys, size);
  70332. | ^
  70333. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  70334. 556 | NV_MEMDBG_ADD(ptr, size);
  70335. | ^
  70336. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  70337. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70338. 287 | ktime_get_raw_ts64(&tm);
  70339. | ^~~
  70340. | |
  70341. | struct timespec64 *
  70342. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70343. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70344. | ~~~~~~~~~~~~~~~~~~~^~
  70345. nvidia-uvm/uvm_linux.h: At top level:
  70346. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70347. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  70348. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70349. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70350. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  70351. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70352. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  70353. 449 | #error "Unknown number of arguments"
  70354. | ^~~~~
  70355. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70356. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  70357. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70358. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70359. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  70360. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70361. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  70362. 485 | #error "Unknown number of arguments"
  70363. | ^~~~~
  70364. In file included from ././common/inc/nv-linux.h:34,
  70365. from nvidia-uvm/uvm_linux.h:40:
  70366. ././common/inc/nv-mm.h: At top level:
  70367. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  70368. 29 | typedef int vm_fault_t;
  70369. | ^~~~~~~~~~
  70370. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  70371. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  70372. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  70373. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  70374. from ././common/inc/nv-lock.h:35,
  70375. from ././common/inc/nv-linux.h:32:
  70376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  70377. 1311 | typedef __bitwise unsigned int vm_fault_t;
  70378. | ^~~~~~~~~~
  70379. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  70380. from ././common/inc/nv-time.h:28:
  70381. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  70382. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70383. 52 | #define current get_current()
  70384. | ^~~~~~~~~~~~~
  70385. | |
  70386. | struct task_struct *
  70387. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  70388. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70389. | ^~~~~~~
  70390. In file included from ././common/inc/nv-pgprot.h:30,
  70391. from ././common/inc/nv-linux.h:33:
  70392. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  70393. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70394. | ~~~~~~~~~~~~~~^~~~~
  70395. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70396. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70397. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  70398. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70399. | ~~~~~~~~~~~~~~^~~~~~~~
  70400. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  70401. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70402. | ^~~~~~~~
  70403. | |
  70404. | long unsigned int
  70405. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  70406. 2535 | unsigned int gup_flags, struct page **pages);
  70407. | ~~~~~~~~~~~~~~^~~~~
  70408. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  70409. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70410. | ^~~~~~~~~~~~~~ ~~~~~
  70411. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  70412. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70413. | ^~~~~~~~~~~~~~
  70414. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  70415. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  70416. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  70417. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  70418. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  70419. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  70420. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70421. 8 | #define NULL ((void *)0)
  70422. | ^~~~~~~~~~~
  70423. | |
  70424. | void *
  70425. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  70426. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70427. | ^~~~
  70428. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  70429. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70430. | ~~~~~~~~~~~~~~^~~~~
  70431. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70432. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70433. | ^~
  70434. | |
  70435. | struct mm_struct *
  70436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  70437. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70438. | ~~~~~~~~~~~~~~^~~~~~~~
  70439. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  70440. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70441. | ^~~~~~~~
  70442. | |
  70443. | long unsigned int
  70444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  70445. 2535 | unsigned int gup_flags, struct page **pages);
  70446. | ~~~~~~~~~~~~~~^~~~~
  70447. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  70448. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70449. | ^~~~~~~~~~~~~~ ~~~~~
  70450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  70451. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70452. | ^~~~~~~~~~~~~~
  70453. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  70454. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  70455. 237 | return (unsigned long)(vmf->virtual_address);
  70456. | ^~~~~~~~~~~~~~~
  70457. | real_address
  70458. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  70459. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70460. 246 | down_read(&mm->mmap_sem);
  70461. | ^~~~~~~~
  70462. | mmap_base
  70463. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  70464. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70465. 255 | up_read(&mm->mmap_sem);
  70466. | ^~~~~~~~
  70467. | mmap_base
  70468. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  70469. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70470. 264 | down_write(&mm->mmap_sem);
  70471. | ^~~~~~~~
  70472. | mmap_base
  70473. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  70474. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70475. 273 | up_write(&mm->mmap_sem);
  70476. | ^~~~~~~~
  70477. | mmap_base
  70478. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  70479. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70480. 282 | return rwsem_is_locked(&mm->mmap_sem);
  70481. | ^~~~~~~~
  70482. | mmap_base
  70483. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  70484. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70485. 291 | return &mm->mmap_sem;
  70486. | ^~~~~~~~
  70487. | mmap_base
  70488. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  70489. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  70490. 300 | vma->vm_flags |= flags;
  70491. | ^~
  70492. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  70493. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  70494. 309 | vma->vm_flags &= ~flags;
  70495. | ^~
  70496. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  70497. 40 | struct timespec64 {
  70498. | ^~~~~~~~~~
  70499. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  70500. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  70501. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  70502. from ././common/inc/nv-time.h:29:
  70503. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  70504. 13 | struct timespec64 {
  70505. | ^~~~~~~~~~
  70506. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70507. 77 | static inline struct timespec64 timespec64_add
  70508. | ^~~~~~~~~~~~~~
  70509. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70510. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  70511. | ^~~~~~~~~~~~~~
  70512. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70513. 95 | static inline struct timespec64 timespec64_sub
  70514. | ^~~~~~~~~~~~~~
  70515. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70516. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  70517. | ^~~~~~~~~~~~~~
  70518. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  70519. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  70520. | ^~~~~~~~~~~~~~~~
  70521. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  70522. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  70523. | ^~~~~~~~~~~~~~~~
  70524. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  70525. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70526. 122 | ktime_get_raw_ts64(&ts);
  70527. | ^~~
  70528. | |
  70529. | struct timespec64 *
  70530. In file included from ././common/inc/conftest.h:28,
  70531. from ././common/inc/nv-time.h:27,
  70532. from nvidia-uvm/uvm_linux.h:37,
  70533. from nvidia-uvm/uvm_common.h:43,
  70534. from nvidia-uvm/uvm_hal.h:28,
  70535. from nvidia-uvm/uvm_hopper_host.c:24:
  70536. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  70537. 74 | #error dma_buf_export() conftest failed!
  70538. | ^~~~~
  70539. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  70540. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  70541. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  70542. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  70543. from ././common/inc/nv-time.h:30:
  70544. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70545. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70546. | ~~~~~~~~~~~~~~~~~~~^~
  70547. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  70548. 87 | #error wait_on_bit_lock() conftest failed!
  70549. | ^~~~~
  70550. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  70551. 90 | #error radix_tree_replace_slot() conftest failed!
  70552. | ^~~~~
  70553. In file included from ././common/inc/conftest.h:28,
  70554. from ././common/inc/nv-time.h:27,
  70555. from nvidia-uvm/uvm_linux.h:37,
  70556. from nvidia-uvm/uvm_common.h:43,
  70557. from nvidia-uvm/uvm_hal.h:28,
  70558. from nvidia-uvm/uvm_hopper_ce.c:24:
  70559. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  70560. 74 | #error dma_buf_export() conftest failed!
  70561. | ^~~~~
  70562. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  70563. 87 | #error wait_on_bit_lock() conftest failed!
  70564. | ^~~~~
  70565. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  70566. 90 | #error radix_tree_replace_slot() conftest failed!
  70567. | ^~~~~
  70568. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  70569. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70570. 185 | ktime_get_raw_ts64(&tm_aux);
  70571. | ^~~~~~~
  70572. | |
  70573. | struct timespec64 *
  70574. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70575. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70576. | ~~~~~~~~~~~~~~~~~~~^~
  70577. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70578. 221 | ktime_get_raw_ts64(&tm_aux);
  70579. | ^~~~~~~
  70580. | |
  70581. | struct timespec64 *
  70582. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70583. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70584. | ~~~~~~~~~~~~~~~~~~~^~
  70585. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  70586. from nvidia-uvm/uvm_channel.h:29,
  70587. from nvidia-uvm/uvm_push.h:29,
  70588. from nvidia-uvm/uvm_hal.h:31:
  70589. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  70590. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  70591. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  70592. | ^~~~~~~~~~~~~~~~~~~~
  70593. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  70594. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  70595. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  70596. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  70597. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  70598. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  70599. | ^
  70600. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  70601. 573 | NV_MEMDBG_ADD(ptr, size);
  70602. | ^
  70603. ././common/inc/nv-linux.h: In function 'nv_vmap':
  70604. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  70605. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  70606. | ^
  70607. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  70608. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  70609. 736 | return phys_to_dma(dev, pa);
  70610. | ^~~~~~~~~~~
  70611. | nv_phys_to_dma
  70612. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  70613. from nvidia-uvm/uvm_gpu.h:37,
  70614. from nvidia-uvm/uvm_global.h:32,
  70615. from nvidia-uvm/uvm_volta_fault_buffer.c:25:
  70616. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  70617. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  70618. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  70619. | ^~~~~~~~~~~~~~~~~~~~
  70620. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  70621. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  70622. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  70623. | ^~~~~~~~~~~~~
  70624. | d_is_dir
  70625. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  70626. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70627. 287 | ktime_get_raw_ts64(&tm);
  70628. | ^~~
  70629. | |
  70630. | struct timespec64 *
  70631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70632. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70633. | ~~~~~~~~~~~~~~~~~~~^~
  70634. nvidia-uvm/uvm_linux.h: At top level:
  70635. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70636. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  70637. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70638. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70639. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  70640. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70641. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  70642. 449 | #error "Unknown number of arguments"
  70643. | ^~~~~
  70644. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70645. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  70646. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70647. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  70648. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  70649. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70650. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  70651. 485 | #error "Unknown number of arguments"
  70652. | ^~~~~
  70653. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  70654. 40 | struct timespec64 {
  70655. | ^~~~~~~~~~
  70656. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  70657. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  70658. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  70659. from ././common/inc/nv-time.h:29:
  70660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  70661. 13 | struct timespec64 {
  70662. | ^~~~~~~~~~
  70663. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70664. 77 | static inline struct timespec64 timespec64_add
  70665. | ^~~~~~~~~~~~~~
  70666. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70667. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  70668. | ^~~~~~~~~~~~~~
  70669. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  70670. 95 | static inline struct timespec64 timespec64_sub
  70671. | ^~~~~~~~~~~~~~
  70672. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  70673. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  70674. | ^~~~~~~~~~~~~~
  70675. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  70676. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  70677. | ^~~~~~~~~~~~~~~~
  70678. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  70679. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  70680. | ^~~~~~~~~~~~~~~~
  70681. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  70682. cc1: some warnings being treated as errors
  70683. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70684. 122 | ktime_get_raw_ts64(&ts);
  70685. | ^~~
  70686. | |
  70687. | struct timespec64 *
  70688. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  70689. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  70690. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  70691. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  70692. from ././common/inc/nv-time.h:30:
  70693. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70694. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70695. | ~~~~~~~~~~~~~~~~~~~^~
  70696. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  70697. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70698. 185 | ktime_get_raw_ts64(&tm_aux);
  70699. | ^~~~~~~
  70700. | |
  70701. | struct timespec64 *
  70702. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70703. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70704. | ~~~~~~~~~~~~~~~~~~~^~
  70705. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  70706. 221 | ktime_get_raw_ts64(&tm_aux);
  70707. | ^~~~~~~
  70708. | |
  70709. | struct timespec64 *
  70710. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  70711. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  70712. | ~~~~~~~~~~~~~~~~~~~^~
  70713. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta.o] Error 1
  70714. CC [M] nvidia-uvm/uvm_hopper_mmu.o
  70715. In file included from ././common/inc/conftest.h:28,
  70716. from ././common/inc/nv-time.h:27,
  70717. from nvidia-uvm/uvm_linux.h:37,
  70718. from nvidia-uvm/uvm_extern_decl.h:27,
  70719. from nvidia-uvm/uvm_global.h:28,
  70720. from nvidia-uvm/uvm_hopper_mmu.c:35:
  70721. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  70722. 74 | #error dma_buf_export() conftest failed!
  70723. | ^~~~~
  70724. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  70725. 87 | #error wait_on_bit_lock() conftest failed!
  70726. | ^~~~~
  70727. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  70728. 90 | #error radix_tree_replace_slot() conftest failed!
  70729. | ^~~~~
  70730. cc1: some warnings being treated as errors
  70731. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_fault_buffer.o] Error 1
  70732. CC [M] nvidia-uvm/uvm_ada.o
  70733. In file included from ././common/inc/nv-linux.h:34,
  70734. from nvidia-uvm/uvm_linux.h:40:
  70735. ././common/inc/nv-mm.h: At top level:
  70736. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  70737. 29 | typedef int vm_fault_t;
  70738. | ^~~~~~~~~~
  70739. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  70740. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  70741. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  70742. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  70743. from ././common/inc/nv-lock.h:35,
  70744. from ././common/inc/nv-linux.h:32:
  70745. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  70746. 1311 | typedef __bitwise unsigned int vm_fault_t;
  70747. | ^~~~~~~~~~
  70748. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  70749. from ././common/inc/nv-time.h:28:
  70750. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  70751. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70752. 52 | #define current get_current()
  70753. | ^~~~~~~~~~~~~
  70754. | |
  70755. | struct task_struct *
  70756. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  70757. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70758. | ^~~~~~~
  70759. In file included from ././common/inc/nv-pgprot.h:30,
  70760. from ././common/inc/nv-linux.h:33:
  70761. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  70762. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70763. | ~~~~~~~~~~~~~~^~~~~
  70764. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70765. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70766. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  70767. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70768. | ~~~~~~~~~~~~~~^~~~~~~~
  70769. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  70770. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70771. | ^~~~~~~~
  70772. | |
  70773. | long unsigned int
  70774. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  70775. 2535 | unsigned int gup_flags, struct page **pages);
  70776. | ~~~~~~~~~~~~~~^~~~~
  70777. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  70778. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70779. | ^~~~~~~~~~~~~~ ~~~~~
  70780. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  70781. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70782. | ^~~~~~~~~~~~~~
  70783. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  70784. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  70785. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  70786. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  70787. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  70788. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  70789. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70790. 8 | #define NULL ((void *)0)
  70791. | ^~~~~~~~~~~
  70792. | |
  70793. | void *
  70794. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  70795. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70796. | ^~~~
  70797. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  70798. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70799. | ~~~~~~~~~~~~~~^~~~~
  70800. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70801. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70802. | ^~
  70803. | |
  70804. | struct mm_struct *
  70805. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  70806. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70807. | ~~~~~~~~~~~~~~^~~~~~~~
  70808. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  70809. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70810. | ^~~~~~~~
  70811. | |
  70812. | long unsigned int
  70813. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  70814. 2535 | unsigned int gup_flags, struct page **pages);
  70815. | ~~~~~~~~~~~~~~^~~~~
  70816. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  70817. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70818. | ^~~~~~~~~~~~~~ ~~~~~
  70819. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  70820. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70821. | ^~~~~~~~~~~~~~
  70822. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  70823. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  70824. 237 | return (unsigned long)(vmf->virtual_address);
  70825. | ^~~~~~~~~~~~~~~
  70826. | real_address
  70827. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  70828. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70829. 246 | down_read(&mm->mmap_sem);
  70830. | ^~~~~~~~
  70831. | mmap_base
  70832. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  70833. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70834. 255 | up_read(&mm->mmap_sem);
  70835. | ^~~~~~~~
  70836. | mmap_base
  70837. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  70838. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70839. 264 | down_write(&mm->mmap_sem);
  70840. | ^~~~~~~~
  70841. | mmap_base
  70842. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  70843. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70844. 273 | up_write(&mm->mmap_sem);
  70845. | ^~~~~~~~
  70846. | mmap_base
  70847. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  70848. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70849. 282 | return rwsem_is_locked(&mm->mmap_sem);
  70850. | ^~~~~~~~
  70851. | mmap_base
  70852. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  70853. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70854. 291 | return &mm->mmap_sem;
  70855. | ^~~~~~~~
  70856. | mmap_base
  70857. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  70858. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  70859. 300 | vma->vm_flags |= flags;
  70860. | ^~
  70861. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  70862. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  70863. 309 | vma->vm_flags &= ~flags;
  70864. | ^~
  70865. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  70866. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  70867. 502 | NV_MEMDBG_ADD(ptr, size);
  70868. | ^
  70869. In file included from ././common/inc/nv-linux.h:34,
  70870. from nvidia-uvm/uvm_linux.h:40:
  70871. ././common/inc/nv-mm.h: At top level:
  70872. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  70873. 29 | typedef int vm_fault_t;
  70874. | ^~~~~~~~~~
  70875. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  70876. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  70877. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  70878. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  70879. from ././common/inc/nv-lock.h:35,
  70880. from ././common/inc/nv-linux.h:32:
  70881. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  70882. 1311 | typedef __bitwise unsigned int vm_fault_t;
  70883. | ^~~~~~~~~~
  70884. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  70885. from ././common/inc/nv-time.h:28:
  70886. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  70887. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70888. 52 | #define current get_current()
  70889. | ^~~~~~~~~~~~~
  70890. | |
  70891. | struct task_struct *
  70892. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  70893. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70894. | ^~~~~~~
  70895. In file included from ././common/inc/nv-pgprot.h:30,
  70896. from ././common/inc/nv-linux.h:33:
  70897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  70898. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70899. | ~~~~~~~~~~~~~~^~~~~
  70900. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70901. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70902. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  70903. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70904. | ~~~~~~~~~~~~~~^~~~~~~~
  70905. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  70906. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70907. | ^~~~~~~~
  70908. | |
  70909. | long unsigned int
  70910. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  70911. 2535 | unsigned int gup_flags, struct page **pages);
  70912. | ~~~~~~~~~~~~~~^~~~~
  70913. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  70914. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  70915. | ^~~~~~~~~~~~~~ ~~~~~
  70916. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  70917. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70918. | ^~~~~~~~~~~~~~
  70919. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  70920. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  70921. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  70922. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  70923. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  70924. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  70925. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70926. 8 | #define NULL ((void *)0)
  70927. | ^~~~~~~~~~~
  70928. | |
  70929. | void *
  70930. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  70931. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70932. | ^~~~
  70933. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  70934. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70935. | ~~~~~~~~~~~~~~^~~~~
  70936. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  70937. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70938. | ^~
  70939. | |
  70940. | struct mm_struct *
  70941. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  70942. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70943. | ~~~~~~~~~~~~~~^~~~~~~~
  70944. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  70945. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70946. | ^~~~~~~~
  70947. | |
  70948. | long unsigned int
  70949. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  70950. 2535 | unsigned int gup_flags, struct page **pages);
  70951. | ~~~~~~~~~~~~~~^~~~~
  70952. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  70953. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  70954. | ^~~~~~~~~~~~~~ ~~~~~
  70955. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  70956. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  70957. | ^~~~~~~~~~~~~~
  70958. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  70959. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  70960. 237 | return (unsigned long)(vmf->virtual_address);
  70961. | ^~~~~~~~~~~~~~~
  70962. | real_address
  70963. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  70964. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70965. 246 | down_read(&mm->mmap_sem);
  70966. | ^~~~~~~~
  70967. | mmap_base
  70968. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  70969. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70970. 255 | up_read(&mm->mmap_sem);
  70971. | ^~~~~~~~
  70972. | mmap_base
  70973. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  70974. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70975. 264 | down_write(&mm->mmap_sem);
  70976. | ^~~~~~~~
  70977. | mmap_base
  70978. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  70979. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70980. 273 | up_write(&mm->mmap_sem);
  70981. | ^~~~~~~~
  70982. | mmap_base
  70983. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  70984. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70985. 282 | return rwsem_is_locked(&mm->mmap_sem);
  70986. | ^~~~~~~~
  70987. | mmap_base
  70988. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  70989. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  70990. 291 | return &mm->mmap_sem;
  70991. | ^~~~~~~~
  70992. | mmap_base
  70993. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  70994. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  70995. 300 | vma->vm_flags |= flags;
  70996. | ^~
  70997. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  70998. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  70999. 309 | vma->vm_flags &= ~flags;
  71000. | ^~
  71001. In file included from ././common/inc/nv-linux.h:34,
  71002. from nvidia-uvm/uvm_linux.h:40:
  71003. ././common/inc/nv-mm.h: At top level:
  71004. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  71005. 29 | typedef int vm_fault_t;
  71006. | ^~~~~~~~~~
  71007. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  71008. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  71009. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  71010. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  71011. from ././common/inc/nv-lock.h:35,
  71012. from ././common/inc/nv-linux.h:32:
  71013. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  71014. 1311 | typedef __bitwise unsigned int vm_fault_t;
  71015. | ^~~~~~~~~~
  71016. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  71017. from ././common/inc/nv-time.h:28:
  71018. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  71019. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71020. 52 | #define current get_current()
  71021. | ^~~~~~~~~~~~~
  71022. | |
  71023. | struct task_struct *
  71024. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  71025. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71026. | ^~~~~~~
  71027. In file included from ././common/inc/nv-pgprot.h:30,
  71028. from ././common/inc/nv-linux.h:33:
  71029. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  71030. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71031. | ~~~~~~~~~~~~~~^~~~~
  71032. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71033. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71035. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71036. | ~~~~~~~~~~~~~~^~~~~~~~
  71037. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71038. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71039. | ^~~~~~~~
  71040. | |
  71041. | long unsigned int
  71042. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71043. 2535 | unsigned int gup_flags, struct page **pages);
  71044. | ~~~~~~~~~~~~~~^~~~~
  71045. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71046. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71047. | ^~~~~~~~~~~~~~ ~~~~~
  71048. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71049. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71050. | ^~~~~~~~~~~~~~
  71051. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  71052. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  71053. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  71054. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  71055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  71056. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  71057. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71058. 8 | #define NULL ((void *)0)
  71059. | ^~~~~~~~~~~
  71060. | |
  71061. | void *
  71062. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  71063. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71064. | ^~~~
  71065. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  71066. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71067. | ~~~~~~~~~~~~~~^~~~~
  71068. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71069. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71070. | ^~
  71071. | |
  71072. | struct mm_struct *
  71073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71074. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71075. | ~~~~~~~~~~~~~~^~~~~~~~
  71076. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71077. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71078. | ^~~~~~~~
  71079. | |
  71080. | long unsigned int
  71081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71082. 2535 | unsigned int gup_flags, struct page **pages);
  71083. | ~~~~~~~~~~~~~~^~~~~
  71084. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71085. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71086. | ^~~~~~~~~~~~~~ ~~~~~
  71087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71088. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71089. | ^~~~~~~~~~~~~~
  71090. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  71091. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  71092. 237 | return (unsigned long)(vmf->virtual_address);
  71093. | ^~~~~~~~~~~~~~~
  71094. | real_address
  71095. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  71096. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71097. 246 | down_read(&mm->mmap_sem);
  71098. | ^~~~~~~~
  71099. | mmap_base
  71100. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  71101. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71102. 255 | up_read(&mm->mmap_sem);
  71103. | ^~~~~~~~
  71104. | mmap_base
  71105. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  71106. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71107. 264 | down_write(&mm->mmap_sem);
  71108. | ^~~~~~~~
  71109. | mmap_base
  71110. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  71111. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71112. 273 | up_write(&mm->mmap_sem);
  71113. | ^~~~~~~~
  71114. | mmap_base
  71115. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  71116. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71117. 282 | return rwsem_is_locked(&mm->mmap_sem);
  71118. | ^~~~~~~~
  71119. | mmap_base
  71120. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  71121. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71122. 291 | return &mm->mmap_sem;
  71123. | ^~~~~~~~
  71124. | mmap_base
  71125. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  71126. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  71127. 300 | vma->vm_flags |= flags;
  71128. | ^~
  71129. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  71130. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  71131. 309 | vma->vm_flags &= ~flags;
  71132. | ^~
  71133. In file included from ././common/inc/conftest.h:28,
  71134. from ././common/inc/nv-time.h:27,
  71135. from nvidia-uvm/uvm_linux.h:37,
  71136. from nvidia-uvm/uvm_extern_decl.h:27,
  71137. from nvidia-uvm/uvm_global.h:28,
  71138. from nvidia-uvm/uvm_ada.c:24:
  71139. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  71140. 74 | #error dma_buf_export() conftest failed!
  71141. | ^~~~~
  71142. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  71143. 87 | #error wait_on_bit_lock() conftest failed!
  71144. | ^~~~~
  71145. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  71146. 90 | #error radix_tree_replace_slot() conftest failed!
  71147. | ^~~~~
  71148. In file included from ././common/inc/nv-linux.h:34,
  71149. from nvidia-uvm/uvm_linux.h:40:
  71150. ././common/inc/nv-mm.h: At top level:
  71151. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  71152. 29 | typedef int vm_fault_t;
  71153. | ^~~~~~~~~~
  71154. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  71155. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  71156. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  71157. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  71158. from ././common/inc/nv-lock.h:35,
  71159. from ././common/inc/nv-linux.h:32:
  71160. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  71161. 1311 | typedef __bitwise unsigned int vm_fault_t;
  71162. | ^~~~~~~~~~
  71163. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  71164. from ././common/inc/nv-time.h:28:
  71165. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  71166. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71167. 52 | #define current get_current()
  71168. | ^~~~~~~~~~~~~
  71169. | |
  71170. | struct task_struct *
  71171. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  71172. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71173. | ^~~~~~~
  71174. In file included from ././common/inc/nv-pgprot.h:30,
  71175. from ././common/inc/nv-linux.h:33:
  71176. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  71177. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71178. | ~~~~~~~~~~~~~~^~~~~
  71179. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71180. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71181. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71182. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71183. | ~~~~~~~~~~~~~~^~~~~~~~
  71184. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71185. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71186. | ^~~~~~~~
  71187. | |
  71188. | long unsigned int
  71189. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71190. 2535 | unsigned int gup_flags, struct page **pages);
  71191. | ~~~~~~~~~~~~~~^~~~~
  71192. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71193. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71194. | ^~~~~~~~~~~~~~ ~~~~~
  71195. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71196. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71197. | ^~~~~~~~~~~~~~
  71198. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  71199. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  71200. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  71201. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  71202. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  71203. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  71204. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71205. 8 | #define NULL ((void *)0)
  71206. | ^~~~~~~~~~~
  71207. | |
  71208. | void *
  71209. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  71210. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71211. | ^~~~
  71212. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  71213. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71214. | ~~~~~~~~~~~~~~^~~~~
  71215. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71216. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71217. | ^~
  71218. | |
  71219. | struct mm_struct *
  71220. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71221. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71222. | ~~~~~~~~~~~~~~^~~~~~~~
  71223. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71224. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71225. | ^~~~~~~~
  71226. | |
  71227. | long unsigned int
  71228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71229. 2535 | unsigned int gup_flags, struct page **pages);
  71230. | ~~~~~~~~~~~~~~^~~~~
  71231. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71232. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71233. | ^~~~~~~~~~~~~~ ~~~~~
  71234. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71235. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71236. | ^~~~~~~~~~~~~~
  71237. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  71238. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  71239. 237 | return (unsigned long)(vmf->virtual_address);
  71240. | ^~~~~~~~~~~~~~~
  71241. | real_address
  71242. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  71243. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71244. 246 | down_read(&mm->mmap_sem);
  71245. | ^~~~~~~~
  71246. | mmap_base
  71247. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  71248. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71249. 255 | up_read(&mm->mmap_sem);
  71250. | ^~~~~~~~
  71251. | mmap_base
  71252. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  71253. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71254. 264 | down_write(&mm->mmap_sem);
  71255. | ^~~~~~~~
  71256. | mmap_base
  71257. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  71258. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71259. 273 | up_write(&mm->mmap_sem);
  71260. | ^~~~~~~~
  71261. | mmap_base
  71262. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  71263. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71264. 282 | return rwsem_is_locked(&mm->mmap_sem);
  71265. | ^~~~~~~~
  71266. | mmap_base
  71267. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  71268. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71269. 291 | return &mm->mmap_sem;
  71270. | ^~~~~~~~
  71271. | mmap_base
  71272. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  71273. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  71274. 300 | vma->vm_flags |= flags;
  71275. | ^~
  71276. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  71277. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  71278. 309 | vma->vm_flags &= ~flags;
  71279. | ^~
  71280. In file included from ././common/inc/nv-linux.h:34,
  71281. from nvidia-uvm/uvm_linux.h:40:
  71282. ././common/inc/nv-mm.h: At top level:
  71283. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  71284. 29 | typedef int vm_fault_t;
  71285. | ^~~~~~~~~~
  71286. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  71287. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  71288. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  71289. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  71290. from ././common/inc/nv-lock.h:35,
  71291. from ././common/inc/nv-linux.h:32:
  71292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  71293. 1311 | typedef __bitwise unsigned int vm_fault_t;
  71294. | ^~~~~~~~~~
  71295. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  71296. from ././common/inc/nv-time.h:28:
  71297. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  71298. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71299. 52 | #define current get_current()
  71300. | ^~~~~~~~~~~~~
  71301. | |
  71302. | struct task_struct *
  71303. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  71304. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71305. | ^~~~~~~
  71306. In file included from ././common/inc/nv-pgprot.h:30,
  71307. from ././common/inc/nv-linux.h:33:
  71308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  71309. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71310. | ~~~~~~~~~~~~~~^~~~~
  71311. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71312. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71313. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71314. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71315. | ~~~~~~~~~~~~~~^~~~~~~~
  71316. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71317. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71318. | ^~~~~~~~
  71319. | |
  71320. | long unsigned int
  71321. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71322. 2535 | unsigned int gup_flags, struct page **pages);
  71323. | ~~~~~~~~~~~~~~^~~~~
  71324. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71325. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71326. | ^~~~~~~~~~~~~~ ~~~~~
  71327. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71328. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71329. | ^~~~~~~~~~~~~~
  71330. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  71331. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  71332. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  71333. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  71334. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  71335. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  71336. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71337. 8 | #define NULL ((void *)0)
  71338. | ^~~~~~~~~~~
  71339. | |
  71340. | void *
  71341. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  71342. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71343. | ^~~~
  71344. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  71345. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71346. | ~~~~~~~~~~~~~~^~~~~
  71347. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71348. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71349. | ^~
  71350. | |
  71351. | struct mm_struct *
  71352. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71353. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71354. | ~~~~~~~~~~~~~~^~~~~~~~
  71355. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71356. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71357. | ^~~~~~~~
  71358. | |
  71359. | long unsigned int
  71360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71361. 2535 | unsigned int gup_flags, struct page **pages);
  71362. | ~~~~~~~~~~~~~~^~~~~
  71363. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71364. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71365. | ^~~~~~~~~~~~~~ ~~~~~
  71366. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71367. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71368. | ^~~~~~~~~~~~~~
  71369. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  71370. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  71371. 237 | return (unsigned long)(vmf->virtual_address);
  71372. | ^~~~~~~~~~~~~~~
  71373. | real_address
  71374. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  71375. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71376. 246 | down_read(&mm->mmap_sem);
  71377. | ^~~~~~~~
  71378. | mmap_base
  71379. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  71380. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71381. 255 | up_read(&mm->mmap_sem);
  71382. | ^~~~~~~~
  71383. | mmap_base
  71384. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  71385. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71386. 264 | down_write(&mm->mmap_sem);
  71387. | ^~~~~~~~
  71388. | mmap_base
  71389. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  71390. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71391. 273 | up_write(&mm->mmap_sem);
  71392. | ^~~~~~~~
  71393. | mmap_base
  71394. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  71395. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71396. 282 | return rwsem_is_locked(&mm->mmap_sem);
  71397. | ^~~~~~~~
  71398. | mmap_base
  71399. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  71400. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71401. 291 | return &mm->mmap_sem;
  71402. | ^~~~~~~~
  71403. | mmap_base
  71404. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  71405. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  71406. 300 | vma->vm_flags |= flags;
  71407. | ^~
  71408. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  71409. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  71410. 309 | vma->vm_flags &= ~flags;
  71411. | ^~
  71412. In file included from ././common/inc/nv-linux.h:34,
  71413. from nvidia-uvm/uvm_linux.h:40:
  71414. ././common/inc/nv-mm.h: At top level:
  71415. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  71416. 29 | typedef int vm_fault_t;
  71417. | ^~~~~~~~~~
  71418. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  71419. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  71420. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  71421. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  71422. from ././common/inc/nv-lock.h:35,
  71423. from ././common/inc/nv-linux.h:32:
  71424. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  71425. 1311 | typedef __bitwise unsigned int vm_fault_t;
  71426. | ^~~~~~~~~~
  71427. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  71428. from ././common/inc/nv-time.h:28:
  71429. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  71430. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71431. 52 | #define current get_current()
  71432. | ^~~~~~~~~~~~~
  71433. | |
  71434. | struct task_struct *
  71435. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  71436. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71437. | ^~~~~~~
  71438. In file included from ././common/inc/nv-pgprot.h:30,
  71439. from ././common/inc/nv-linux.h:33:
  71440. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  71441. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71442. | ~~~~~~~~~~~~~~^~~~~
  71443. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71444. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71445. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71446. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71447. | ~~~~~~~~~~~~~~^~~~~~~~
  71448. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71449. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71450. | ^~~~~~~~
  71451. | |
  71452. | long unsigned int
  71453. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71454. 2535 | unsigned int gup_flags, struct page **pages);
  71455. | ~~~~~~~~~~~~~~^~~~~
  71456. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71457. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71458. | ^~~~~~~~~~~~~~ ~~~~~
  71459. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71460. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71461. | ^~~~~~~~~~~~~~
  71462. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  71463. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  71464. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  71465. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  71466. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  71467. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  71468. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71469. 8 | #define NULL ((void *)0)
  71470. | ^~~~~~~~~~~
  71471. | |
  71472. | void *
  71473. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  71474. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71475. | ^~~~
  71476. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  71477. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71478. | ~~~~~~~~~~~~~~^~~~~
  71479. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71480. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71481. | ^~
  71482. | |
  71483. | struct mm_struct *
  71484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71485. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71486. | ~~~~~~~~~~~~~~^~~~~~~~
  71487. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71488. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71489. | ^~~~~~~~
  71490. | |
  71491. | long unsigned int
  71492. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71493. 2535 | unsigned int gup_flags, struct page **pages);
  71494. | ~~~~~~~~~~~~~~^~~~~
  71495. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71496. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71497. | ^~~~~~~~~~~~~~ ~~~~~
  71498. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71499. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71500. | ^~~~~~~~~~~~~~
  71501. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  71502. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  71503. 237 | return (unsigned long)(vmf->virtual_address);
  71504. | ^~~~~~~~~~~~~~~
  71505. | real_address
  71506. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  71507. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71508. 246 | down_read(&mm->mmap_sem);
  71509. | ^~~~~~~~
  71510. | mmap_base
  71511. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  71512. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71513. 255 | up_read(&mm->mmap_sem);
  71514. | ^~~~~~~~
  71515. | mmap_base
  71516. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  71517. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71518. 264 | down_write(&mm->mmap_sem);
  71519. | ^~~~~~~~
  71520. | mmap_base
  71521. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  71522. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71523. 273 | up_write(&mm->mmap_sem);
  71524. | ^~~~~~~~
  71525. | mmap_base
  71526. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  71527. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71528. 282 | return rwsem_is_locked(&mm->mmap_sem);
  71529. | ^~~~~~~~
  71530. | mmap_base
  71531. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  71532. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71533. 291 | return &mm->mmap_sem;
  71534. | ^~~~~~~~
  71535. | mmap_base
  71536. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  71537. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  71538. 300 | vma->vm_flags |= flags;
  71539. | ^~
  71540. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  71541. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  71542. 309 | vma->vm_flags &= ~flags;
  71543. | ^~
  71544. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  71545. from nvidia-uvm/uvm_gpu.h:37,
  71546. from nvidia-uvm/uvm_global.h:32,
  71547. from nvidia-uvm/uvm_volta_access_counter_buffer.c:25:
  71548. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  71549. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  71550. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  71551. | ^~~~~~~~~~~~~~~~~~~~
  71552. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  71553. 40 | struct timespec64 {
  71554. | ^~~~~~~~~~
  71555. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  71556. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  71557. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  71558. from ././common/inc/nv-time.h:29:
  71559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  71560. 13 | struct timespec64 {
  71561. | ^~~~~~~~~~
  71562. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  71563. 77 | static inline struct timespec64 timespec64_add
  71564. | ^~~~~~~~~~~~~~
  71565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  71566. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  71567. | ^~~~~~~~~~~~~~
  71568. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  71569. 95 | static inline struct timespec64 timespec64_sub
  71570. | ^~~~~~~~~~~~~~
  71571. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  71572. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  71573. | ^~~~~~~~~~~~~~
  71574. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  71575. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  71576. | ^~~~~~~~~~~~~~~~
  71577. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  71578. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  71579. | ^~~~~~~~~~~~~~~~
  71580. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  71581. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  71582. 122 | ktime_get_raw_ts64(&ts);
  71583. | ^~~
  71584. | |
  71585. | struct timespec64 *
  71586. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  71587. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  71588. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  71589. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  71590. from ././common/inc/nv-time.h:30:
  71591. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  71592. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  71593. | ~~~~~~~~~~~~~~~~~~~^~
  71594. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  71595. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  71596. 185 | ktime_get_raw_ts64(&tm_aux);
  71597. | ^~~~~~~
  71598. | |
  71599. | struct timespec64 *
  71600. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  71601. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  71602. | ~~~~~~~~~~~~~~~~~~~^~
  71603. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  71604. 221 | ktime_get_raw_ts64(&tm_aux);
  71605. | ^~~~~~~
  71606. | |
  71607. | struct timespec64 *
  71608. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  71609. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  71610. | ~~~~~~~~~~~~~~~~~~~^~
  71611. In file included from ././common/inc/nv-linux.h:34,
  71612. from nvidia-uvm/uvm_linux.h:40:
  71613. ././common/inc/nv-mm.h: At top level:
  71614. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  71615. 29 | typedef int vm_fault_t;
  71616. | ^~~~~~~~~~
  71617. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  71618. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  71619. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  71620. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  71621. from ././common/inc/nv-lock.h:35,
  71622. from ././common/inc/nv-linux.h:32:
  71623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  71624. 1311 | typedef __bitwise unsigned int vm_fault_t;
  71625. | ^~~~~~~~~~
  71626. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  71627. from ././common/inc/nv-time.h:28:
  71628. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  71629. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71630. 52 | #define current get_current()
  71631. | ^~~~~~~~~~~~~
  71632. | |
  71633. | struct task_struct *
  71634. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  71635. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71636. | ^~~~~~~
  71637. In file included from ././common/inc/nv-pgprot.h:30,
  71638. from ././common/inc/nv-linux.h:33:
  71639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  71640. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71641. | ~~~~~~~~~~~~~~^~~~~
  71642. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71643. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71644. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71645. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71646. | ~~~~~~~~~~~~~~^~~~~~~~
  71647. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71648. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71649. | ^~~~~~~~
  71650. | |
  71651. | long unsigned int
  71652. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71653. 2535 | unsigned int gup_flags, struct page **pages);
  71654. | ~~~~~~~~~~~~~~^~~~~
  71655. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71656. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71657. | ^~~~~~~~~~~~~~ ~~~~~
  71658. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71659. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71660. | ^~~~~~~~~~~~~~
  71661. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  71662. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  71663. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  71664. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  71665. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  71666. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  71667. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71668. 8 | #define NULL ((void *)0)
  71669. | ^~~~~~~~~~~
  71670. | |
  71671. | void *
  71672. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  71673. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71674. | ^~~~
  71675. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  71676. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71677. | ~~~~~~~~~~~~~~^~~~~
  71678. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71679. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71680. | ^~
  71681. | |
  71682. | struct mm_struct *
  71683. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71684. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71685. | ~~~~~~~~~~~~~~^~~~~~~~
  71686. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71687. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71688. | ^~~~~~~~
  71689. | |
  71690. | long unsigned int
  71691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71692. 2535 | unsigned int gup_flags, struct page **pages);
  71693. | ~~~~~~~~~~~~~~^~~~~
  71694. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71695. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71696. | ^~~~~~~~~~~~~~ ~~~~~
  71697. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71698. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71699. | ^~~~~~~~~~~~~~
  71700. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  71701. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  71702. 237 | return (unsigned long)(vmf->virtual_address);
  71703. | ^~~~~~~~~~~~~~~
  71704. | real_address
  71705. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  71706. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71707. 246 | down_read(&mm->mmap_sem);
  71708. | ^~~~~~~~
  71709. | mmap_base
  71710. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  71711. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71712. 255 | up_read(&mm->mmap_sem);
  71713. | ^~~~~~~~
  71714. | mmap_base
  71715. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  71716. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71717. 264 | down_write(&mm->mmap_sem);
  71718. | ^~~~~~~~
  71719. | mmap_base
  71720. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  71721. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71722. 273 | up_write(&mm->mmap_sem);
  71723. | ^~~~~~~~
  71724. | mmap_base
  71725. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  71726. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71727. 282 | return rwsem_is_locked(&mm->mmap_sem);
  71728. | ^~~~~~~~
  71729. | mmap_base
  71730. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  71731. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71732. 291 | return &mm->mmap_sem;
  71733. | ^~~~~~~~
  71734. | mmap_base
  71735. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  71736. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  71737. 300 | vma->vm_flags |= flags;
  71738. | ^~
  71739. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  71740. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  71741. 309 | vma->vm_flags &= ~flags;
  71742. | ^~
  71743. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  71744. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  71745. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  71746. | ^~~~~~~~~~~~~~~~~~~~~~~
  71747. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  71748. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  71749. 520 | NV_MEMDBG_ADD(ptr, size);
  71750. | ^
  71751. In file included from ././common/inc/nv-linux.h:34,
  71752. from nvidia-uvm/uvm_linux.h:40:
  71753. ././common/inc/nv-mm.h: At top level:
  71754. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  71755. 29 | typedef int vm_fault_t;
  71756. | ^~~~~~~~~~
  71757. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  71758. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  71759. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  71760. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  71761. from ././common/inc/nv-lock.h:35,
  71762. from ././common/inc/nv-linux.h:32:
  71763. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  71764. 1311 | typedef __bitwise unsigned int vm_fault_t;
  71765. | ^~~~~~~~~~
  71766. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  71767. from ././common/inc/nv-time.h:28:
  71768. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  71769. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71770. 52 | #define current get_current()
  71771. | ^~~~~~~~~~~~~
  71772. | |
  71773. | struct task_struct *
  71774. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  71775. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71776. | ^~~~~~~
  71777. In file included from ././common/inc/nv-pgprot.h:30,
  71778. from ././common/inc/nv-linux.h:33:
  71779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  71780. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71781. | ~~~~~~~~~~~~~~^~~~~
  71782. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71783. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71784. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71785. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71786. | ~~~~~~~~~~~~~~^~~~~~~~
  71787. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71788. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71789. | ^~~~~~~~
  71790. | |
  71791. | long unsigned int
  71792. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71793. 2535 | unsigned int gup_flags, struct page **pages);
  71794. | ~~~~~~~~~~~~~~^~~~~
  71795. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71796. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71797. | ^~~~~~~~~~~~~~ ~~~~~
  71798. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71799. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71800. | ^~~~~~~~~~~~~~
  71801. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  71802. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  71803. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  71804. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  71805. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  71806. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  71807. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71808. 8 | #define NULL ((void *)0)
  71809. | ^~~~~~~~~~~
  71810. | |
  71811. | void *
  71812. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  71813. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71814. | ^~~~
  71815. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  71816. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71817. | ~~~~~~~~~~~~~~^~~~~
  71818. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71819. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71820. | ^~
  71821. | |
  71822. | struct mm_struct *
  71823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71824. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71825. | ~~~~~~~~~~~~~~^~~~~~~~
  71826. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71827. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71828. | ^~~~~~~~
  71829. | |
  71830. | long unsigned int
  71831. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71832. 2535 | unsigned int gup_flags, struct page **pages);
  71833. | ~~~~~~~~~~~~~~^~~~~
  71834. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71835. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  71836. | ^~~~~~~~~~~~~~ ~~~~~
  71837. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71838. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71839. | ^~~~~~~~~~~~~~
  71840. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  71841. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  71842. 237 | return (unsigned long)(vmf->virtual_address);
  71843. | ^~~~~~~~~~~~~~~
  71844. | real_address
  71845. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  71846. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71847. 246 | down_read(&mm->mmap_sem);
  71848. | ^~~~~~~~
  71849. | mmap_base
  71850. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  71851. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71852. 255 | up_read(&mm->mmap_sem);
  71853. | ^~~~~~~~
  71854. | mmap_base
  71855. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  71856. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71857. 264 | down_write(&mm->mmap_sem);
  71858. | ^~~~~~~~
  71859. | mmap_base
  71860. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  71861. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71862. 273 | up_write(&mm->mmap_sem);
  71863. | ^~~~~~~~
  71864. | mmap_base
  71865. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  71866. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71867. 282 | return rwsem_is_locked(&mm->mmap_sem);
  71868. | ^~~~~~~~
  71869. | mmap_base
  71870. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  71871. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  71872. 291 | return &mm->mmap_sem;
  71873. | ^~~~~~~~
  71874. | mmap_base
  71875. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  71876. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  71877. 300 | vma->vm_flags |= flags;
  71878. | ^~
  71879. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  71880. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  71881. 309 | vma->vm_flags &= ~flags;
  71882. | ^~
  71883. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  71884. 40 | struct timespec64 {
  71885. | ^~~~~~~~~~
  71886. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  71887. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  71888. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  71889. from ././common/inc/nv-time.h:29:
  71890. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  71891. 13 | struct timespec64 {
  71892. | ^~~~~~~~~~
  71893. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  71894. 77 | static inline struct timespec64 timespec64_add
  71895. | ^~~~~~~~~~~~~~
  71896. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  71897. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  71898. | ^~~~~~~~~~~~~~
  71899. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  71900. 95 | static inline struct timespec64 timespec64_sub
  71901. | ^~~~~~~~~~~~~~
  71902. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  71903. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  71904. | ^~~~~~~~~~~~~~
  71905. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  71906. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  71907. | ^~~~~~~~~~~~~~~~
  71908. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  71909. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  71910. | ^~~~~~~~~~~~~~~~
  71911. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  71912. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  71913. 122 | ktime_get_raw_ts64(&ts);
  71914. | ^~~
  71915. | |
  71916. | struct timespec64 *
  71917. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  71918. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  71919. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  71920. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  71921. from ././common/inc/nv-time.h:30:
  71922. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  71923. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  71924. | ~~~~~~~~~~~~~~~~~~~^~
  71925. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  71926. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  71927. 185 | ktime_get_raw_ts64(&tm_aux);
  71928. | ^~~~~~~
  71929. | |
  71930. | struct timespec64 *
  71931. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  71932. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  71933. | ~~~~~~~~~~~~~~~~~~~^~
  71934. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  71935. 221 | ktime_get_raw_ts64(&tm_aux);
  71936. | ^~~~~~~
  71937. | |
  71938. | struct timespec64 *
  71939. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  71940. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  71941. | ~~~~~~~~~~~~~~~~~~~^~
  71942. In file included from ././common/inc/nv-linux.h:34,
  71943. from nvidia-uvm/uvm_linux.h:40:
  71944. ././common/inc/nv-mm.h: At top level:
  71945. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  71946. 29 | typedef int vm_fault_t;
  71947. | ^~~~~~~~~~
  71948. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  71949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  71950. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  71951. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  71952. from ././common/inc/nv-lock.h:35,
  71953. from ././common/inc/nv-linux.h:32:
  71954. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  71955. 1311 | typedef __bitwise unsigned int vm_fault_t;
  71956. | ^~~~~~~~~~
  71957. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  71958. from ././common/inc/nv-time.h:28:
  71959. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  71960. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71961. 52 | #define current get_current()
  71962. | ^~~~~~~~~~~~~
  71963. | |
  71964. | struct task_struct *
  71965. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  71966. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71967. | ^~~~~~~
  71968. In file included from ././common/inc/nv-pgprot.h:30,
  71969. from ././common/inc/nv-linux.h:33:
  71970. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  71971. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71972. | ~~~~~~~~~~~~~~^~~~~
  71973. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71974. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71975. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  71976. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71977. | ~~~~~~~~~~~~~~^~~~~~~~
  71978. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  71979. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71980. | ^~~~~~~~
  71981. | |
  71982. | long unsigned int
  71983. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  71984. 2535 | unsigned int gup_flags, struct page **pages);
  71985. | ~~~~~~~~~~~~~~^~~~~
  71986. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  71987. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  71988. | ^~~~~~~~~~~~~~ ~~~~~
  71989. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  71990. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  71991. | ^~~~~~~~~~~~~~
  71992. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  71993. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  71994. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  71995. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  71996. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  71997. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  71998. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  71999. 8 | #define NULL ((void *)0)
  72000. | ^~~~~~~~~~~
  72001. | |
  72002. | void *
  72003. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  72004. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72005. | ^~~~
  72006. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  72007. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72008. | ~~~~~~~~~~~~~~^~~~~
  72009. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72010. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72011. | ^~
  72012. | |
  72013. | struct mm_struct *
  72014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  72015. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72016. | ~~~~~~~~~~~~~~^~~~~~~~
  72017. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  72018. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72019. | ^~~~~~~~
  72020. | |
  72021. | long unsigned int
  72022. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  72023. 2535 | unsigned int gup_flags, struct page **pages);
  72024. | ~~~~~~~~~~~~~~^~~~~
  72025. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  72026. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72027. | ^~~~~~~~~~~~~~ ~~~~~
  72028. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  72029. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72030. | ^~~~~~~~~~~~~~
  72031. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  72032. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  72033. 237 | return (unsigned long)(vmf->virtual_address);
  72034. | ^~~~~~~~~~~~~~~
  72035. | real_address
  72036. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  72037. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72038. 246 | down_read(&mm->mmap_sem);
  72039. | ^~~~~~~~
  72040. | mmap_base
  72041. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  72042. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72043. 255 | up_read(&mm->mmap_sem);
  72044. | ^~~~~~~~
  72045. | mmap_base
  72046. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  72047. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72048. 264 | down_write(&mm->mmap_sem);
  72049. | ^~~~~~~~
  72050. | mmap_base
  72051. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  72052. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72053. 273 | up_write(&mm->mmap_sem);
  72054. | ^~~~~~~~
  72055. | mmap_base
  72056. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  72057. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72058. 282 | return rwsem_is_locked(&mm->mmap_sem);
  72059. | ^~~~~~~~
  72060. | mmap_base
  72061. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  72062. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72063. 291 | return &mm->mmap_sem;
  72064. | ^~~~~~~~
  72065. | mmap_base
  72066. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  72067. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  72068. 300 | vma->vm_flags |= flags;
  72069. | ^~
  72070. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  72071. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  72072. 309 | vma->vm_flags &= ~flags;
  72073. | ^~
  72074. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72075. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72076. 533 | ptr = ioremap_cache_shared(phys, size);
  72077. | ^~~~~~~~~~~~~~~~~~~~
  72078. | ioremap_cache
  72079. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72080. 533 | ptr = ioremap_cache_shared(phys, size);
  72081. | ^
  72082. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72083. 556 | NV_MEMDBG_ADD(ptr, size);
  72084. | ^
  72085. cc1: some warnings being treated as errors
  72086. 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
  72087. CC [M] nvidia-uvm/uvm_policy.o
  72088. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  72089. 40 | struct timespec64 {
  72090. | ^~~~~~~~~~
  72091. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  72092. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  72093. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  72094. from ././common/inc/nv-time.h:29:
  72095. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  72096. 13 | struct timespec64 {
  72097. | ^~~~~~~~~~
  72098. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  72099. 77 | static inline struct timespec64 timespec64_add
  72100. | ^~~~~~~~~~~~~~
  72101. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  72102. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  72103. | ^~~~~~~~~~~~~~
  72104. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  72105. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  72106. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  72107. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  72108. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72109. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  72110. | ^
  72111. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  72112. 95 | static inline struct timespec64 timespec64_sub
  72113. | ^~~~~~~~~~~~~~
  72114. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  72115. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  72116. | ^~~~~~~~~~~~~~
  72117. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72118. 573 | NV_MEMDBG_ADD(ptr, size);
  72119. | ^
  72120. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  72121. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  72122. | ^~~~~~~~~~~~~~~~
  72123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  72124. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  72125. | ^~~~~~~~~~~~~~~~
  72126. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  72127. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  72128. 122 | ktime_get_raw_ts64(&ts);
  72129. | ^~~
  72130. | |
  72131. | struct timespec64 *
  72132. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  72133. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  72134. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  72135. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  72136. from ././common/inc/nv-time.h:30:
  72137. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  72138. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  72139. | ~~~~~~~~~~~~~~~~~~~^~
  72140. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  72141. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  72142. 185 | ktime_get_raw_ts64(&tm_aux);
  72143. | ^~~~~~~
  72144. | |
  72145. | struct timespec64 *
  72146. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  72147. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  72148. | ~~~~~~~~~~~~~~~~~~~^~
  72149. ././common/inc/nv-linux.h: In function 'nv_vmap':
  72150. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72151. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  72152. | ^
  72153. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  72154. 221 | ktime_get_raw_ts64(&tm_aux);
  72155. | ^~~~~~~
  72156. | |
  72157. | struct timespec64 *
  72158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  72159. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  72160. | ~~~~~~~~~~~~~~~~~~~^~
  72161. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  72162. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  72163. 736 | return phys_to_dma(dev, pa);
  72164. | ^~~~~~~~~~~
  72165. | nv_phys_to_dma
  72166. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72167. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72168. 502 | NV_MEMDBG_ADD(ptr, size);
  72169. | ^
  72170. In file included from ././common/inc/conftest.h:28,
  72171. from ././common/inc/nv-time.h:27,
  72172. from nvidia-uvm/uvm_linux.h:37,
  72173. from nvidia-uvm/uvm_processors.h:27,
  72174. from nvidia-uvm/uvm_va_space.h:27,
  72175. from nvidia-uvm/uvm_policy.c:25:
  72176. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  72177. 74 | #error dma_buf_export() conftest failed!
  72178. | ^~~~~
  72179. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  72180. 87 | #error wait_on_bit_lock() conftest failed!
  72181. | ^~~~~
  72182. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  72183. 90 | #error radix_tree_replace_slot() conftest failed!
  72184. | ^~~~~
  72185. In file included from ././common/inc/nv-linux.h:34,
  72186. from nvidia-uvm/uvm_linux.h:40:
  72187. ././common/inc/nv-mm.h: At top level:
  72188. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  72189. 29 | typedef int vm_fault_t;
  72190. | ^~~~~~~~~~
  72191. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  72192. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  72193. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  72194. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  72195. from ././common/inc/nv-lock.h:35,
  72196. from ././common/inc/nv-linux.h:32:
  72197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  72198. 1311 | typedef __bitwise unsigned int vm_fault_t;
  72199. | ^~~~~~~~~~
  72200. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  72201. from ././common/inc/nv-time.h:28:
  72202. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  72203. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72204. 52 | #define current get_current()
  72205. | ^~~~~~~~~~~~~
  72206. | |
  72207. | struct task_struct *
  72208. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  72209. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72210. | ^~~~~~~
  72211. In file included from ././common/inc/nv-pgprot.h:30,
  72212. from ././common/inc/nv-linux.h:33:
  72213. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  72214. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72215. | ~~~~~~~~~~~~~~^~~~~
  72216. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72217. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72218. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  72219. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72220. | ~~~~~~~~~~~~~~^~~~~~~~
  72221. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  72222. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72223. | ^~~~~~~~
  72224. | |
  72225. | long unsigned int
  72226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  72227. 2535 | unsigned int gup_flags, struct page **pages);
  72228. | ~~~~~~~~~~~~~~^~~~~
  72229. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  72230. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72231. | ^~~~~~~~~~~~~~ ~~~~~
  72232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  72233. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72234. | ^~~~~~~~~~~~~~
  72235. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  72236. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  72237. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  72238. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  72239. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  72240. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  72241. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72242. 8 | #define NULL ((void *)0)
  72243. | ^~~~~~~~~~~
  72244. | |
  72245. | void *
  72246. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  72247. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72248. | ^~~~
  72249. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  72250. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72251. | ~~~~~~~~~~~~~~^~~~~
  72252. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72253. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72254. | ^~
  72255. | |
  72256. | struct mm_struct *
  72257. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  72258. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72259. | ~~~~~~~~~~~~~~^~~~~~~~
  72260. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  72261. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72262. | ^~~~~~~~
  72263. | |
  72264. | long unsigned int
  72265. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  72266. 2535 | unsigned int gup_flags, struct page **pages);
  72267. | ~~~~~~~~~~~~~~^~~~~
  72268. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  72269. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72270. | ^~~~~~~~~~~~~~ ~~~~~
  72271. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  72272. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72273. | ^~~~~~~~~~~~~~
  72274. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  72275. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  72276. 237 | return (unsigned long)(vmf->virtual_address);
  72277. | ^~~~~~~~~~~~~~~
  72278. | real_address
  72279. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  72280. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72281. 246 | down_read(&mm->mmap_sem);
  72282. | ^~~~~~~~
  72283. | mmap_base
  72284. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  72285. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72286. 255 | up_read(&mm->mmap_sem);
  72287. | ^~~~~~~~
  72288. | mmap_base
  72289. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  72290. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72291. 264 | down_write(&mm->mmap_sem);
  72292. | ^~~~~~~~
  72293. | mmap_base
  72294. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  72295. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72296. 273 | up_write(&mm->mmap_sem);
  72297. | ^~~~~~~~
  72298. | mmap_base
  72299. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  72300. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72301. 282 | return rwsem_is_locked(&mm->mmap_sem);
  72302. | ^~~~~~~~
  72303. | mmap_base
  72304. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  72305. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72306. 291 | return &mm->mmap_sem;
  72307. | ^~~~~~~~
  72308. | mmap_base
  72309. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  72310. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  72311. 300 | vma->vm_flags |= flags;
  72312. | ^~
  72313. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  72314. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  72315. 309 | vma->vm_flags &= ~flags;
  72316. | ^~
  72317. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72318. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72319. 502 | NV_MEMDBG_ADD(ptr, size);
  72320. | ^
  72321. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72322. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72323. 502 | NV_MEMDBG_ADD(ptr, size);
  72324. | ^
  72325. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  72326. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  72327. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  72328. | ^~~~~~~~~~~~~
  72329. | d_is_dir
  72330. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72331. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72332. 502 | NV_MEMDBG_ADD(ptr, size);
  72333. | ^
  72334. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  72335. 40 | struct timespec64 {
  72336. | ^~~~~~~~~~
  72337. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  72338. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  72339. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  72340. from ././common/inc/nv-time.h:29:
  72341. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  72342. 13 | struct timespec64 {
  72343. | ^~~~~~~~~~
  72344. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  72345. 77 | static inline struct timespec64 timespec64_add
  72346. | ^~~~~~~~~~~~~~
  72347. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  72348. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  72349. | ^~~~~~~~~~~~~~
  72350. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  72351. 95 | static inline struct timespec64 timespec64_sub
  72352. | ^~~~~~~~~~~~~~
  72353. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  72354. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  72355. | ^~~~~~~~~~~~~~
  72356. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  72357. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  72358. | ^~~~~~~~~~~~~~~~
  72359. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  72360. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  72361. | ^~~~~~~~~~~~~~~~
  72362. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  72363. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  72364. 122 | ktime_get_raw_ts64(&ts);
  72365. | ^~~
  72366. | |
  72367. | struct timespec64 *
  72368. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  72369. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  72370. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  72371. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  72372. from ././common/inc/nv-time.h:30:
  72373. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  72374. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  72375. | ~~~~~~~~~~~~~~~~~~~^~
  72376. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  72377. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  72378. 185 | ktime_get_raw_ts64(&tm_aux);
  72379. | ^~~~~~~
  72380. | |
  72381. | struct timespec64 *
  72382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  72383. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  72384. | ~~~~~~~~~~~~~~~~~~~^~
  72385. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  72386. 221 | ktime_get_raw_ts64(&tm_aux);
  72387. | ^~~~~~~
  72388. | |
  72389. | struct timespec64 *
  72390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  72391. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  72392. | ~~~~~~~~~~~~~~~~~~~^~
  72393. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72394. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72395. 502 | NV_MEMDBG_ADD(ptr, size);
  72396. | ^
  72397. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72398. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72399. 502 | NV_MEMDBG_ADD(ptr, size);
  72400. | ^
  72401. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  72402. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  72403. 287 | ktime_get_raw_ts64(&tm);
  72404. | ^~~
  72405. | |
  72406. | struct timespec64 *
  72407. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  72408. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  72409. | ~~~~~~~~~~~~~~~~~~~^~
  72410. nvidia-uvm/uvm_linux.h: At top level:
  72411. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  72412. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  72413. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  72414. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  72415. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  72416. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  72417. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  72418. 449 | #error "Unknown number of arguments"
  72419. | ^~~~~
  72420. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  72421. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  72422. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  72423. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  72424. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  72425. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  72426. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  72427. 485 | #error "Unknown number of arguments"
  72428. | ^~~~~
  72429. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72430. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72431. 502 | NV_MEMDBG_ADD(ptr, size);
  72432. | ^
  72433. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  72434. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  72435. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  72436. | ^~~~~~~~~~~~~~~~~~~~~~~
  72437. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72438. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72439. 520 | NV_MEMDBG_ADD(ptr, size);
  72440. | ^
  72441. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72442. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72443. 502 | NV_MEMDBG_ADD(ptr, size);
  72444. | ^
  72445. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  72446. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  72447. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  72448. | ^~~~~~~~~~~~~~~~~~~~~~~
  72449. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72450. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72451. 520 | NV_MEMDBG_ADD(ptr, size);
  72452. | ^
  72453. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  72454. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  72455. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  72456. | ^~~~~~~~~~~~~~~~~~~~~~~
  72457. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72458. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72459. 520 | NV_MEMDBG_ADD(ptr, size);
  72460. | ^
  72461. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72462. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72463. 502 | NV_MEMDBG_ADD(ptr, size);
  72464. | ^
  72465. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  72466. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  72467. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  72468. | ^~~~~~~~~~~~~~~~~~~~~~~
  72469. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72470. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72471. 520 | NV_MEMDBG_ADD(ptr, size);
  72472. | ^
  72473. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72474. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72475. 533 | ptr = ioremap_cache_shared(phys, size);
  72476. | ^~~~~~~~~~~~~~~~~~~~
  72477. | ioremap_cache
  72478. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72479. 533 | ptr = ioremap_cache_shared(phys, size);
  72480. | ^
  72481. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72482. 556 | NV_MEMDBG_ADD(ptr, size);
  72483. | ^
  72484. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  72485. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  72486. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  72487. | ^~~~~~~~~~~~~~~~~~~~~~~
  72488. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72489. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72490. 520 | NV_MEMDBG_ADD(ptr, size);
  72491. | ^
  72492. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  72493. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  72494. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  72495. | ^~~~~~~~~~~~~~~~~~~~~~~
  72496. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72497. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72498. 520 | NV_MEMDBG_ADD(ptr, size);
  72499. | ^
  72500. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  72501. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  72502. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  72503. | ^~~~~~~~~~~~~~~~~~~~~~~
  72504. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72505. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72506. 520 | NV_MEMDBG_ADD(ptr, size);
  72507. | ^
  72508. In file included from ././common/inc/nv-linux.h:34,
  72509. from nvidia-uvm/uvm_linux.h:40:
  72510. ././common/inc/nv-mm.h: At top level:
  72511. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  72512. 29 | typedef int vm_fault_t;
  72513. | ^~~~~~~~~~
  72514. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  72515. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  72516. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  72517. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  72518. from ././common/inc/nv-lock.h:35,
  72519. from ././common/inc/nv-linux.h:32:
  72520. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  72521. 1311 | typedef __bitwise unsigned int vm_fault_t;
  72522. | ^~~~~~~~~~
  72523. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  72524. from ././common/inc/nv-time.h:28:
  72525. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  72526. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72527. 52 | #define current get_current()
  72528. | ^~~~~~~~~~~~~
  72529. | |
  72530. | struct task_struct *
  72531. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  72532. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72533. | ^~~~~~~
  72534. In file included from ././common/inc/nv-pgprot.h:30,
  72535. from ././common/inc/nv-linux.h:33:
  72536. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  72537. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72538. | ~~~~~~~~~~~~~~^~~~~
  72539. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72540. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72541. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  72542. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72543. | ~~~~~~~~~~~~~~^~~~~~~~
  72544. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  72545. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72546. | ^~~~~~~~
  72547. | |
  72548. | long unsigned int
  72549. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  72550. 2535 | unsigned int gup_flags, struct page **pages);
  72551. | ~~~~~~~~~~~~~~^~~~~
  72552. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  72553. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72554. | ^~~~~~~~~~~~~~ ~~~~~
  72555. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  72556. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72557. | ^~~~~~~~~~~~~~
  72558. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  72559. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  72560. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  72561. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  72562. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  72563. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  72564. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72565. 8 | #define NULL ((void *)0)
  72566. | ^~~~~~~~~~~
  72567. | |
  72568. | void *
  72569. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  72570. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72571. | ^~~~
  72572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  72573. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72574. | ~~~~~~~~~~~~~~^~~~~
  72575. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72576. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72577. | ^~
  72578. | |
  72579. | struct mm_struct *
  72580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  72581. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72582. | ~~~~~~~~~~~~~~^~~~~~~~
  72583. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  72584. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72585. | ^~~~~~~~
  72586. | |
  72587. | long unsigned int
  72588. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  72589. 2535 | unsigned int gup_flags, struct page **pages);
  72590. | ~~~~~~~~~~~~~~^~~~~
  72591. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  72592. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72593. | ^~~~~~~~~~~~~~ ~~~~~
  72594. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  72595. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72596. | ^~~~~~~~~~~~~~
  72597. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  72598. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  72599. 237 | return (unsigned long)(vmf->virtual_address);
  72600. | ^~~~~~~~~~~~~~~
  72601. | real_address
  72602. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  72603. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72604. 246 | down_read(&mm->mmap_sem);
  72605. | ^~~~~~~~
  72606. | mmap_base
  72607. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  72608. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72609. 255 | up_read(&mm->mmap_sem);
  72610. | ^~~~~~~~
  72611. | mmap_base
  72612. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  72613. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72614. 264 | down_write(&mm->mmap_sem);
  72615. | ^~~~~~~~
  72616. | mmap_base
  72617. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  72618. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72619. 273 | up_write(&mm->mmap_sem);
  72620. | ^~~~~~~~
  72621. | mmap_base
  72622. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  72623. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72624. 282 | return rwsem_is_locked(&mm->mmap_sem);
  72625. | ^~~~~~~~
  72626. | mmap_base
  72627. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  72628. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72629. 291 | return &mm->mmap_sem;
  72630. | ^~~~~~~~
  72631. | mmap_base
  72632. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  72633. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  72634. 300 | vma->vm_flags |= flags;
  72635. | ^~
  72636. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  72637. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  72638. 309 | vma->vm_flags &= ~flags;
  72639. | ^~
  72640. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72641. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72642. 533 | ptr = ioremap_cache_shared(phys, size);
  72643. | ^~~~~~~~~~~~~~~~~~~~
  72644. | ioremap_cache
  72645. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72646. 533 | ptr = ioremap_cache_shared(phys, size);
  72647. | ^
  72648. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72649. 556 | NV_MEMDBG_ADD(ptr, size);
  72650. | ^
  72651. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  72652. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  72653. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  72654. | ^~~~~~~~~~~~~~~~~~~~~~~
  72655. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72656. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72657. 520 | NV_MEMDBG_ADD(ptr, size);
  72658. | ^
  72659. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72660. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72661. 533 | ptr = ioremap_cache_shared(phys, size);
  72662. | ^~~~~~~~~~~~~~~~~~~~
  72663. | ioremap_cache
  72664. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72665. 533 | ptr = ioremap_cache_shared(phys, size);
  72666. | ^
  72667. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72668. 556 | NV_MEMDBG_ADD(ptr, size);
  72669. | ^
  72670. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  72671. from nvidia-uvm/uvm_channel.h:29,
  72672. from nvidia-uvm/uvm_push.h:29,
  72673. from nvidia-uvm/uvm_hal.h:31:
  72674. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  72675. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  72676. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  72677. | ^~~~~~~~~~~~~~~~~~~~
  72678. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  72679. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  72680. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  72681. | ^~~~~~~~~~~~~~~~~~~~~~~
  72682. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72683. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72684. 520 | NV_MEMDBG_ADD(ptr, size);
  72685. | ^
  72686. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72687. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72688. 533 | ptr = ioremap_cache_shared(phys, size);
  72689. | ^~~~~~~~~~~~~~~~~~~~
  72690. | ioremap_cache
  72691. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72692. 533 | ptr = ioremap_cache_shared(phys, size);
  72693. | ^
  72694. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72695. 556 | NV_MEMDBG_ADD(ptr, size);
  72696. | ^
  72697. In file included from ././common/inc/nv-linux.h:34,
  72698. from nvidia-uvm/uvm_linux.h:40:
  72699. ././common/inc/nv-mm.h: At top level:
  72700. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  72701. 29 | typedef int vm_fault_t;
  72702. | ^~~~~~~~~~
  72703. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  72704. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  72705. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  72706. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  72707. from ././common/inc/nv-lock.h:35,
  72708. from ././common/inc/nv-linux.h:32:
  72709. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  72710. 1311 | typedef __bitwise unsigned int vm_fault_t;
  72711. | ^~~~~~~~~~
  72712. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72713. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72714. 533 | ptr = ioremap_cache_shared(phys, size);
  72715. | ^~~~~~~~~~~~~~~~~~~~
  72716. | ioremap_cache
  72717. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  72718. from ././common/inc/nv-time.h:28:
  72719. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  72720. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72721. 533 | ptr = ioremap_cache_shared(phys, size);
  72722. | ^
  72723. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72724. 52 | #define current get_current()
  72725. | ^~~~~~~~~~~~~
  72726. | |
  72727. | struct task_struct *
  72728. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  72729. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72730. | ^~~~~~~
  72731. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72732. 556 | NV_MEMDBG_ADD(ptr, size);
  72733. | ^
  72734. In file included from ././common/inc/nv-pgprot.h:30,
  72735. from ././common/inc/nv-linux.h:33:
  72736. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  72737. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72738. | ~~~~~~~~~~~~~~^~~~~
  72739. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72740. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72741. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  72742. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72743. | ~~~~~~~~~~~~~~^~~~~~~~
  72744. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  72745. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72746. | ^~~~~~~~
  72747. | |
  72748. | long unsigned int
  72749. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  72750. 2535 | unsigned int gup_flags, struct page **pages);
  72751. | ~~~~~~~~~~~~~~^~~~~
  72752. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  72753. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72754. | ^~~~~~~~~~~~~~ ~~~~~
  72755. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  72756. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72757. | ^~~~~~~~~~~~~~
  72758. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  72759. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  72760. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  72761. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  72762. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  72763. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  72764. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72765. 8 | #define NULL ((void *)0)
  72766. | ^~~~~~~~~~~
  72767. | |
  72768. | void *
  72769. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  72770. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72771. | ^~~~
  72772. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  72773. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72774. | ~~~~~~~~~~~~~~^~~~~
  72775. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72776. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72777. | ^~
  72778. | |
  72779. | struct mm_struct *
  72780. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  72781. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72782. | ~~~~~~~~~~~~~~^~~~~~~~
  72783. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  72784. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72785. | ^~~~~~~~
  72786. | |
  72787. | long unsigned int
  72788. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  72789. 2535 | unsigned int gup_flags, struct page **pages);
  72790. | ~~~~~~~~~~~~~~^~~~~
  72791. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  72792. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  72793. | ^~~~~~~~~~~~~~ ~~~~~
  72794. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  72795. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72796. | ^~~~~~~~~~~~~~
  72797. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  72798. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  72799. 237 | return (unsigned long)(vmf->virtual_address);
  72800. | ^~~~~~~~~~~~~~~
  72801. | real_address
  72802. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  72803. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72804. 246 | down_read(&mm->mmap_sem);
  72805. | ^~~~~~~~
  72806. | mmap_base
  72807. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  72808. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72809. 255 | up_read(&mm->mmap_sem);
  72810. | ^~~~~~~~
  72811. | mmap_base
  72812. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  72813. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72814. 264 | down_write(&mm->mmap_sem);
  72815. | ^~~~~~~~
  72816. | mmap_base
  72817. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  72818. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72819. 273 | up_write(&mm->mmap_sem);
  72820. | ^~~~~~~~
  72821. | mmap_base
  72822. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  72823. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72824. 282 | return rwsem_is_locked(&mm->mmap_sem);
  72825. | ^~~~~~~~
  72826. | mmap_base
  72827. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  72828. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  72829. 291 | return &mm->mmap_sem;
  72830. | ^~~~~~~~
  72831. | mmap_base
  72832. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  72833. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  72834. 300 | vma->vm_flags |= flags;
  72835. | ^~
  72836. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  72837. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  72838. 309 | vma->vm_flags &= ~flags;
  72839. | ^~
  72840. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72841. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72842. 533 | ptr = ioremap_cache_shared(phys, size);
  72843. | ^~~~~~~~~~~~~~~~~~~~
  72844. | ioremap_cache
  72845. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72846. 533 | ptr = ioremap_cache_shared(phys, size);
  72847. | ^
  72848. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72849. 556 | NV_MEMDBG_ADD(ptr, size);
  72850. | ^
  72851. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  72852. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  72853. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  72854. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  72855. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72856. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  72857. | ^
  72858. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72859. 573 | NV_MEMDBG_ADD(ptr, size);
  72860. | ^
  72861. ././common/inc/nv-linux.h: In function 'nv_vmap':
  72862. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72863. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  72864. | ^
  72865. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72866. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72867. 533 | ptr = ioremap_cache_shared(phys, size);
  72868. | ^~~~~~~~~~~~~~~~~~~~
  72869. | ioremap_cache
  72870. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72871. 533 | ptr = ioremap_cache_shared(phys, size);
  72872. | ^
  72873. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72874. 556 | NV_MEMDBG_ADD(ptr, size);
  72875. | ^
  72876. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  72877. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  72878. 736 | return phys_to_dma(dev, pa);
  72879. | ^~~~~~~~~~~
  72880. | nv_phys_to_dma
  72881. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72882. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72883. 533 | ptr = ioremap_cache_shared(phys, size);
  72884. | ^~~~~~~~~~~~~~~~~~~~
  72885. | ioremap_cache
  72886. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72887. 533 | ptr = ioremap_cache_shared(phys, size);
  72888. | ^
  72889. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72890. 556 | NV_MEMDBG_ADD(ptr, size);
  72891. | ^
  72892. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  72893. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  72894. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  72895. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  72896. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72897. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  72898. | ^
  72899. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72900. 573 | NV_MEMDBG_ADD(ptr, size);
  72901. | ^
  72902. ././common/inc/nv-linux.h: In function 'nv_vmap':
  72903. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72904. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  72905. | ^
  72906. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  72907. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72908. 502 | NV_MEMDBG_ADD(ptr, size);
  72909. | ^
  72910. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  72911. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  72912. 533 | ptr = ioremap_cache_shared(phys, size);
  72913. | ^~~~~~~~~~~~~~~~~~~~
  72914. | ioremap_cache
  72915. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72916. 533 | ptr = ioremap_cache_shared(phys, size);
  72917. | ^
  72918. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72919. 556 | NV_MEMDBG_ADD(ptr, size);
  72920. | ^
  72921. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  72922. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  72923. 736 | return phys_to_dma(dev, pa);
  72924. | ^~~~~~~~~~~
  72925. | nv_phys_to_dma
  72926. cc1: some warnings being treated as errors
  72927. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  72928. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  72929. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  72930. | ^~~~~~~~~~~~~
  72931. | d_is_dir
  72932. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  72933. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  72934. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  72935. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  72936. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  72937. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  72938. | ^
  72939. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72940. 573 | NV_MEMDBG_ADD(ptr, size);
  72941. | ^
  72942. In file included from ././common/inc/nv-linux.h:34,
  72943. from nvidia-uvm/uvm_linux.h:40:
  72944. ././common/inc/nv-mm.h: At top level:
  72945. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  72946. 29 | typedef int vm_fault_t;
  72947. | ^~~~~~~~~~
  72948. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  72949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  72950. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  72951. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  72952. from ././common/inc/nv-lock.h:35,
  72953. from ././common/inc/nv-linux.h:32:
  72954. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  72955. 1311 | typedef __bitwise unsigned int vm_fault_t;
  72956. | ^~~~~~~~~~
  72957. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  72958. from ././common/inc/nv-time.h:28:
  72959. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  72960. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72961. 52 | #define current get_current()
  72962. | ^~~~~~~~~~~~~
  72963. | |
  72964. | struct task_struct *
  72965. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  72966. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72967. | ^~~~~~~
  72968. In file included from ././common/inc/nv-pgprot.h:30,
  72969. from ././common/inc/nv-linux.h:33:
  72970. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  72971. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72972. | ~~~~~~~~~~~~~~^~~~~
  72973. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  72974. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72975. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  72976. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72977. | ~~~~~~~~~~~~~~^~~~~~~~
  72978. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  72979. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72980. | ^~~~~~~~
  72981. | |
  72982. | long unsigned int
  72983. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  72984. 2535 | unsigned int gup_flags, struct page **pages);
  72985. | ~~~~~~~~~~~~~~^~~~~
  72986. ././common/inc/nv-linux.h: In function 'nv_vmap':
  72987. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  72988. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  72989. | ^
  72990. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  72991. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  72992. | ^~~~~~~~~~~~~~ ~~~~~
  72993. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  72994. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  72995. | ^~~~~~~~~~~~~~
  72996. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  72997. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  72998. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  72999. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  73000. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  73001. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  73002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  73003. 8 | #define NULL ((void *)0)
  73004. | ^~~~~~~~~~~
  73005. | |
  73006. | void *
  73007. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  73008. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  73009. | ^~~~
  73010. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  73011. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  73012. | ~~~~~~~~~~~~~~^~~~~
  73013. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  73014. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  73015. | ^~
  73016. | |
  73017. | struct mm_struct *
  73018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  73019. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  73020. | ~~~~~~~~~~~~~~^~~~~~~~
  73021. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  73022. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  73023. | ^~~~~~~~
  73024. | |
  73025. | long unsigned int
  73026. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  73027. 2535 | unsigned int gup_flags, struct page **pages);
  73028. | ~~~~~~~~~~~~~~^~~~~
  73029. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  73030. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  73031. | ^~~~~~~~~~~~~~ ~~~~~
  73032. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  73033. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  73034. | ^~~~~~~~~~~~~~
  73035. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  73036. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  73037. 237 | return (unsigned long)(vmf->virtual_address);
  73038. | ^~~~~~~~~~~~~~~
  73039. | real_address
  73040. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  73041. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73042. 246 | down_read(&mm->mmap_sem);
  73043. | ^~~~~~~~
  73044. | mmap_base
  73045. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  73046. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73047. 255 | up_read(&mm->mmap_sem);
  73048. | ^~~~~~~~
  73049. | mmap_base
  73050. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  73051. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73052. 264 | down_write(&mm->mmap_sem);
  73053. | ^~~~~~~~
  73054. | mmap_base
  73055. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  73056. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73057. 273 | up_write(&mm->mmap_sem);
  73058. | ^~~~~~~~
  73059. | mmap_base
  73060. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  73061. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73062. 282 | return rwsem_is_locked(&mm->mmap_sem);
  73063. | ^~~~~~~~
  73064. | mmap_base
  73065. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  73066. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73067. 291 | return &mm->mmap_sem;
  73068. | ^~~~~~~~
  73069. | mmap_base
  73070. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  73071. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  73072. 300 | vma->vm_flags |= flags;
  73073. | ^~
  73074. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  73075. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  73076. 309 | vma->vm_flags &= ~flags;
  73077. | ^~
  73078. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing.o] Error 1
  73079. CC [M] nvidia-uvm/uvm_perf_utils.o
  73080. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  73081. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  73082. 736 | return phys_to_dma(dev, pa);
  73083. | ^~~~~~~~~~~
  73084. | nv_phys_to_dma
  73085. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73086. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73087. 287 | ktime_get_raw_ts64(&tm);
  73088. | ^~~
  73089. | |
  73090. | struct timespec64 *
  73091. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73092. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73093. | ~~~~~~~~~~~~~~~~~~~^~
  73094. nvidia-uvm/uvm_linux.h: At top level:
  73095. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73096. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73097. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73098. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73099. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73100. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73101. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73102. 449 | #error "Unknown number of arguments"
  73103. | ^~~~~
  73104. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73105. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73106. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73107. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73108. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73109. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73110. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73111. 485 | #error "Unknown number of arguments"
  73112. | ^~~~~
  73113. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  73114. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  73115. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  73116. | ^~~~~~~~~~~~~
  73117. | d_is_dir
  73118. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  73119. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  73120. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73121. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  73122. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73123. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73124. | ^
  73125. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73126. 573 | NV_MEMDBG_ADD(ptr, size);
  73127. | ^
  73128. ././common/inc/nv-linux.h: In function 'nv_vmap':
  73129. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73130. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  73131. | ^
  73132. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  73133. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  73134. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73135. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  73136. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73137. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73138. | ^
  73139. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73140. 573 | NV_MEMDBG_ADD(ptr, size);
  73141. | ^
  73142. ././common/inc/nv-linux.h: In function 'nv_vmap':
  73143. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73144. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  73145. | ^
  73146. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  73147. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  73148. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73149. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  73150. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73151. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73152. | ^
  73153. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73154. 573 | NV_MEMDBG_ADD(ptr, size);
  73155. | ^
  73156. ././common/inc/nv-linux.h: In function 'nv_vmap':
  73157. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73158. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  73159. | ^
  73160. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  73161. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  73162. 736 | return phys_to_dma(dev, pa);
  73163. | ^~~~~~~~~~~
  73164. | nv_phys_to_dma
  73165. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73166. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73167. 287 | ktime_get_raw_ts64(&tm);
  73168. | ^~~
  73169. | |
  73170. | struct timespec64 *
  73171. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73172. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73173. | ~~~~~~~~~~~~~~~~~~~^~
  73174. nvidia-uvm/uvm_linux.h: At top level:
  73175. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73176. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73177. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73178. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73179. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73180. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73181. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73182. 449 | #error "Unknown number of arguments"
  73183. | ^~~~~
  73184. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73185. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73186. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73187. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73188. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73189. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73190. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73191. 485 | #error "Unknown number of arguments"
  73192. | ^~~~~
  73193. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  73194. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  73195. 736 | return phys_to_dma(dev, pa);
  73196. | ^~~~~~~~~~~
  73197. | nv_phys_to_dma
  73198. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  73199. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  73200. 736 | return phys_to_dma(dev, pa);
  73201. | ^~~~~~~~~~~
  73202. | nv_phys_to_dma
  73203. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  73204. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  73205. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  73206. | ^~~~~~~~~~~~~~~~~~~~~~~
  73207. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73208. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73209. 520 | NV_MEMDBG_ADD(ptr, size);
  73210. | ^
  73211. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  73212. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  73213. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  73214. | ^~~~~~~~~~~~~
  73215. | d_is_dir
  73216. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  73217. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  73218. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73219. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  73220. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73221. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73222. | ^
  73223. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73224. 573 | NV_MEMDBG_ADD(ptr, size);
  73225. | ^
  73226. ././common/inc/nv-linux.h: In function 'nv_vmap':
  73227. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73228. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  73229. | ^
  73230. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  73231. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  73232. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73233. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  73234. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73235. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73236. | ^
  73237. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73238. 573 | NV_MEMDBG_ADD(ptr, size);
  73239. | ^
  73240. ././common/inc/nv-linux.h: In function 'nv_vmap':
  73241. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73242. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  73243. | ^
  73244. In file included from ././common/inc/conftest.h:28,
  73245. from ././common/inc/nv-time.h:27,
  73246. from nvidia-uvm/uvm_linux.h:37,
  73247. from nvidia-uvm/uvm_common.h:43,
  73248. from nvidia-uvm/uvm_perf_utils.c:24:
  73249. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  73250. 74 | #error dma_buf_export() conftest failed!
  73251. | ^~~~~
  73252. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  73253. 87 | #error wait_on_bit_lock() conftest failed!
  73254. | ^~~~~
  73255. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  73256. 90 | #error radix_tree_replace_slot() conftest failed!
  73257. | ^~~~~
  73258. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  73259. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  73260. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  73261. | ^~~~~~~~~~~~~
  73262. | d_is_dir
  73263. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  73264. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  73265. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73266. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  73267. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73268. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73269. | ^
  73270. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73271. 573 | NV_MEMDBG_ADD(ptr, size);
  73272. | ^
  73273. ././common/inc/nv-linux.h: In function 'nv_vmap':
  73274. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73275. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  73276. | ^
  73277. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73278. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73279. 287 | ktime_get_raw_ts64(&tm);
  73280. | ^~~
  73281. | |
  73282. | struct timespec64 *
  73283. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73284. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73285. | ~~~~~~~~~~~~~~~~~~~^~
  73286. nvidia-uvm/uvm_linux.h: At top level:
  73287. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73288. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73289. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73290. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73291. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73292. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73293. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73294. 449 | #error "Unknown number of arguments"
  73295. | ^~~~~
  73296. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73297. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73298. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73299. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73300. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73301. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73302. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73303. 485 | #error "Unknown number of arguments"
  73304. | ^~~~~
  73305. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  73306. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  73307. 736 | return phys_to_dma(dev, pa);
  73308. | ^~~~~~~~~~~
  73309. | nv_phys_to_dma
  73310. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  73311. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  73312. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  73313. | ^~~~~~~~~~~~~
  73314. | d_is_dir
  73315. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  73316. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  73317. 736 | return phys_to_dma(dev, pa);
  73318. | ^~~~~~~~~~~
  73319. | nv_phys_to_dma
  73320. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  73321. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  73322. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  73323. | ^~~~~~~~~~~~~
  73324. | d_is_dir
  73325. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73326. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73327. 287 | ktime_get_raw_ts64(&tm);
  73328. | ^~~
  73329. | |
  73330. | struct timespec64 *
  73331. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73332. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73333. | ~~~~~~~~~~~~~~~~~~~^~
  73334. nvidia-uvm/uvm_linux.h: At top level:
  73335. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73336. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73337. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73338. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73339. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73340. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73341. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73342. 449 | #error "Unknown number of arguments"
  73343. | ^~~~~
  73344. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73345. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73346. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73347. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73348. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73349. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73350. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73351. 485 | #error "Unknown number of arguments"
  73352. | ^~~~~
  73353. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73354. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73355. 287 | ktime_get_raw_ts64(&tm);
  73356. | ^~~
  73357. | |
  73358. | struct timespec64 *
  73359. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73360. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73361. | ~~~~~~~~~~~~~~~~~~~^~
  73362. nvidia-uvm/uvm_linux.h: At top level:
  73363. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73364. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73365. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73366. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73367. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73368. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73369. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73370. 449 | #error "Unknown number of arguments"
  73371. | ^~~~~
  73372. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73373. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73374. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73375. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73376. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73377. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73378. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73379. 485 | #error "Unknown number of arguments"
  73380. | ^~~~~
  73381. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73382. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73383. 287 | ktime_get_raw_ts64(&tm);
  73384. | ^~~
  73385. | |
  73386. | struct timespec64 *
  73387. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73388. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73389. | ~~~~~~~~~~~~~~~~~~~^~
  73390. nvidia-uvm/uvm_linux.h: At top level:
  73391. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73392. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73393. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73394. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73395. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73396. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73397. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73398. 449 | #error "Unknown number of arguments"
  73399. | ^~~~~
  73400. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73401. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73402. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73403. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73404. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73405. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73406. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73407. 485 | #error "Unknown number of arguments"
  73408. | ^~~~~
  73409. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  73410. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  73411. 736 | return phys_to_dma(dev, pa);
  73412. | ^~~~~~~~~~~
  73413. | nv_phys_to_dma
  73414. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  73415. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  73416. 533 | ptr = ioremap_cache_shared(phys, size);
  73417. | ^~~~~~~~~~~~~~~~~~~~
  73418. | ioremap_cache
  73419. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73420. 533 | ptr = ioremap_cache_shared(phys, size);
  73421. | ^
  73422. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73423. 556 | NV_MEMDBG_ADD(ptr, size);
  73424. | ^
  73425. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  73426. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  73427. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  73428. | ^~~~~~~~~~~~~
  73429. | d_is_dir
  73430. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  73431. from nvidia-uvm/uvm_gpu.h:37,
  73432. from nvidia-uvm/uvm_global.h:32:
  73433. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  73434. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  73435. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  73436. | ^~~~~~~~~~~~~~~~~~~~
  73437. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  73438. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  73439. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  73440. | ^~~~~~~~~~~~~
  73441. | d_is_dir
  73442. In file included from ././common/inc/nv-linux.h:34,
  73443. from nvidia-uvm/uvm_linux.h:40:
  73444. ././common/inc/nv-mm.h: At top level:
  73445. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  73446. 29 | typedef int vm_fault_t;
  73447. | ^~~~~~~~~~
  73448. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  73449. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  73450. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  73451. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  73452. from ././common/inc/nv-lock.h:35,
  73453. from ././common/inc/nv-linux.h:32:
  73454. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  73455. 1311 | typedef __bitwise unsigned int vm_fault_t;
  73456. | ^~~~~~~~~~
  73457. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  73458. from ././common/inc/nv-time.h:28:
  73459. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  73460. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  73461. 52 | #define current get_current()
  73462. | ^~~~~~~~~~~~~
  73463. | |
  73464. | struct task_struct *
  73465. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  73466. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  73467. | ^~~~~~~
  73468. In file included from ././common/inc/nv-pgprot.h:30,
  73469. from ././common/inc/nv-linux.h:33:
  73470. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  73471. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  73472. | ~~~~~~~~~~~~~~^~~~~
  73473. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  73474. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  73475. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  73476. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  73477. | ~~~~~~~~~~~~~~^~~~~~~~
  73478. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  73479. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  73480. | ^~~~~~~~
  73481. | |
  73482. | long unsigned int
  73483. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  73484. 2535 | unsigned int gup_flags, struct page **pages);
  73485. | ~~~~~~~~~~~~~~^~~~~
  73486. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  73487. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  73488. | ^~~~~~~~~~~~~~ ~~~~~
  73489. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  73490. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  73491. | ^~~~~~~~~~~~~~
  73492. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  73493. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  73494. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  73495. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  73496. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  73497. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  73498. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  73499. 8 | #define NULL ((void *)0)
  73500. | ^~~~~~~~~~~
  73501. | |
  73502. | void *
  73503. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  73504. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  73505. | ^~~~
  73506. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  73507. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  73508. | ~~~~~~~~~~~~~~^~~~~
  73509. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  73510. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  73511. | ^~
  73512. | |
  73513. | struct mm_struct *
  73514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  73515. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  73516. | ~~~~~~~~~~~~~~^~~~~~~~
  73517. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  73518. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  73519. | ^~~~~~~~
  73520. | |
  73521. | long unsigned int
  73522. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  73523. 2535 | unsigned int gup_flags, struct page **pages);
  73524. | ~~~~~~~~~~~~~~^~~~~
  73525. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  73526. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  73527. | ^~~~~~~~~~~~~~ ~~~~~
  73528. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  73529. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  73530. | ^~~~~~~~~~~~~~
  73531. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  73532. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  73533. 237 | return (unsigned long)(vmf->virtual_address);
  73534. | ^~~~~~~~~~~~~~~
  73535. | real_address
  73536. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  73537. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73538. 246 | down_read(&mm->mmap_sem);
  73539. | ^~~~~~~~
  73540. | mmap_base
  73541. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  73542. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73543. 255 | up_read(&mm->mmap_sem);
  73544. | ^~~~~~~~
  73545. | mmap_base
  73546. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  73547. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73548. 264 | down_write(&mm->mmap_sem);
  73549. | ^~~~~~~~
  73550. | mmap_base
  73551. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  73552. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73553. 273 | up_write(&mm->mmap_sem);
  73554. | ^~~~~~~~
  73555. | mmap_base
  73556. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  73557. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73558. 282 | return rwsem_is_locked(&mm->mmap_sem);
  73559. | ^~~~~~~~
  73560. | mmap_base
  73561. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  73562. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  73563. 291 | return &mm->mmap_sem;
  73564. | ^~~~~~~~
  73565. | mmap_base
  73566. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  73567. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  73568. 300 | vma->vm_flags |= flags;
  73569. | ^~
  73570. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  73571. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  73572. 309 | vma->vm_flags &= ~flags;
  73573. | ^~
  73574. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  73575. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73576. 502 | NV_MEMDBG_ADD(ptr, size);
  73577. | ^
  73578. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73579. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73580. 287 | ktime_get_raw_ts64(&tm);
  73581. | ^~~
  73582. | |
  73583. | struct timespec64 *
  73584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73585. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73586. | ~~~~~~~~~~~~~~~~~~~^~
  73587. nvidia-uvm/uvm_linux.h: At top level:
  73588. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73589. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73590. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73591. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73592. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73593. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73594. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73595. 449 | #error "Unknown number of arguments"
  73596. | ^~~~~
  73597. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73598. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73599. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73600. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73601. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73602. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73603. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73604. 485 | #error "Unknown number of arguments"
  73605. | ^~~~~
  73606. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  73607. from nvidia-uvm/uvm_gpu.h:37,
  73608. from nvidia-uvm/uvm_global.h:32:
  73609. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  73610. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  73611. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  73612. | ^~~~~~~~~~~~~~~~~~~~
  73613. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73614. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73615. 287 | ktime_get_raw_ts64(&tm);
  73616. | ^~~
  73617. | |
  73618. | struct timespec64 *
  73619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73620. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73621. | ~~~~~~~~~~~~~~~~~~~^~
  73622. nvidia-uvm/uvm_linux.h: At top level:
  73623. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73624. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73625. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73626. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73627. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73628. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73629. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73630. 449 | #error "Unknown number of arguments"
  73631. | ^~~~~
  73632. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73633. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73634. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73635. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73636. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73637. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73638. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73639. 485 | #error "Unknown number of arguments"
  73640. | ^~~~~
  73641. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  73642. 40 | struct timespec64 {
  73643. | ^~~~~~~~~~
  73644. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  73645. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  73646. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  73647. from ././common/inc/nv-time.h:29:
  73648. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  73649. 13 | struct timespec64 {
  73650. | ^~~~~~~~~~
  73651. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  73652. 77 | static inline struct timespec64 timespec64_add
  73653. | ^~~~~~~~~~~~~~
  73654. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  73655. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  73656. | ^~~~~~~~~~~~~~
  73657. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  73658. 95 | static inline struct timespec64 timespec64_sub
  73659. | ^~~~~~~~~~~~~~
  73660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  73661. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  73662. | ^~~~~~~~~~~~~~
  73663. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  73664. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  73665. | ^~~~~~~~~~~~~~~~
  73666. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  73667. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  73668. | ^~~~~~~~~~~~~~~~
  73669. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  73670. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73671. 122 | ktime_get_raw_ts64(&ts);
  73672. | ^~~
  73673. | |
  73674. | struct timespec64 *
  73675. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  73676. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  73677. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  73678. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  73679. from ././common/inc/nv-time.h:30:
  73680. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73681. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73682. | ~~~~~~~~~~~~~~~~~~~^~
  73683. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  73684. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73685. 185 | ktime_get_raw_ts64(&tm_aux);
  73686. | ^~~~~~~
  73687. | |
  73688. | struct timespec64 *
  73689. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73690. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73691. | ~~~~~~~~~~~~~~~~~~~^~
  73692. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73693. 221 | ktime_get_raw_ts64(&tm_aux);
  73694. | ^~~~~~~
  73695. | |
  73696. | struct timespec64 *
  73697. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73698. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73699. | ~~~~~~~~~~~~~~~~~~~^~
  73700. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  73701. from nvidia-uvm/uvm_gpu.h:37,
  73702. from nvidia-uvm/uvm_global.h:32:
  73703. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  73704. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  73705. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  73706. | ^~~~~~~~~~~~~~~~~~~~
  73707. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  73708. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  73709. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  73710. | ^~~~~~~~~~~~~
  73711. | d_is_dir
  73712. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  73713. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  73714. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73715. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  73716. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73717. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73718. | ^
  73719. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73720. 573 | NV_MEMDBG_ADD(ptr, size);
  73721. | ^
  73722. ././common/inc/nv-linux.h: In function 'nv_vmap':
  73723. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73724. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  73725. | ^
  73726. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  73727. from nvidia-uvm/uvm_channel.h:29,
  73728. from nvidia-uvm/uvm_push.h:29,
  73729. from nvidia-uvm/uvm_hal.h:31:
  73730. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  73731. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  73732. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  73733. | ^~~~~~~~~~~~~~~~~~~~
  73734. cc1: some warnings being treated as errors
  73735. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere.o] Error 1
  73736. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  73737. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  73738. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  73739. | ^~~~~~~~~~~~~~~~~~~~~~~
  73740. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73741. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73742. 520 | NV_MEMDBG_ADD(ptr, size);
  73743. | ^
  73744. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  73745. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73746. 502 | NV_MEMDBG_ADD(ptr, size);
  73747. | ^
  73748. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  73749. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  73750. 736 | return phys_to_dma(dev, pa);
  73751. | ^~~~~~~~~~~
  73752. | nv_phys_to_dma
  73753. CC [M] nvidia-uvm/uvm_kvmalloc.o
  73754. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  73755. from nvidia-uvm/uvm_channel.h:29,
  73756. from nvidia-uvm/uvm_push.h:29,
  73757. from nvidia-uvm/uvm_hal.h:31:
  73758. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  73759. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73760. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73761. 287 | ktime_get_raw_ts64(&tm);
  73762. | ^~~
  73763. | |
  73764. | struct timespec64 *
  73765. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73766. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73767. | ~~~~~~~~~~~~~~~~~~~^~
  73768. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  73769. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  73770. | ^~~~~~~~~~~~~~~~~~~~
  73771. nvidia-uvm/uvm_linux.h: At top level:
  73772. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73773. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73774. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73775. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73776. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73777. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73778. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73779. 449 | #error "Unknown number of arguments"
  73780. | ^~~~~
  73781. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73782. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73783. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73784. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73785. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73786. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73787. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73788. 485 | #error "Unknown number of arguments"
  73789. | ^~~~~
  73790. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  73791. from nvidia-uvm/uvm_gpu.h:37,
  73792. from nvidia-uvm/uvm_global.h:32,
  73793. from nvidia-uvm/uvm_turing_fault_buffer.c:25:
  73794. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  73795. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  73796. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  73797. | ^~~~~~~~~~~~~~~~~~~~
  73798. cc1: some warnings being treated as errors
  73799. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  73800. from nvidia-uvm/uvm_gpu.h:37,
  73801. from nvidia-uvm/uvm_global.h:32:
  73802. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  73803. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  73804. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  73805. | ^~~~~~~~~~~~~~~~~~~~
  73806. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_mmu.o] Error 1
  73807. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  73808. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73809. 502 | NV_MEMDBG_ADD(ptr, size);
  73810. | ^
  73811. CC [M] nvidia-uvm/uvm_pmm_sysmem.o
  73812. In file included from ././common/inc/conftest.h:28,
  73813. from ././common/inc/nv-time.h:27,
  73814. from nvidia-uvm/uvm_linux.h:37,
  73815. from nvidia-uvm/uvm_common.h:43,
  73816. from nvidia-uvm/uvm_kvmalloc.c:24:
  73817. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  73818. 74 | #error dma_buf_export() conftest failed!
  73819. | ^~~~~
  73820. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  73821. 87 | #error wait_on_bit_lock() conftest failed!
  73822. | ^~~~~
  73823. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  73824. 90 | #error radix_tree_replace_slot() conftest failed!
  73825. | ^~~~~
  73826. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  73827. from nvidia-uvm/uvm_channel.h:29,
  73828. from nvidia-uvm/uvm_push.h:29,
  73829. from nvidia-uvm/uvm_hal.h:31:
  73830. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  73831. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  73832. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  73833. | ^~~~~~~~~~~~~~~~~~~~
  73834. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  73835. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  73836. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  73837. | ^~~~~~~~~~~~~
  73838. | d_is_dir
  73839. In file included from ././common/inc/conftest.h:28,
  73840. from ././common/inc/nv-time.h:27,
  73841. from nvidia-uvm/uvm_linux.h:37,
  73842. from nvidia-uvm/uvm_gpu.h:31,
  73843. from nvidia-uvm/uvm_pmm_sysmem.c:24:
  73844. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  73845. 74 | #error dma_buf_export() conftest failed!
  73846. | ^~~~~
  73847. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  73848. 87 | #error wait_on_bit_lock() conftest failed!
  73849. | ^~~~~
  73850. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  73851. 90 | #error radix_tree_replace_slot() conftest failed!
  73852. | ^~~~~
  73853. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  73854. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  73855. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  73856. 533 | ptr = ioremap_cache_shared(phys, size);
  73857. | ^~~~~~~~~~~~~~~~~~~~
  73858. | ioremap_cache
  73859. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  73860. 287 | ktime_get_raw_ts64(&tm);
  73861. | ^~~
  73862. | |
  73863. | struct timespec64 *
  73864. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  73865. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  73866. | ~~~~~~~~~~~~~~~~~~~^~
  73867. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73868. 533 | ptr = ioremap_cache_shared(phys, size);
  73869. | ^
  73870. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73871. 556 | NV_MEMDBG_ADD(ptr, size);
  73872. | ^
  73873. nvidia-uvm/uvm_linux.h: At top level:
  73874. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73875. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  73876. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73877. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73878. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  73879. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73880. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  73881. 449 | #error "Unknown number of arguments"
  73882. | ^~~~~
  73883. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73884. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  73885. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73886. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  73887. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  73888. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73889. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  73890. 485 | #error "Unknown number of arguments"
  73891. | ^~~~~
  73892. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  73893. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  73894. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  73895. | ^~~~~~~~~~~~~~~~~~~~~~~
  73896. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73897. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73898. 520 | NV_MEMDBG_ADD(ptr, size);
  73899. | ^
  73900. cc1: some warnings being treated as errors
  73901. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_mmu.o] Error 1
  73902. nvidia-uvm/uvm_hopper_fault_buffer.c:30:6: warning: no previous prototype for 'uvm_hal_hopper_fault_buffer_get_ve_id' [-Wmissing-prototypes]
  73903. 30 | NvU8 uvm_hal_hopper_fault_buffer_get_ve_id(NvU16 mmu_engine_id, uvm_mmu_engine_type_t mmu_engine_type)
  73904. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73905. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  73906. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  73907. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  73908. | ^~~~~~~~~~~~~~~~~~~~~~~
  73909. cc1: some warnings being treated as errors
  73910. CC [M] nvidia-uvm/uvm_pmm_gpu.o
  73911. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73912. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73913. 520 | NV_MEMDBG_ADD(ptr, size);
  73914. | ^
  73915. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper.o] Error 1
  73916. cc1: some warnings being treated as errors
  73917. cc1: some warnings being treated as errors
  73918. CC [M] nvidia-uvm/uvm_migrate.o
  73919. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  73920. from nvidia-uvm/uvm_gpu.h:37,
  73921. from nvidia-uvm/uvm_global.h:32,
  73922. from nvidia-uvm/uvm_turing_access_counter_buffer.c:25:
  73923. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  73924. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  73925. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  73926. | ^~~~~~~~~~~~~~~~~~~~
  73927. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_fault_buffer.o] Error 1
  73928. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_fault_buffer.o] Error 1
  73929. CC [M] nvidia-uvm/uvm_populate_pageable.o
  73930. cc1: some warnings being treated as errors
  73931. CC [M] nvidia-uvm/uvm_migrate_pageable.o
  73932. In file included from ././common/inc/conftest.h:28,
  73933. from ././common/inc/nv-time.h:27,
  73934. from nvidia-uvm/uvm_linux.h:37,
  73935. from nvidia-uvm/uvm_common.h:43,
  73936. from nvidia-uvm/uvm_pmm_gpu.c:162:
  73937. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  73938. 74 | #error dma_buf_export() conftest failed!
  73939. | ^~~~~
  73940. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  73941. 87 | #error wait_on_bit_lock() conftest failed!
  73942. | ^~~~~
  73943. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  73944. 90 | #error radix_tree_replace_slot() conftest failed!
  73945. | ^~~~~
  73946. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_host.o] Error 1
  73947. cc1: some warnings being treated as errors
  73948. In file included from ././common/inc/conftest.h:28,
  73949. from ././common/inc/nv-time.h:27,
  73950. from nvidia-uvm/uvm_linux.h:37,
  73951. from nvidia-uvm/uvm_common.h:43,
  73952. from nvidia-uvm/uvm_migrate.c:24:
  73953. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  73954. 74 | #error dma_buf_export() conftest failed!
  73955. | ^~~~~
  73956. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  73957. 87 | #error wait_on_bit_lock() conftest failed!
  73958. | ^~~~~
  73959. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  73960. 90 | #error radix_tree_replace_slot() conftest failed!
  73961. | ^~~~~
  73962. CC [M] nvidia-uvm/uvm_map_external.o
  73963. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_ce.o] Error 1
  73964. CC [M] nvidia-uvm/uvm_user_channel.o
  73965. In file included from ././common/inc/conftest.h:28,
  73966. from ././common/inc/nv-time.h:27,
  73967. from nvidia-uvm/uvm_linux.h:37,
  73968. from nvidia-uvm/uvm_common.h:43,
  73969. from nvidia-uvm/uvm_populate_pageable.c:24:
  73970. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  73971. 74 | #error dma_buf_export() conftest failed!
  73972. | ^~~~~
  73973. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  73974. 87 | #error wait_on_bit_lock() conftest failed!
  73975. | ^~~~~
  73976. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  73977. 90 | #error radix_tree_replace_slot() conftest failed!
  73978. | ^~~~~
  73979. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  73980. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  73981. 533 | ptr = ioremap_cache_shared(phys, size);
  73982. | ^~~~~~~~~~~~~~~~~~~~
  73983. | ioremap_cache
  73984. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73985. 533 | ptr = ioremap_cache_shared(phys, size);
  73986. | ^
  73987. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73988. 556 | NV_MEMDBG_ADD(ptr, size);
  73989. | ^
  73990. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  73991. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  73992. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73993. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  73994. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  73995. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  73996. | ^
  73997. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  73998. 573 | NV_MEMDBG_ADD(ptr, size);
  73999. | ^
  74000. ././common/inc/nv-linux.h: In function 'nv_vmap':
  74001. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74002. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  74003. | ^
  74004. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  74005. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  74006. 533 | ptr = ioremap_cache_shared(phys, size);
  74007. | ^~~~~~~~~~~~~~~~~~~~
  74008. | ioremap_cache
  74009. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  74010. 533 | ptr = ioremap_cache_shared(phys, size);
  74011. | ^
  74012. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74013. 556 | NV_MEMDBG_ADD(ptr, size);
  74014. | ^
  74015. In file included from ././common/inc/conftest.h:28,
  74016. from ././common/inc/nv-time.h:27,
  74017. from nvidia-uvm/uvm_linux.h:37,
  74018. from nvidia-uvm/uvm_common.h:43,
  74019. from nvidia-uvm/uvm_map_external.c:24:
  74020. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  74021. 74 | #error dma_buf_export() conftest failed!
  74022. | ^~~~~
  74023. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  74024. 87 | #error wait_on_bit_lock() conftest failed!
  74025. | ^~~~~
  74026. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  74027. 90 | #error radix_tree_replace_slot() conftest failed!
  74028. | ^~~~~
  74029. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  74030. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  74031. 736 | return phys_to_dma(dev, pa);
  74032. | ^~~~~~~~~~~
  74033. | nv_phys_to_dma
  74034. In file included from ././common/inc/conftest.h:28,
  74035. from ././common/inc/nv-time.h:27,
  74036. from nvidia-uvm/uvm_linux.h:37,
  74037. from nvidia-uvm/uvm_common.h:43,
  74038. from nvidia-uvm/uvm_user_channel.c:24:
  74039. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  74040. 74 | #error dma_buf_export() conftest failed!
  74041. | ^~~~~
  74042. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  74043. 87 | #error wait_on_bit_lock() conftest failed!
  74044. | ^~~~~
  74045. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  74046. 90 | #error radix_tree_replace_slot() conftest failed!
  74047. | ^~~~~
  74048. In file included from ././common/inc/conftest.h:28,
  74049. from ././common/inc/nv-time.h:27,
  74050. from nvidia-uvm/uvm_linux.h:37,
  74051. from nvidia-uvm/uvm_common.h:43,
  74052. from nvidia-uvm/uvm_migrate_pageable.c:24:
  74053. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  74054. 74 | #error dma_buf_export() conftest failed!
  74055. | ^~~~~
  74056. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  74057. 87 | #error wait_on_bit_lock() conftest failed!
  74058. | ^~~~~
  74059. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  74060. 90 | #error radix_tree_replace_slot() conftest failed!
  74061. | ^~~~~
  74062. cc1: some warnings being treated as errors
  74063. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  74064. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74065. 502 | NV_MEMDBG_ADD(ptr, size);
  74066. | ^
  74067. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_host.o] Error 1
  74068. CC [M] nvidia-uvm/uvm_hmm.o
  74069. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  74070. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  74071. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  74072. | ^~~~~~~~~~~~~
  74073. | d_is_dir
  74074. cc1: some warnings being treated as errors
  74075. 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
  74076. In file included from ././common/inc/conftest.h:28,
  74077. from ././common/inc/nv-time.h:27,
  74078. from nvidia-uvm/uvm_linux.h:37,
  74079. from nvidia-uvm/uvm_common.h:43,
  74080. from nvidia-uvm/uvm_va_block_types.h:27,
  74081. from nvidia-uvm/uvm_hmm.h:29,
  74082. from nvidia-uvm/uvm_hmm.c:24:
  74083. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  74084. 74 | #error dma_buf_export() conftest failed!
  74085. | ^~~~~
  74086. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  74087. 87 | #error wait_on_bit_lock() conftest failed!
  74088. | ^~~~~
  74089. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  74090. 90 | #error radix_tree_replace_slot() conftest failed!
  74091. | ^~~~~
  74092. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74093. 40 | struct timespec64 {
  74094. | ^~~~~~~~~~
  74095. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74096. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74097. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74098. from ././common/inc/nv-time.h:29:
  74099. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74100. 13 | struct timespec64 {
  74101. | ^~~~~~~~~~
  74102. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74103. 77 | static inline struct timespec64 timespec64_add
  74104. | ^~~~~~~~~~~~~~
  74105. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74106. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74107. | ^~~~~~~~~~~~~~
  74108. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74109. 95 | static inline struct timespec64 timespec64_sub
  74110. | ^~~~~~~~~~~~~~
  74111. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74112. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74113. | ^~~~~~~~~~~~~~
  74114. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74115. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74116. | ^~~~~~~~~~~~~~~~
  74117. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74118. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74119. | ^~~~~~~~~~~~~~~~
  74120. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74121. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74122. 122 | ktime_get_raw_ts64(&ts);
  74123. | ^~~
  74124. | |
  74125. | struct timespec64 *
  74126. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  74127. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  74128. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  74129. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  74130. from ././common/inc/nv-time.h:30:
  74131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74132. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74133. | ~~~~~~~~~~~~~~~~~~~^~
  74134. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  74135. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74136. 185 | ktime_get_raw_ts64(&tm_aux);
  74137. | ^~~~~~~
  74138. | |
  74139. | struct timespec64 *
  74140. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74141. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74142. | ~~~~~~~~~~~~~~~~~~~^~
  74143. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74144. 221 | ktime_get_raw_ts64(&tm_aux);
  74145. | ^~~~~~~
  74146. | |
  74147. | struct timespec64 *
  74148. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74149. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74150. | ~~~~~~~~~~~~~~~~~~~^~
  74151. CC [M] nvidia-uvm/uvm_perf_heuristics.o
  74152. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  74153. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74154. 287 | ktime_get_raw_ts64(&tm);
  74155. | ^~~
  74156. | |
  74157. | struct timespec64 *
  74158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74159. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74160. | ~~~~~~~~~~~~~~~~~~~^~
  74161. nvidia-uvm/uvm_linux.h: At top level:
  74162. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74163. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  74164. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74165. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74166. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  74167. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74168. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  74169. 449 | #error "Unknown number of arguments"
  74170. | ^~~~~
  74171. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74172. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  74173. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74174. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74175. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  74176. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74177. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  74178. 485 | #error "Unknown number of arguments"
  74179. | ^~~~~
  74180. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  74181. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  74182. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  74183. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  74184. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  74185. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  74186. | ^
  74187. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74188. 573 | NV_MEMDBG_ADD(ptr, size);
  74189. | ^
  74190. ././common/inc/nv-linux.h: In function 'nv_vmap':
  74191. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74192. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  74193. | ^
  74194. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  74195. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  74196. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  74197. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  74198. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  74199. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  74200. | ^
  74201. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74202. 573 | NV_MEMDBG_ADD(ptr, size);
  74203. | ^
  74204. In file included from ././common/inc/conftest.h:28,
  74205. from ././common/inc/nv-time.h:27,
  74206. from nvidia-uvm/uvm_linux.h:37,
  74207. from nvidia-uvm/uvm_perf_heuristics.c:24:
  74208. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  74209. 74 | #error dma_buf_export() conftest failed!
  74210. | ^~~~~
  74211. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  74212. 87 | #error wait_on_bit_lock() conftest failed!
  74213. | ^~~~~
  74214. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  74215. 90 | #error radix_tree_replace_slot() conftest failed!
  74216. | ^~~~~
  74217. ././common/inc/nv-linux.h: In function 'nv_vmap':
  74218. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74219. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  74220. | ^
  74221. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  74222. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  74223. 736 | return phys_to_dma(dev, pa);
  74224. | ^~~~~~~~~~~
  74225. | nv_phys_to_dma
  74226. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  74227. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  74228. 736 | return phys_to_dma(dev, pa);
  74229. | ^~~~~~~~~~~
  74230. | nv_phys_to_dma
  74231. In file included from ././common/inc/nv-linux.h:34,
  74232. from nvidia-uvm/uvm_linux.h:40:
  74233. ././common/inc/nv-mm.h: At top level:
  74234. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  74235. 29 | typedef int vm_fault_t;
  74236. | ^~~~~~~~~~
  74237. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74238. 40 | struct timespec64 {
  74239. | ^~~~~~~~~~
  74240. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74241. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74242. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74243. from ././common/inc/nv-time.h:29:
  74244. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74245. 13 | struct timespec64 {
  74246. | ^~~~~~~~~~
  74247. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  74248. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  74249. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  74250. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  74251. from ././common/inc/nv-lock.h:35,
  74252. from ././common/inc/nv-linux.h:32:
  74253. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  74254. 1311 | typedef __bitwise unsigned int vm_fault_t;
  74255. | ^~~~~~~~~~
  74256. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  74257. from ././common/inc/nv-time.h:28:
  74258. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  74259. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74260. 77 | static inline struct timespec64 timespec64_add
  74261. | ^~~~~~~~~~~~~~
  74262. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74263. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74264. | ^~~~~~~~~~~~~~
  74265. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  74266. 52 | #define current get_current()
  74267. | ^~~~~~~~~~~~~
  74268. | |
  74269. | struct task_struct *
  74270. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  74271. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  74272. | ^~~~~~~
  74273. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74274. 95 | static inline struct timespec64 timespec64_sub
  74275. | ^~~~~~~~~~~~~~
  74276. In file included from ././common/inc/nv-pgprot.h:30,
  74277. from ././common/inc/nv-linux.h:33:
  74278. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  74279. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  74280. | ~~~~~~~~~~~~~~^~~~~
  74281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74282. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74283. | ^~~~~~~~~~~~~~
  74284. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  74285. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  74286. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  74287. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  74288. | ~~~~~~~~~~~~~~^~~~~~~~
  74289. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74290. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74291. | ^~~~~~~~~~~~~~~~
  74292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74293. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74294. | ^~~~~~~~~~~~~~~~
  74295. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  74296. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  74297. | ^~~~~~~~
  74298. | |
  74299. | long unsigned int
  74300. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74301. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  74302. 2535 | unsigned int gup_flags, struct page **pages);
  74303. | ~~~~~~~~~~~~~~^~~~~
  74304. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74305. 122 | ktime_get_raw_ts64(&ts);
  74306. | ^~~
  74307. | |
  74308. | struct timespec64 *
  74309. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  74310. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  74311. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  74312. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  74313. from ././common/inc/nv-time.h:30:
  74314. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74315. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74316. | ~~~~~~~~~~~~~~~~~~~^~
  74317. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  74318. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  74319. | ^~~~~~~~~~~~~~ ~~~~~
  74320. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  74321. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  74322. | ^~~~~~~~~~~~~~
  74323. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  74324. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  74325. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  74326. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  74327. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  74328. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  74329. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  74330. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74331. 185 | ktime_get_raw_ts64(&tm_aux);
  74332. | ^~~~~~~
  74333. | |
  74334. | struct timespec64 *
  74335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74336. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74337. | ~~~~~~~~~~~~~~~~~~~^~
  74338. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74339. 221 | ktime_get_raw_ts64(&tm_aux);
  74340. | ^~~~~~~
  74341. | |
  74342. | struct timespec64 *
  74343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74344. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74345. | ~~~~~~~~~~~~~~~~~~~^~
  74346. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  74347. 8 | #define NULL ((void *)0)
  74348. | ^~~~~~~~~~~
  74349. | |
  74350. | void *
  74351. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  74352. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  74353. | ^~~~
  74354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  74355. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  74356. | ~~~~~~~~~~~~~~^~~~~
  74357. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  74358. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  74359. | ^~
  74360. | |
  74361. | struct mm_struct *
  74362. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  74363. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  74364. | ~~~~~~~~~~~~~~^~~~~~~~
  74365. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  74366. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  74367. | ^~~~~~~~
  74368. | |
  74369. | long unsigned int
  74370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  74371. 2535 | unsigned int gup_flags, struct page **pages);
  74372. | ~~~~~~~~~~~~~~^~~~~
  74373. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  74374. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  74375. | ^~~~~~~~~~~~~~ ~~~~~
  74376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  74377. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  74378. | ^~~~~~~~~~~~~~
  74379. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  74380. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  74381. 237 | return (unsigned long)(vmf->virtual_address);
  74382. | ^~~~~~~~~~~~~~~
  74383. | real_address
  74384. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  74385. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  74386. 246 | down_read(&mm->mmap_sem);
  74387. | ^~~~~~~~
  74388. | mmap_base
  74389. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  74390. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  74391. 255 | up_read(&mm->mmap_sem);
  74392. | ^~~~~~~~
  74393. | mmap_base
  74394. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  74395. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  74396. 264 | down_write(&mm->mmap_sem);
  74397. | ^~~~~~~~
  74398. | mmap_base
  74399. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  74400. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  74401. 273 | up_write(&mm->mmap_sem);
  74402. | ^~~~~~~~
  74403. | mmap_base
  74404. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  74405. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  74406. 282 | return rwsem_is_locked(&mm->mmap_sem);
  74407. | ^~~~~~~~
  74408. | mmap_base
  74409. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  74410. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  74411. 291 | return &mm->mmap_sem;
  74412. | ^~~~~~~~
  74413. | mmap_base
  74414. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  74415. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  74416. 300 | vma->vm_flags |= flags;
  74417. | ^~
  74418. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  74419. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  74420. 309 | vma->vm_flags &= ~flags;
  74421. | ^~
  74422. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  74423. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  74424. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  74425. | ^~~~~~~~~~~~~
  74426. | d_is_dir
  74427. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74428. 40 | struct timespec64 {
  74429. | ^~~~~~~~~~
  74430. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74431. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74432. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74433. from ././common/inc/nv-time.h:29:
  74434. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74435. 13 | struct timespec64 {
  74436. | ^~~~~~~~~~
  74437. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74438. 77 | static inline struct timespec64 timespec64_add
  74439. | ^~~~~~~~~~~~~~
  74440. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74441. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74442. | ^~~~~~~~~~~~~~
  74443. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74444. 95 | static inline struct timespec64 timespec64_sub
  74445. | ^~~~~~~~~~~~~~
  74446. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74447. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74448. | ^~~~~~~~~~~~~~
  74449. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74450. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74451. | ^~~~~~~~~~~~~~~~
  74452. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74453. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74454. | ^~~~~~~~~~~~~~~~
  74455. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74456. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74457. 122 | ktime_get_raw_ts64(&ts);
  74458. | ^~~
  74459. | |
  74460. | struct timespec64 *
  74461. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  74462. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  74463. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  74464. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  74465. from ././common/inc/nv-time.h:30:
  74466. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74467. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74468. | ~~~~~~~~~~~~~~~~~~~^~
  74469. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  74470. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74471. 185 | ktime_get_raw_ts64(&tm_aux);
  74472. | ^~~~~~~
  74473. | |
  74474. | struct timespec64 *
  74475. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74476. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74477. | ~~~~~~~~~~~~~~~~~~~^~
  74478. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74479. 221 | ktime_get_raw_ts64(&tm_aux);
  74480. | ^~~~~~~
  74481. | |
  74482. | struct timespec64 *
  74483. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74484. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74485. | ~~~~~~~~~~~~~~~~~~~^~
  74486. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  74487. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  74488. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  74489. | ^~~~~~~~~~~~~~~~~~~~~~~
  74490. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  74491. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74492. 520 | NV_MEMDBG_ADD(ptr, size);
  74493. | ^
  74494. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  74495. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  74496. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  74497. | ^~~~~~~~~~~~~
  74498. | d_is_dir
  74499. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  74500. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74501. 287 | ktime_get_raw_ts64(&tm);
  74502. | ^~~
  74503. | |
  74504. | struct timespec64 *
  74505. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74506. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74507. | ~~~~~~~~~~~~~~~~~~~^~
  74508. nvidia-uvm/uvm_linux.h: At top level:
  74509. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74510. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  74511. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74512. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74513. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  74514. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74515. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  74516. 449 | #error "Unknown number of arguments"
  74517. | ^~~~~
  74518. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74519. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  74520. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74521. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74522. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  74523. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74524. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  74525. 485 | #error "Unknown number of arguments"
  74526. | ^~~~~
  74527. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  74528. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74529. 287 | ktime_get_raw_ts64(&tm);
  74530. | ^~~
  74531. | |
  74532. | struct timespec64 *
  74533. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74534. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74535. | ~~~~~~~~~~~~~~~~~~~^~
  74536. nvidia-uvm/uvm_linux.h: At top level:
  74537. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74538. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  74539. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74540. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74541. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  74542. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74543. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  74544. 449 | #error "Unknown number of arguments"
  74545. | ^~~~~
  74546. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74547. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  74548. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74549. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  74550. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  74551. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74552. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  74553. 485 | #error "Unknown number of arguments"
  74554. | ^~~~~
  74555. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  74556. from nvidia-uvm/uvm_channel.h:29,
  74557. from nvidia-uvm/uvm_push.h:29,
  74558. from nvidia-uvm/uvm_hal.h:31:
  74559. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  74560. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  74561. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  74562. | ^~~~~~~~~~~~~~~~~~~~
  74563. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  74564. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  74565. 533 | ptr = ioremap_cache_shared(phys, size);
  74566. | ^~~~~~~~~~~~~~~~~~~~
  74567. | ioremap_cache
  74568. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  74569. 533 | ptr = ioremap_cache_shared(phys, size);
  74570. | ^
  74571. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74572. 556 | NV_MEMDBG_ADD(ptr, size);
  74573. | ^
  74574. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74575. 40 | struct timespec64 {
  74576. | ^~~~~~~~~~
  74577. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74578. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74579. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74580. from ././common/inc/nv-time.h:29:
  74581. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74582. 13 | struct timespec64 {
  74583. | ^~~~~~~~~~
  74584. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74585. 40 | struct timespec64 {
  74586. | ^~~~~~~~~~
  74587. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  74588. from nvidia-uvm/uvm_gpu.h:37,
  74589. from nvidia-uvm/uvm_global.h:32:
  74590. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  74591. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74592. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74593. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74594. from ././common/inc/nv-time.h:29:
  74595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74596. 13 | struct timespec64 {
  74597. | ^~~~~~~~~~
  74598. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  74599. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  74600. | ^~~~~~~~~~~~~~~~~~~~
  74601. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74602. 77 | static inline struct timespec64 timespec64_add
  74603. | ^~~~~~~~~~~~~~
  74604. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74605. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74606. | ^~~~~~~~~~~~~~
  74607. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74608. 95 | static inline struct timespec64 timespec64_sub
  74609. | ^~~~~~~~~~~~~~
  74610. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74611. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74612. | ^~~~~~~~~~~~~~
  74613. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74614. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74615. | ^~~~~~~~~~~~~~~~
  74616. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74617. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74618. | ^~~~~~~~~~~~~~~~
  74619. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74620. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74621. 122 | ktime_get_raw_ts64(&ts);
  74622. | ^~~
  74623. | |
  74624. | struct timespec64 *
  74625. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  74626. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  74627. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  74628. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  74629. from ././common/inc/nv-time.h:30:
  74630. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74631. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74632. | ~~~~~~~~~~~~~~~~~~~^~
  74633. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  74634. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74635. 185 | ktime_get_raw_ts64(&tm_aux);
  74636. | ^~~~~~~
  74637. | |
  74638. | struct timespec64 *
  74639. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74640. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74641. | ~~~~~~~~~~~~~~~~~~~^~
  74642. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74643. 221 | ktime_get_raw_ts64(&tm_aux);
  74644. | ^~~~~~~
  74645. | |
  74646. | struct timespec64 *
  74647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74648. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74649. | ~~~~~~~~~~~~~~~~~~~^~
  74650. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74651. 77 | static inline struct timespec64 timespec64_add
  74652. | ^~~~~~~~~~~~~~
  74653. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74654. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74655. | ^~~~~~~~~~~~~~
  74656. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74657. 95 | static inline struct timespec64 timespec64_sub
  74658. | ^~~~~~~~~~~~~~
  74659. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74660. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74661. | ^~~~~~~~~~~~~~
  74662. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74663. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74664. | ^~~~~~~~~~~~~~~~
  74665. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74666. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74667. | ^~~~~~~~~~~~~~~~
  74668. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74669. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74670. 122 | ktime_get_raw_ts64(&ts);
  74671. | ^~~
  74672. | |
  74673. | struct timespec64 *
  74674. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  74675. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  74676. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  74677. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  74678. from ././common/inc/nv-time.h:30:
  74679. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74680. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74681. | ~~~~~~~~~~~~~~~~~~~^~
  74682. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  74683. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74684. 185 | ktime_get_raw_ts64(&tm_aux);
  74685. | ^~~~~~~
  74686. | |
  74687. | struct timespec64 *
  74688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74689. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74690. | ~~~~~~~~~~~~~~~~~~~^~
  74691. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74692. 221 | ktime_get_raw_ts64(&tm_aux);
  74693. | ^~~~~~~
  74694. | |
  74695. | struct timespec64 *
  74696. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74697. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74698. | ~~~~~~~~~~~~~~~~~~~^~
  74699. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74700. 40 | struct timespec64 {
  74701. | ^~~~~~~~~~
  74702. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74703. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74704. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74705. from ././common/inc/nv-time.h:29:
  74706. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74707. 13 | struct timespec64 {
  74708. | ^~~~~~~~~~
  74709. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74710. 77 | static inline struct timespec64 timespec64_add
  74711. | ^~~~~~~~~~~~~~
  74712. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74713. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74714. | ^~~~~~~~~~~~~~
  74715. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74716. 95 | static inline struct timespec64 timespec64_sub
  74717. | ^~~~~~~~~~~~~~
  74718. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74719. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74720. | ^~~~~~~~~~~~~~
  74721. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74722. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74723. | ^~~~~~~~~~~~~~~~
  74724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74725. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74726. | ^~~~~~~~~~~~~~~~
  74727. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74728. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74729. 122 | ktime_get_raw_ts64(&ts);
  74730. | ^~~
  74731. | |
  74732. | struct timespec64 *
  74733. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  74734. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  74735. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  74736. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  74737. from ././common/inc/nv-time.h:30:
  74738. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74739. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74740. | ~~~~~~~~~~~~~~~~~~~^~
  74741. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  74742. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74743. 185 | ktime_get_raw_ts64(&tm_aux);
  74744. | ^~~~~~~
  74745. | |
  74746. | struct timespec64 *
  74747. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74748. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74749. | ~~~~~~~~~~~~~~~~~~~^~
  74750. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74751. 221 | ktime_get_raw_ts64(&tm_aux);
  74752. | ^~~~~~~
  74753. | |
  74754. | struct timespec64 *
  74755. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74756. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74757. | ~~~~~~~~~~~~~~~~~~~^~
  74758. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74759. 40 | struct timespec64 {
  74760. | ^~~~~~~~~~
  74761. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74762. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74763. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74764. from ././common/inc/nv-time.h:29:
  74765. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74766. 13 | struct timespec64 {
  74767. | ^~~~~~~~~~
  74768. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74769. 77 | static inline struct timespec64 timespec64_add
  74770. | ^~~~~~~~~~~~~~
  74771. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74772. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74773. | ^~~~~~~~~~~~~~
  74774. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74775. 95 | static inline struct timespec64 timespec64_sub
  74776. | ^~~~~~~~~~~~~~
  74777. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74778. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74779. | ^~~~~~~~~~~~~~
  74780. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74781. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74782. | ^~~~~~~~~~~~~~~~
  74783. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74784. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74785. | ^~~~~~~~~~~~~~~~
  74786. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74787. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74788. 122 | ktime_get_raw_ts64(&ts);
  74789. | ^~~
  74790. | |
  74791. | struct timespec64 *
  74792. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  74793. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  74794. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  74795. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  74796. from ././common/inc/nv-time.h:30:
  74797. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74798. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74799. | ~~~~~~~~~~~~~~~~~~~^~
  74800. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  74801. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74802. 185 | ktime_get_raw_ts64(&tm_aux);
  74803. | ^~~~~~~
  74804. | |
  74805. | struct timespec64 *
  74806. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74807. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74808. | ~~~~~~~~~~~~~~~~~~~^~
  74809. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74810. 221 | ktime_get_raw_ts64(&tm_aux);
  74811. | ^~~~~~~
  74812. | |
  74813. | struct timespec64 *
  74814. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74815. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74816. | ~~~~~~~~~~~~~~~~~~~^~
  74817. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74818. 40 | struct timespec64 {
  74819. | ^~~~~~~~~~
  74820. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74821. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74822. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74823. from ././common/inc/nv-time.h:29:
  74824. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74825. 13 | struct timespec64 {
  74826. | ^~~~~~~~~~
  74827. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74828. 77 | static inline struct timespec64 timespec64_add
  74829. | ^~~~~~~~~~~~~~
  74830. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74831. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74832. | ^~~~~~~~~~~~~~
  74833. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74834. 95 | static inline struct timespec64 timespec64_sub
  74835. | ^~~~~~~~~~~~~~
  74836. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74837. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74838. | ^~~~~~~~~~~~~~
  74839. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74840. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74841. | ^~~~~~~~~~~~~~~~
  74842. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74843. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74844. | ^~~~~~~~~~~~~~~~
  74845. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74846. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74847. 122 | ktime_get_raw_ts64(&ts);
  74848. | ^~~
  74849. | |
  74850. | struct timespec64 *
  74851. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  74852. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  74853. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  74854. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  74855. from ././common/inc/nv-time.h:30:
  74856. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74857. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74858. | ~~~~~~~~~~~~~~~~~~~^~
  74859. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  74860. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74861. 185 | ktime_get_raw_ts64(&tm_aux);
  74862. | ^~~~~~~
  74863. | |
  74864. | struct timespec64 *
  74865. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74866. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74867. | ~~~~~~~~~~~~~~~~~~~^~
  74868. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74869. 221 | ktime_get_raw_ts64(&tm_aux);
  74870. | ^~~~~~~
  74871. | |
  74872. | struct timespec64 *
  74873. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74874. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74875. | ~~~~~~~~~~~~~~~~~~~^~
  74876. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  74877. from nvidia-uvm/uvm_channel.h:29,
  74878. from nvidia-uvm/uvm_push.h:29,
  74879. from nvidia-uvm/uvm_hal.h:31:
  74880. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  74881. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  74882. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  74883. | ^~~~~~~~~~~~~~~~~~~~
  74884. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74885. 40 | struct timespec64 {
  74886. | ^~~~~~~~~~
  74887. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74888. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74889. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74890. from ././common/inc/nv-time.h:29:
  74891. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74892. 13 | struct timespec64 {
  74893. | ^~~~~~~~~~
  74894. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74895. 77 | static inline struct timespec64 timespec64_add
  74896. | ^~~~~~~~~~~~~~
  74897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74898. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74899. | ^~~~~~~~~~~~~~
  74900. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74901. 95 | static inline struct timespec64 timespec64_sub
  74902. | ^~~~~~~~~~~~~~
  74903. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74904. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74905. | ^~~~~~~~~~~~~~
  74906. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74907. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74908. | ^~~~~~~~~~~~~~~~
  74909. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74910. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74911. | ^~~~~~~~~~~~~~~~
  74912. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74913. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74914. 122 | ktime_get_raw_ts64(&ts);
  74915. | ^~~
  74916. | |
  74917. | struct timespec64 *
  74918. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  74919. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  74920. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  74921. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  74922. from ././common/inc/nv-time.h:30:
  74923. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74924. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74925. | ~~~~~~~~~~~~~~~~~~~^~
  74926. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  74927. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74928. 185 | ktime_get_raw_ts64(&tm_aux);
  74929. | ^~~~~~~
  74930. | |
  74931. | struct timespec64 *
  74932. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74933. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74934. | ~~~~~~~~~~~~~~~~~~~^~
  74935. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74936. 221 | ktime_get_raw_ts64(&tm_aux);
  74937. | ^~~~~~~
  74938. | |
  74939. | struct timespec64 *
  74940. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  74941. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  74942. | ~~~~~~~~~~~~~~~~~~~^~
  74943. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  74944. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  74945. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  74946. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  74947. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  74948. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  74949. | ^
  74950. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74951. 573 | NV_MEMDBG_ADD(ptr, size);
  74952. | ^
  74953. ././common/inc/nv-linux.h: In function 'nv_vmap':
  74954. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  74955. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  74956. | ^
  74957. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  74958. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  74959. 736 | return phys_to_dma(dev, pa);
  74960. | ^~~~~~~~~~~
  74961. | nv_phys_to_dma
  74962. cc1: some warnings being treated as errors
  74963. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_mmu.o] Error 1
  74964. cc1: some warnings being treated as errors
  74965. CC [M] nvidia-uvm/uvm_perf_thrashing.o
  74966. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  74967. 40 | struct timespec64 {
  74968. | ^~~~~~~~~~
  74969. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  74970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  74971. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  74972. from ././common/inc/nv-time.h:29:
  74973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  74974. 13 | struct timespec64 {
  74975. | ^~~~~~~~~~
  74976. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74977. 77 | static inline struct timespec64 timespec64_add
  74978. | ^~~~~~~~~~~~~~
  74979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74980. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  74981. | ^~~~~~~~~~~~~~
  74982. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  74983. 95 | static inline struct timespec64 timespec64_sub
  74984. | ^~~~~~~~~~~~~~
  74985. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  74986. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  74987. | ^~~~~~~~~~~~~~
  74988. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  74989. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  74990. | ^~~~~~~~~~~~~~~~
  74991. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  74992. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  74993. | ^~~~~~~~~~~~~~~~
  74994. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  74995. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  74996. 122 | ktime_get_raw_ts64(&ts);
  74997. | ^~~
  74998. | |
  74999. | struct timespec64 *
  75000. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  75001. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  75002. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  75003. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  75004. from ././common/inc/nv-time.h:30:
  75005. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  75006. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  75007. | ~~~~~~~~~~~~~~~~~~~^~
  75008. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  75009. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  75010. 185 | ktime_get_raw_ts64(&tm_aux);
  75011. | ^~~~~~~
  75012. | |
  75013. | struct timespec64 *
  75014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  75015. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  75016. | ~~~~~~~~~~~~~~~~~~~^~
  75017. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  75018. 221 | ktime_get_raw_ts64(&tm_aux);
  75019. | ^~~~~~~
  75020. | |
  75021. | struct timespec64 *
  75022. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  75023. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  75024. | ~~~~~~~~~~~~~~~~~~~^~
  75025. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_ce.o] Error 1
  75026. CC [M] nvidia-uvm/uvm_perf_prefetch.o
  75027. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  75028. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  75029. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  75030. | ^~~~~~~~~~~~~
  75031. | d_is_dir
  75032. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  75033. 40 | struct timespec64 {
  75034. | ^~~~~~~~~~
  75035. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  75036. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  75037. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  75038. from ././common/inc/nv-time.h:29:
  75039. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  75040. 13 | struct timespec64 {
  75041. | ^~~~~~~~~~
  75042. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  75043. 77 | static inline struct timespec64 timespec64_add
  75044. | ^~~~~~~~~~~~~~
  75045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  75046. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  75047. | ^~~~~~~~~~~~~~
  75048. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  75049. 95 | static inline struct timespec64 timespec64_sub
  75050. | ^~~~~~~~~~~~~~
  75051. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  75052. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  75053. | ^~~~~~~~~~~~~~
  75054. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  75055. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  75056. | ^~~~~~~~~~~~~~~~
  75057. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  75058. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  75059. | ^~~~~~~~~~~~~~~~
  75060. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  75061. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  75062. 122 | ktime_get_raw_ts64(&ts);
  75063. | ^~~
  75064. | |
  75065. | struct timespec64 *
  75066. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  75067. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  75068. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  75069. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  75070. from ././common/inc/nv-time.h:30:
  75071. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  75072. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  75073. | ~~~~~~~~~~~~~~~~~~~^~
  75074. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  75075. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  75076. 185 | ktime_get_raw_ts64(&tm_aux);
  75077. | ^~~~~~~
  75078. | |
  75079. | struct timespec64 *
  75080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  75081. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  75082. | ~~~~~~~~~~~~~~~~~~~^~
  75083. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  75084. 221 | ktime_get_raw_ts64(&tm_aux);
  75085. | ^~~~~~~
  75086. | |
  75087. | struct timespec64 *
  75088. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  75089. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  75090. | ~~~~~~~~~~~~~~~~~~~^~
  75091. In file included from ././common/inc/conftest.h:28,
  75092. from ././common/inc/nv-time.h:27,
  75093. from nvidia-uvm/uvm_linux.h:37,
  75094. from nvidia-uvm/uvm_common.h:43,
  75095. from nvidia-uvm/uvm_api.h:28,
  75096. from nvidia-uvm/uvm_perf_thrashing.c:24:
  75097. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  75098. 74 | #error dma_buf_export() conftest failed!
  75099. | ^~~~~
  75100. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  75101. 87 | #error wait_on_bit_lock() conftest failed!
  75102. | ^~~~~
  75103. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  75104. 90 | #error radix_tree_replace_slot() conftest failed!
  75105. | ^~~~~
  75106. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  75107. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  75108. 502 | NV_MEMDBG_ADD(ptr, size);
  75109. | ^
  75110. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  75111. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  75112. 287 | ktime_get_raw_ts64(&tm);
  75113. | ^~~
  75114. | |
  75115. | struct timespec64 *
  75116. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  75117. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  75118. | ~~~~~~~~~~~~~~~~~~~^~
  75119. nvidia-uvm/uvm_linux.h: At top level:
  75120. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  75121. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  75122. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  75123. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  75124. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  75125. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  75126. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  75127. 449 | #error "Unknown number of arguments"
  75128. | ^~~~~
  75129. In file included from ././common/inc/conftest.h:28,
  75130. from ././common/inc/nv-time.h:27,
  75131. from nvidia-uvm/uvm_linux.h:37,
  75132. from nvidia-uvm/uvm_perf_prefetch.c:24:
  75133. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  75134. 74 | #error dma_buf_export() conftest failed!
  75135. | ^~~~~
  75136. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  75137. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  75138. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  75139. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  75140. 87 | #error wait_on_bit_lock() conftest failed!
  75141. | ^~~~~
  75142. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  75143. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  75144. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  75145. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  75146. 90 | #error radix_tree_replace_slot() conftest failed!
  75147. | ^~~~~
  75148. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  75149. 485 | #error "Unknown number of arguments"
  75150. | ^~~~~
  75151. In file included from ././common/inc/nv-linux.h:34,
  75152. from nvidia-uvm/uvm_linux.h:40:
  75153. ././common/inc/nv-mm.h: At top level:
  75154. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  75155. 29 | typedef int vm_fault_t;
  75156. | ^~~~~~~~~~
  75157. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  75158. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  75159. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  75160. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  75161. from ././common/inc/nv-lock.h:35,
  75162. from ././common/inc/nv-linux.h:32:
  75163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  75164. 1311 | typedef __bitwise unsigned int vm_fault_t;
  75165. | ^~~~~~~~~~
  75166. In file included from ././common/inc/nv-linux.h:34,
  75167. from nvidia-uvm/uvm_linux.h:40:
  75168. ././common/inc/nv-mm.h: At top level:
  75169. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  75170. from ././common/inc/nv-time.h:28:
  75171. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  75172. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  75173. 29 | typedef int vm_fault_t;
  75174. | ^~~~~~~~~~
  75175. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75176. 52 | #define current get_current()
  75177. | ^~~~~~~~~~~~~
  75178. | |
  75179. | struct task_struct *
  75180. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  75181. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75182. | ^~~~~~~
  75183. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  75184. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  75185. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  75186. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  75187. from ././common/inc/nv-lock.h:35,
  75188. from ././common/inc/nv-linux.h:32:
  75189. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  75190. 1311 | typedef __bitwise unsigned int vm_fault_t;
  75191. | ^~~~~~~~~~
  75192. In file included from ././common/inc/nv-pgprot.h:30,
  75193. from ././common/inc/nv-linux.h:33:
  75194. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  75195. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75196. | ~~~~~~~~~~~~~~^~~~~
  75197. In file included from ././common/inc/nv-linux.h:34,
  75198. from nvidia-uvm/uvm_linux.h:40:
  75199. ././common/inc/nv-mm.h: At top level:
  75200. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75201. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75202. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  75203. 29 | typedef int vm_fault_t;
  75204. | ^~~~~~~~~~
  75205. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75206. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75207. | ~~~~~~~~~~~~~~^~~~~~~~
  75208. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  75209. from ././common/inc/nv-time.h:28:
  75210. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  75211. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75212. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75213. | ^~~~~~~~
  75214. | |
  75215. | long unsigned int
  75216. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  75217. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  75218. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  75219. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  75220. from ././common/inc/nv-lock.h:35,
  75221. from ././common/inc/nv-linux.h:32:
  75222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  75223. 1311 | typedef __bitwise unsigned int vm_fault_t;
  75224. | ^~~~~~~~~~
  75225. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75226. 2535 | unsigned int gup_flags, struct page **pages);
  75227. | ~~~~~~~~~~~~~~^~~~~
  75228. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75229. 52 | #define current get_current()
  75230. | ^~~~~~~~~~~~~
  75231. | |
  75232. | struct task_struct *
  75233. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  75234. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75235. | ^~~~~~~
  75236. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75237. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75238. | ^~~~~~~~~~~~~~ ~~~~~
  75239. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  75240. from ././common/inc/nv-time.h:28:
  75241. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  75242. In file included from ././common/inc/nv-pgprot.h:30,
  75243. from ././common/inc/nv-linux.h:33:
  75244. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  75245. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75246. | ~~~~~~~~~~~~~~^~~~~
  75247. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75248. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75249. | ^~~~~~~~~~~~~~
  75250. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75251. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75252. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75253. 52 | #define current get_current()
  75254. | ^~~~~~~~~~~~~
  75255. | |
  75256. | struct task_struct *
  75257. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  75258. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75259. | ^~~~~~~
  75260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75261. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75262. | ~~~~~~~~~~~~~~^~~~~~~~
  75263. In file included from ././common/inc/nv-pgprot.h:30,
  75264. from ././common/inc/nv-linux.h:33:
  75265. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  75266. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75267. | ~~~~~~~~~~~~~~^~~~~
  75268. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75269. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75270. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75271. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75272. | ^~~~~~~~
  75273. | |
  75274. | long unsigned int
  75275. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75276. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75277. | ~~~~~~~~~~~~~~^~~~~~~~
  75278. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75279. 2535 | unsigned int gup_flags, struct page **pages);
  75280. | ~~~~~~~~~~~~~~^~~~~
  75281. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75282. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75283. | ^~~~~~~~
  75284. | |
  75285. | long unsigned int
  75286. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75287. 2535 | unsigned int gup_flags, struct page **pages);
  75288. | ~~~~~~~~~~~~~~^~~~~
  75289. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75290. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75291. | ^~~~~~~~~~~~~~ ~~~~~
  75292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75293. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75294. | ^~~~~~~~~~~~~~
  75295. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75296. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75297. | ^~~~~~~~~~~~~~ ~~~~~
  75298. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75299. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75300. | ^~~~~~~~~~~~~~
  75301. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  75302. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  75303. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  75304. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  75305. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  75306. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  75307. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  75308. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  75309. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  75310. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  75311. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  75312. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  75313. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75314. 8 | #define NULL ((void *)0)
  75315. | ^~~~~~~~~~~
  75316. | |
  75317. | void *
  75318. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  75319. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75320. | ^~~~
  75321. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75322. 8 | #define NULL ((void *)0)
  75323. | ^~~~~~~~~~~
  75324. | |
  75325. | void *
  75326. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  75327. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75328. | ^~~~
  75329. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  75330. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75331. | ~~~~~~~~~~~~~~^~~~~
  75332. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75333. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75334. | ^~
  75335. | |
  75336. | struct mm_struct *
  75337. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  75338. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75339. | ~~~~~~~~~~~~~~^~~~~
  75340. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75341. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75342. | ^~
  75343. | |
  75344. | struct mm_struct *
  75345. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75346. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75347. | ~~~~~~~~~~~~~~^~~~~~~~
  75348. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75349. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75350. | ~~~~~~~~~~~~~~^~~~~~~~
  75351. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75352. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75353. | ^~~~~~~~
  75354. | |
  75355. | long unsigned int
  75356. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75357. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75358. | ^~~~~~~~
  75359. | |
  75360. | long unsigned int
  75361. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75362. 2535 | unsigned int gup_flags, struct page **pages);
  75363. | ~~~~~~~~~~~~~~^~~~~
  75364. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75365. 2535 | unsigned int gup_flags, struct page **pages);
  75366. | ~~~~~~~~~~~~~~^~~~~
  75367. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75368. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75369. | ^~~~~~~~~~~~~~ ~~~~~
  75370. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75371. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75372. | ^~~~~~~~~~~~~~ ~~~~~
  75373. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75374. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75375. | ^~~~~~~~~~~~~~
  75376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75377. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75378. | ^~~~~~~~~~~~~~
  75379. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  75380. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  75381. 237 | return (unsigned long)(vmf->virtual_address);
  75382. | ^~~~~~~~~~~~~~~
  75383. | real_address
  75384. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  75385. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  75386. 237 | return (unsigned long)(vmf->virtual_address);
  75387. | ^~~~~~~~~~~~~~~
  75388. | real_address
  75389. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  75390. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75391. 246 | down_read(&mm->mmap_sem);
  75392. | ^~~~~~~~
  75393. | mmap_base
  75394. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  75395. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  75396. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  75397. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  75398. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  75399. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  75400. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  75401. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  75402. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75403. 246 | down_read(&mm->mmap_sem);
  75404. | ^~~~~~~~
  75405. | mmap_base
  75406. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75407. 255 | up_read(&mm->mmap_sem);
  75408. | ^~~~~~~~
  75409. | mmap_base
  75410. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75411. 8 | #define NULL ((void *)0)
  75412. | ^~~~~~~~~~~
  75413. | |
  75414. | void *
  75415. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  75416. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75417. | ^~~~
  75418. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  75419. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  75420. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75421. 264 | down_write(&mm->mmap_sem);
  75422. | ^~~~~~~~
  75423. | mmap_base
  75424. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  75425. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75426. | ~~~~~~~~~~~~~~^~~~~
  75427. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75428. 255 | up_read(&mm->mmap_sem);
  75429. | ^~~~~~~~
  75430. | mmap_base
  75431. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75432. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75433. | ^~
  75434. | |
  75435. | struct mm_struct *
  75436. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  75437. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75438. 273 | up_write(&mm->mmap_sem);
  75439. | ^~~~~~~~
  75440. | mmap_base
  75441. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  75442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75443. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75444. | ~~~~~~~~~~~~~~^~~~~~~~
  75445. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75446. 264 | down_write(&mm->mmap_sem);
  75447. | ^~~~~~~~
  75448. | mmap_base
  75449. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75450. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75451. | ^~~~~~~~
  75452. | |
  75453. | long unsigned int
  75454. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  75455. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75456. 282 | return rwsem_is_locked(&mm->mmap_sem);
  75457. | ^~~~~~~~
  75458. | mmap_base
  75459. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  75460. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75461. 2535 | unsigned int gup_flags, struct page **pages);
  75462. | ~~~~~~~~~~~~~~^~~~~
  75463. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75464. 273 | up_write(&mm->mmap_sem);
  75465. | ^~~~~~~~
  75466. | mmap_base
  75467. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  75468. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75469. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75470. | ^~~~~~~~~~~~~~ ~~~~~
  75471. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75472. 291 | return &mm->mmap_sem;
  75473. | ^~~~~~~~
  75474. | mmap_base
  75475. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75476. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75477. | ^~~~~~~~~~~~~~
  75478. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  75479. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  75480. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  75481. 300 | vma->vm_flags |= flags;
  75482. | ^~
  75483. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75484. 282 | return rwsem_is_locked(&mm->mmap_sem);
  75485. | ^~~~~~~~
  75486. | mmap_base
  75487. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  75488. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  75489. 309 | vma->vm_flags &= ~flags;
  75490. | ^~
  75491. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  75492. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  75493. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75494. 291 | return &mm->mmap_sem;
  75495. | ^~~~~~~~
  75496. | mmap_base
  75497. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  75498. 237 | return (unsigned long)(vmf->virtual_address);
  75499. | ^~~~~~~~~~~~~~~
  75500. | real_address
  75501. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  75502. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  75503. 300 | vma->vm_flags |= flags;
  75504. | ^~
  75505. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  75506. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75507. 246 | down_read(&mm->mmap_sem);
  75508. | ^~~~~~~~
  75509. | mmap_base
  75510. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  75511. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  75512. 309 | vma->vm_flags &= ~flags;
  75513. | ^~
  75514. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  75515. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75516. 255 | up_read(&mm->mmap_sem);
  75517. | ^~~~~~~~
  75518. | mmap_base
  75519. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  75520. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75521. 264 | down_write(&mm->mmap_sem);
  75522. | ^~~~~~~~
  75523. | mmap_base
  75524. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  75525. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75526. 273 | up_write(&mm->mmap_sem);
  75527. | ^~~~~~~~
  75528. | mmap_base
  75529. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  75530. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75531. 282 | return rwsem_is_locked(&mm->mmap_sem);
  75532. | ^~~~~~~~
  75533. | mmap_base
  75534. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  75535. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75536. 291 | return &mm->mmap_sem;
  75537. | ^~~~~~~~
  75538. | mmap_base
  75539. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  75540. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  75541. 300 | vma->vm_flags |= flags;
  75542. | ^~
  75543. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  75544. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  75545. 309 | vma->vm_flags &= ~flags;
  75546. | ^~
  75547. cc1: some warnings being treated as errors
  75548. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_host.o] Error 1
  75549. CC [M] nvidia-uvm/uvm_ats.o
  75550. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  75551. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  75552. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  75553. | ^~~~~~~~~~~~~~~~~~~~~~~
  75554. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  75555. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  75556. 520 | NV_MEMDBG_ADD(ptr, size);
  75557. | ^
  75558. In file included from ././common/inc/conftest.h:28,
  75559. from ././common/inc/nv-time.h:27,
  75560. from nvidia-uvm/uvm_linux.h:37,
  75561. from nvidia-uvm/uvm_processors.h:27,
  75562. from nvidia-uvm/uvm_va_space.h:27,
  75563. from nvidia-uvm/uvm_ats.c:24:
  75564. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  75565. 74 | #error dma_buf_export() conftest failed!
  75566. | ^~~~~
  75567. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  75568. 87 | #error wait_on_bit_lock() conftest failed!
  75569. | ^~~~~
  75570. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  75571. 90 | #error radix_tree_replace_slot() conftest failed!
  75572. | ^~~~~
  75573. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  75574. from nvidia-uvm/uvm_gpu.h:37,
  75575. from nvidia-uvm/uvm_global.h:32:
  75576. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  75577. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  75578. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  75579. | ^~~~~~~~~~~~~~~~~~~~
  75580. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  75581. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  75582. 533 | ptr = ioremap_cache_shared(phys, size);
  75583. | ^~~~~~~~~~~~~~~~~~~~
  75584. | ioremap_cache
  75585. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  75586. 533 | ptr = ioremap_cache_shared(phys, size);
  75587. | ^
  75588. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  75589. 556 | NV_MEMDBG_ADD(ptr, size);
  75590. | ^
  75591. In file included from ././common/inc/nv-linux.h:34,
  75592. from nvidia-uvm/uvm_linux.h:40:
  75593. ././common/inc/nv-mm.h: At top level:
  75594. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  75595. 29 | typedef int vm_fault_t;
  75596. | ^~~~~~~~~~
  75597. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  75598. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  75599. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  75600. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  75601. from ././common/inc/nv-lock.h:35,
  75602. from ././common/inc/nv-linux.h:32:
  75603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  75604. 1311 | typedef __bitwise unsigned int vm_fault_t;
  75605. | ^~~~~~~~~~
  75606. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  75607. from ././common/inc/nv-time.h:28:
  75608. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  75609. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75610. 52 | #define current get_current()
  75611. | ^~~~~~~~~~~~~
  75612. | |
  75613. | struct task_struct *
  75614. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  75615. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75616. | ^~~~~~~
  75617. In file included from ././common/inc/nv-pgprot.h:30,
  75618. from ././common/inc/nv-linux.h:33:
  75619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  75620. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75621. | ~~~~~~~~~~~~~~^~~~~
  75622. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75623. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75624. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75625. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75626. | ~~~~~~~~~~~~~~^~~~~~~~
  75627. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75628. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75629. | ^~~~~~~~
  75630. | |
  75631. | long unsigned int
  75632. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75633. 2535 | unsigned int gup_flags, struct page **pages);
  75634. | ~~~~~~~~~~~~~~^~~~~
  75635. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75636. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75637. | ^~~~~~~~~~~~~~ ~~~~~
  75638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75639. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75640. | ^~~~~~~~~~~~~~
  75641. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  75642. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  75643. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  75644. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  75645. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  75646. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  75647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75648. 8 | #define NULL ((void *)0)
  75649. | ^~~~~~~~~~~
  75650. | |
  75651. | void *
  75652. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  75653. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75654. | ^~~~
  75655. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  75656. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75657. | ~~~~~~~~~~~~~~^~~~~
  75658. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75659. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75660. | ^~
  75661. | |
  75662. | struct mm_struct *
  75663. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75664. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75665. | ~~~~~~~~~~~~~~^~~~~~~~
  75666. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75667. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75668. | ^~~~~~~~
  75669. | |
  75670. | long unsigned int
  75671. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75672. 2535 | unsigned int gup_flags, struct page **pages);
  75673. | ~~~~~~~~~~~~~~^~~~~
  75674. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75675. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75676. | ^~~~~~~~~~~~~~ ~~~~~
  75677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75678. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75679. | ^~~~~~~~~~~~~~
  75680. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  75681. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  75682. 237 | return (unsigned long)(vmf->virtual_address);
  75683. | ^~~~~~~~~~~~~~~
  75684. | real_address
  75685. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  75686. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75687. 246 | down_read(&mm->mmap_sem);
  75688. | ^~~~~~~~
  75689. | mmap_base
  75690. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  75691. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75692. 255 | up_read(&mm->mmap_sem);
  75693. | ^~~~~~~~
  75694. | mmap_base
  75695. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  75696. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75697. 264 | down_write(&mm->mmap_sem);
  75698. | ^~~~~~~~
  75699. | mmap_base
  75700. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  75701. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75702. 273 | up_write(&mm->mmap_sem);
  75703. | ^~~~~~~~
  75704. | mmap_base
  75705. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  75706. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75707. 282 | return rwsem_is_locked(&mm->mmap_sem);
  75708. | ^~~~~~~~
  75709. | mmap_base
  75710. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  75711. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75712. 291 | return &mm->mmap_sem;
  75713. | ^~~~~~~~
  75714. | mmap_base
  75715. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  75716. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  75717. 300 | vma->vm_flags |= flags;
  75718. | ^~
  75719. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  75720. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  75721. 309 | vma->vm_flags &= ~flags;
  75722. | ^~
  75723. In file included from ././common/inc/nv-linux.h:34,
  75724. from nvidia-uvm/uvm_linux.h:40:
  75725. ././common/inc/nv-mm.h: At top level:
  75726. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  75727. 29 | typedef int vm_fault_t;
  75728. | ^~~~~~~~~~
  75729. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  75730. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  75731. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  75732. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  75733. from ././common/inc/nv-lock.h:35,
  75734. from ././common/inc/nv-linux.h:32:
  75735. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  75736. 1311 | typedef __bitwise unsigned int vm_fault_t;
  75737. | ^~~~~~~~~~
  75738. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  75739. from ././common/inc/nv-time.h:28:
  75740. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  75741. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75742. 52 | #define current get_current()
  75743. | ^~~~~~~~~~~~~
  75744. | |
  75745. | struct task_struct *
  75746. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  75747. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75748. | ^~~~~~~
  75749. In file included from ././common/inc/nv-pgprot.h:30,
  75750. from ././common/inc/nv-linux.h:33:
  75751. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  75752. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75753. | ~~~~~~~~~~~~~~^~~~~
  75754. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75755. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75756. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75757. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75758. | ~~~~~~~~~~~~~~^~~~~~~~
  75759. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75760. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75761. | ^~~~~~~~
  75762. | |
  75763. | long unsigned int
  75764. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75765. 2535 | unsigned int gup_flags, struct page **pages);
  75766. | ~~~~~~~~~~~~~~^~~~~
  75767. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75768. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75769. | ^~~~~~~~~~~~~~ ~~~~~
  75770. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75771. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75772. | ^~~~~~~~~~~~~~
  75773. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  75774. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  75775. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  75776. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  75777. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  75778. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  75779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75780. 8 | #define NULL ((void *)0)
  75781. | ^~~~~~~~~~~
  75782. | |
  75783. | void *
  75784. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  75785. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75786. | ^~~~
  75787. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  75788. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75789. | ~~~~~~~~~~~~~~^~~~~
  75790. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75791. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75792. | ^~
  75793. | |
  75794. | struct mm_struct *
  75795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75796. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75797. | ~~~~~~~~~~~~~~^~~~~~~~
  75798. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75799. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75800. | ^~~~~~~~
  75801. | |
  75802. | long unsigned int
  75803. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75804. 2535 | unsigned int gup_flags, struct page **pages);
  75805. | ~~~~~~~~~~~~~~^~~~~
  75806. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75807. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75808. | ^~~~~~~~~~~~~~ ~~~~~
  75809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75810. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75811. | ^~~~~~~~~~~~~~
  75812. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  75813. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  75814. 237 | return (unsigned long)(vmf->virtual_address);
  75815. | ^~~~~~~~~~~~~~~
  75816. | real_address
  75817. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  75818. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75819. 246 | down_read(&mm->mmap_sem);
  75820. | ^~~~~~~~
  75821. | mmap_base
  75822. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  75823. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75824. 255 | up_read(&mm->mmap_sem);
  75825. | ^~~~~~~~
  75826. | mmap_base
  75827. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  75828. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75829. 264 | down_write(&mm->mmap_sem);
  75830. | ^~~~~~~~
  75831. | mmap_base
  75832. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  75833. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75834. 273 | up_write(&mm->mmap_sem);
  75835. | ^~~~~~~~
  75836. | mmap_base
  75837. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  75838. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75839. 282 | return rwsem_is_locked(&mm->mmap_sem);
  75840. | ^~~~~~~~
  75841. | mmap_base
  75842. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  75843. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75844. 291 | return &mm->mmap_sem;
  75845. | ^~~~~~~~
  75846. | mmap_base
  75847. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  75848. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  75849. 300 | vma->vm_flags |= flags;
  75850. | ^~
  75851. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  75852. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  75853. 309 | vma->vm_flags &= ~flags;
  75854. | ^~
  75855. In file included from ././common/inc/nv-linux.h:34,
  75856. from nvidia-uvm/uvm_linux.h:40:
  75857. ././common/inc/nv-mm.h: At top level:
  75858. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  75859. 29 | typedef int vm_fault_t;
  75860. | ^~~~~~~~~~
  75861. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  75862. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  75863. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  75864. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  75865. from ././common/inc/nv-lock.h:35,
  75866. from ././common/inc/nv-linux.h:32:
  75867. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  75868. 1311 | typedef __bitwise unsigned int vm_fault_t;
  75869. | ^~~~~~~~~~
  75870. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  75871. from ././common/inc/nv-time.h:28:
  75872. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  75873. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75874. 52 | #define current get_current()
  75875. | ^~~~~~~~~~~~~
  75876. | |
  75877. | struct task_struct *
  75878. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  75879. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75880. | ^~~~~~~
  75881. In file included from ././common/inc/nv-pgprot.h:30,
  75882. from ././common/inc/nv-linux.h:33:
  75883. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  75884. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75885. | ~~~~~~~~~~~~~~^~~~~
  75886. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75887. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75888. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75889. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75890. | ~~~~~~~~~~~~~~^~~~~~~~
  75891. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75892. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75893. | ^~~~~~~~
  75894. | |
  75895. | long unsigned int
  75896. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75897. 2535 | unsigned int gup_flags, struct page **pages);
  75898. | ~~~~~~~~~~~~~~^~~~~
  75899. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75900. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  75901. | ^~~~~~~~~~~~~~ ~~~~~
  75902. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75903. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75904. | ^~~~~~~~~~~~~~
  75905. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  75906. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  75907. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  75908. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  75909. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  75910. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  75911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75912. 8 | #define NULL ((void *)0)
  75913. | ^~~~~~~~~~~
  75914. | |
  75915. | void *
  75916. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  75917. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75918. | ^~~~
  75919. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  75920. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75921. | ~~~~~~~~~~~~~~^~~~~
  75922. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  75923. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75924. | ^~
  75925. | |
  75926. | struct mm_struct *
  75927. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  75928. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75929. | ~~~~~~~~~~~~~~^~~~~~~~
  75930. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  75931. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75932. | ^~~~~~~~
  75933. | |
  75934. | long unsigned int
  75935. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  75936. 2535 | unsigned int gup_flags, struct page **pages);
  75937. | ~~~~~~~~~~~~~~^~~~~
  75938. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  75939. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  75940. | ^~~~~~~~~~~~~~ ~~~~~
  75941. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  75942. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  75943. | ^~~~~~~~~~~~~~
  75944. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  75945. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  75946. 237 | return (unsigned long)(vmf->virtual_address);
  75947. | ^~~~~~~~~~~~~~~
  75948. | real_address
  75949. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  75950. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75951. 246 | down_read(&mm->mmap_sem);
  75952. | ^~~~~~~~
  75953. | mmap_base
  75954. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  75955. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75956. 255 | up_read(&mm->mmap_sem);
  75957. | ^~~~~~~~
  75958. | mmap_base
  75959. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  75960. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75961. 264 | down_write(&mm->mmap_sem);
  75962. | ^~~~~~~~
  75963. | mmap_base
  75964. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  75965. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75966. 273 | up_write(&mm->mmap_sem);
  75967. | ^~~~~~~~
  75968. | mmap_base
  75969. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  75970. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75971. 282 | return rwsem_is_locked(&mm->mmap_sem);
  75972. | ^~~~~~~~
  75973. | mmap_base
  75974. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  75975. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  75976. 291 | return &mm->mmap_sem;
  75977. | ^~~~~~~~
  75978. | mmap_base
  75979. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  75980. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  75981. 300 | vma->vm_flags |= flags;
  75982. | ^~
  75983. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  75984. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  75985. 309 | vma->vm_flags &= ~flags;
  75986. | ^~
  75987. In file included from ././common/inc/nv-linux.h:34,
  75988. from nvidia-uvm/uvm_linux.h:40:
  75989. ././common/inc/nv-mm.h: At top level:
  75990. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  75991. 29 | typedef int vm_fault_t;
  75992. | ^~~~~~~~~~
  75993. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  75994. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  75995. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  75996. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  75997. from ././common/inc/nv-lock.h:35,
  75998. from ././common/inc/nv-linux.h:32:
  75999. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  76000. 1311 | typedef __bitwise unsigned int vm_fault_t;
  76001. | ^~~~~~~~~~
  76002. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  76003. from ././common/inc/nv-time.h:28:
  76004. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  76005. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76006. 52 | #define current get_current()
  76007. | ^~~~~~~~~~~~~
  76008. | |
  76009. | struct task_struct *
  76010. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  76011. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76012. | ^~~~~~~
  76013. In file included from ././common/inc/nv-pgprot.h:30,
  76014. from ././common/inc/nv-linux.h:33:
  76015. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  76016. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76017. | ~~~~~~~~~~~~~~^~~~~
  76018. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76019. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76021. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76022. | ~~~~~~~~~~~~~~^~~~~~~~
  76023. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76024. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76025. | ^~~~~~~~
  76026. | |
  76027. | long unsigned int
  76028. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76029. 2535 | unsigned int gup_flags, struct page **pages);
  76030. | ~~~~~~~~~~~~~~^~~~~
  76031. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76032. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76033. | ^~~~~~~~~~~~~~ ~~~~~
  76034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76035. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76036. | ^~~~~~~~~~~~~~
  76037. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  76038. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  76039. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  76040. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  76041. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  76042. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  76043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76044. 8 | #define NULL ((void *)0)
  76045. | ^~~~~~~~~~~
  76046. | |
  76047. | void *
  76048. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  76049. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76050. | ^~~~
  76051. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  76052. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76053. | ~~~~~~~~~~~~~~^~~~~
  76054. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76055. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76056. | ^~
  76057. | |
  76058. | struct mm_struct *
  76059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76060. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76061. | ~~~~~~~~~~~~~~^~~~~~~~
  76062. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76063. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76064. | ^~~~~~~~
  76065. | |
  76066. | long unsigned int
  76067. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76068. 2535 | unsigned int gup_flags, struct page **pages);
  76069. | ~~~~~~~~~~~~~~^~~~~
  76070. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76071. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76072. | ^~~~~~~~~~~~~~ ~~~~~
  76073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76074. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76075. | ^~~~~~~~~~~~~~
  76076. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  76077. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  76078. 237 | return (unsigned long)(vmf->virtual_address);
  76079. | ^~~~~~~~~~~~~~~
  76080. | real_address
  76081. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  76082. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76083. 246 | down_read(&mm->mmap_sem);
  76084. | ^~~~~~~~
  76085. | mmap_base
  76086. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  76087. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76088. 255 | up_read(&mm->mmap_sem);
  76089. | ^~~~~~~~
  76090. | mmap_base
  76091. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  76092. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76093. 264 | down_write(&mm->mmap_sem);
  76094. | ^~~~~~~~
  76095. | mmap_base
  76096. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  76097. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76098. 273 | up_write(&mm->mmap_sem);
  76099. | ^~~~~~~~
  76100. | mmap_base
  76101. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  76102. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76103. 282 | return rwsem_is_locked(&mm->mmap_sem);
  76104. | ^~~~~~~~
  76105. | mmap_base
  76106. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  76107. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76108. 291 | return &mm->mmap_sem;
  76109. | ^~~~~~~~
  76110. | mmap_base
  76111. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  76112. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  76113. 300 | vma->vm_flags |= flags;
  76114. | ^~
  76115. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  76116. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  76117. 309 | vma->vm_flags &= ~flags;
  76118. | ^~
  76119. cc1: some warnings being treated as errors
  76120. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ada.o] Error 1
  76121. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  76122. 40 | struct timespec64 {
  76123. | ^~~~~~~~~~
  76124. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  76125. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  76126. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  76127. from ././common/inc/nv-time.h:29:
  76128. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  76129. 13 | struct timespec64 {
  76130. | ^~~~~~~~~~
  76131. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  76132. 77 | static inline struct timespec64 timespec64_add
  76133. | ^~~~~~~~~~~~~~
  76134. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  76135. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  76136. | ^~~~~~~~~~~~~~
  76137. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  76138. 95 | static inline struct timespec64 timespec64_sub
  76139. | ^~~~~~~~~~~~~~
  76140. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  76141. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  76142. | ^~~~~~~~~~~~~~
  76143. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  76144. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  76145. | ^~~~~~~~~~~~~~~~
  76146. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  76147. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  76148. | ^~~~~~~~~~~~~~~~
  76149. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  76150. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76151. 122 | ktime_get_raw_ts64(&ts);
  76152. | ^~~
  76153. | |
  76154. | struct timespec64 *
  76155. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  76156. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  76157. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  76158. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  76159. from ././common/inc/nv-time.h:30:
  76160. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76161. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76162. | ~~~~~~~~~~~~~~~~~~~^~
  76163. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  76164. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76165. 185 | ktime_get_raw_ts64(&tm_aux);
  76166. | ^~~~~~~
  76167. | |
  76168. | struct timespec64 *
  76169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76170. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76171. | ~~~~~~~~~~~~~~~~~~~^~
  76172. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76173. 221 | ktime_get_raw_ts64(&tm_aux);
  76174. | ^~~~~~~
  76175. | |
  76176. | struct timespec64 *
  76177. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76178. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76179. | ~~~~~~~~~~~~~~~~~~~^~
  76180. In file included from ././common/inc/nv-linux.h:34,
  76181. from nvidia-uvm/uvm_linux.h:40:
  76182. ././common/inc/nv-mm.h: At top level:
  76183. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  76184. 29 | typedef int vm_fault_t;
  76185. | ^~~~~~~~~~
  76186. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  76187. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  76188. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  76189. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  76190. from ././common/inc/nv-lock.h:35,
  76191. from ././common/inc/nv-linux.h:32:
  76192. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  76193. 1311 | typedef __bitwise unsigned int vm_fault_t;
  76194. | ^~~~~~~~~~
  76195. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  76196. from ././common/inc/nv-time.h:28:
  76197. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  76198. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76199. 52 | #define current get_current()
  76200. | ^~~~~~~~~~~~~
  76201. | |
  76202. | struct task_struct *
  76203. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  76204. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76205. | ^~~~~~~
  76206. In file included from ././common/inc/nv-pgprot.h:30,
  76207. from ././common/inc/nv-linux.h:33:
  76208. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  76209. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76210. | ~~~~~~~~~~~~~~^~~~~
  76211. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76212. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76213. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76214. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76215. | ~~~~~~~~~~~~~~^~~~~~~~
  76216. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76217. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76218. | ^~~~~~~~
  76219. | |
  76220. | long unsigned int
  76221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76222. 2535 | unsigned int gup_flags, struct page **pages);
  76223. | ~~~~~~~~~~~~~~^~~~~
  76224. CC [M] nvidia-uvm/uvm_ats_ibm.o
  76225. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76226. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76227. | ^~~~~~~~~~~~~~ ~~~~~
  76228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76229. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76230. | ^~~~~~~~~~~~~~
  76231. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  76232. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  76233. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  76234. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  76235. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  76236. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  76237. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76238. 8 | #define NULL ((void *)0)
  76239. | ^~~~~~~~~~~
  76240. | |
  76241. | void *
  76242. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  76243. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76244. | ^~~~
  76245. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  76246. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76247. | ~~~~~~~~~~~~~~^~~~~
  76248. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76249. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76250. | ^~
  76251. | |
  76252. | struct mm_struct *
  76253. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76254. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76255. | ~~~~~~~~~~~~~~^~~~~~~~
  76256. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76257. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76258. | ^~~~~~~~
  76259. | |
  76260. | long unsigned int
  76261. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76262. 2535 | unsigned int gup_flags, struct page **pages);
  76263. | ~~~~~~~~~~~~~~^~~~~
  76264. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76265. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76266. | ^~~~~~~~~~~~~~ ~~~~~
  76267. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76268. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76269. | ^~~~~~~~~~~~~~
  76270. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  76271. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  76272. 237 | return (unsigned long)(vmf->virtual_address);
  76273. | ^~~~~~~~~~~~~~~
  76274. | real_address
  76275. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  76276. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76277. 246 | down_read(&mm->mmap_sem);
  76278. | ^~~~~~~~
  76279. | mmap_base
  76280. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  76281. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76282. 255 | up_read(&mm->mmap_sem);
  76283. | ^~~~~~~~
  76284. | mmap_base
  76285. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  76286. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76287. 264 | down_write(&mm->mmap_sem);
  76288. | ^~~~~~~~
  76289. | mmap_base
  76290. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  76291. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76292. 273 | up_write(&mm->mmap_sem);
  76293. | ^~~~~~~~
  76294. | mmap_base
  76295. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  76296. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76297. 282 | return rwsem_is_locked(&mm->mmap_sem);
  76298. | ^~~~~~~~
  76299. | mmap_base
  76300. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  76301. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76302. 291 | return &mm->mmap_sem;
  76303. | ^~~~~~~~
  76304. | mmap_base
  76305. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  76306. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  76307. 300 | vma->vm_flags |= flags;
  76308. | ^~
  76309. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  76310. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  76311. 309 | vma->vm_flags &= ~flags;
  76312. | ^~
  76313. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  76314. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  76315. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  76316. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  76317. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  76318. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  76319. | ^
  76320. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76321. 573 | NV_MEMDBG_ADD(ptr, size);
  76322. | ^
  76323. ././common/inc/nv-linux.h: In function 'nv_vmap':
  76324. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76325. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  76326. | ^
  76327. In file included from ././common/inc/nv-linux.h:34,
  76328. from nvidia-uvm/uvm_linux.h:40:
  76329. ././common/inc/nv-mm.h: At top level:
  76330. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  76331. 29 | typedef int vm_fault_t;
  76332. | ^~~~~~~~~~
  76333. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  76334. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  76335. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  76336. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  76337. from ././common/inc/nv-lock.h:35,
  76338. from ././common/inc/nv-linux.h:32:
  76339. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  76340. 1311 | typedef __bitwise unsigned int vm_fault_t;
  76341. | ^~~~~~~~~~
  76342. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  76343. from ././common/inc/nv-time.h:28:
  76344. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  76345. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76346. 52 | #define current get_current()
  76347. | ^~~~~~~~~~~~~
  76348. | |
  76349. | struct task_struct *
  76350. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  76351. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76352. | ^~~~~~~
  76353. In file included from ././common/inc/nv-pgprot.h:30,
  76354. from ././common/inc/nv-linux.h:33:
  76355. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  76356. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76357. | ~~~~~~~~~~~~~~^~~~~
  76358. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76359. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76361. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76362. | ~~~~~~~~~~~~~~^~~~~~~~
  76363. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76364. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76365. | ^~~~~~~~
  76366. | |
  76367. | long unsigned int
  76368. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76369. 2535 | unsigned int gup_flags, struct page **pages);
  76370. | ~~~~~~~~~~~~~~^~~~~
  76371. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76372. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76373. | ^~~~~~~~~~~~~~ ~~~~~
  76374. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76375. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76376. | ^~~~~~~~~~~~~~
  76377. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  76378. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  76379. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  76380. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  76381. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  76382. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  76383. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76384. 8 | #define NULL ((void *)0)
  76385. | ^~~~~~~~~~~
  76386. | |
  76387. | void *
  76388. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  76389. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76390. | ^~~~
  76391. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  76392. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76393. | ~~~~~~~~~~~~~~^~~~~
  76394. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76395. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76396. | ^~
  76397. | |
  76398. | struct mm_struct *
  76399. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76400. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76401. | ~~~~~~~~~~~~~~^~~~~~~~
  76402. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76403. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76404. | ^~~~~~~~
  76405. | |
  76406. | long unsigned int
  76407. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76408. 2535 | unsigned int gup_flags, struct page **pages);
  76409. | ~~~~~~~~~~~~~~^~~~~
  76410. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76411. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76412. | ^~~~~~~~~~~~~~ ~~~~~
  76413. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76414. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76415. | ^~~~~~~~~~~~~~
  76416. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  76417. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  76418. 237 | return (unsigned long)(vmf->virtual_address);
  76419. | ^~~~~~~~~~~~~~~
  76420. | real_address
  76421. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  76422. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76423. 246 | down_read(&mm->mmap_sem);
  76424. | ^~~~~~~~
  76425. | mmap_base
  76426. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  76427. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76428. 255 | up_read(&mm->mmap_sem);
  76429. | ^~~~~~~~
  76430. | mmap_base
  76431. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  76432. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76433. 264 | down_write(&mm->mmap_sem);
  76434. | ^~~~~~~~
  76435. | mmap_base
  76436. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  76437. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76438. 273 | up_write(&mm->mmap_sem);
  76439. | ^~~~~~~~
  76440. | mmap_base
  76441. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  76442. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76443. 282 | return rwsem_is_locked(&mm->mmap_sem);
  76444. | ^~~~~~~~
  76445. | mmap_base
  76446. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  76447. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76448. 291 | return &mm->mmap_sem;
  76449. | ^~~~~~~~
  76450. | mmap_base
  76451. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  76452. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  76453. 300 | vma->vm_flags |= flags;
  76454. | ^~
  76455. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  76456. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  76457. 309 | vma->vm_flags &= ~flags;
  76458. | ^~
  76459. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  76460. 40 | struct timespec64 {
  76461. | ^~~~~~~~~~
  76462. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  76463. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  76464. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  76465. from ././common/inc/nv-time.h:29:
  76466. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  76467. 13 | struct timespec64 {
  76468. | ^~~~~~~~~~
  76469. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  76470. 77 | static inline struct timespec64 timespec64_add
  76471. | ^~~~~~~~~~~~~~
  76472. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  76473. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  76474. | ^~~~~~~~~~~~~~
  76475. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  76476. 95 | static inline struct timespec64 timespec64_sub
  76477. | ^~~~~~~~~~~~~~
  76478. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  76479. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  76480. | ^~~~~~~~~~~~~~
  76481. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  76482. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  76483. | ^~~~~~~~~~~~~~~~
  76484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  76485. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  76486. | ^~~~~~~~~~~~~~~~
  76487. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  76488. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76489. 122 | ktime_get_raw_ts64(&ts);
  76490. | ^~~
  76491. | |
  76492. | struct timespec64 *
  76493. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  76494. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  76495. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  76496. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  76497. from ././common/inc/nv-time.h:30:
  76498. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76499. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76500. | ~~~~~~~~~~~~~~~~~~~^~
  76501. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  76502. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76503. 185 | ktime_get_raw_ts64(&tm_aux);
  76504. | ^~~~~~~
  76505. | |
  76506. | struct timespec64 *
  76507. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76508. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76509. | ~~~~~~~~~~~~~~~~~~~^~
  76510. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76511. 221 | ktime_get_raw_ts64(&tm_aux);
  76512. | ^~~~~~~
  76513. | |
  76514. | struct timespec64 *
  76515. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76516. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76517. | ~~~~~~~~~~~~~~~~~~~^~
  76518. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  76519. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  76520. 736 | return phys_to_dma(dev, pa);
  76521. | ^~~~~~~~~~~
  76522. | nv_phys_to_dma
  76523. In file included from ././common/inc/conftest.h:28,
  76524. from ././common/inc/nv-time.h:27,
  76525. from nvidia-uvm/uvm_linux.h:37,
  76526. from nvidia-uvm/uvm_common.h:43,
  76527. from nvidia-uvm/uvm_api.h:28,
  76528. from nvidia-uvm/uvm_ats_ibm.c:24:
  76529. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  76530. 74 | #error dma_buf_export() conftest failed!
  76531. | ^~~~~
  76532. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  76533. 87 | #error wait_on_bit_lock() conftest failed!
  76534. | ^~~~~
  76535. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  76536. 90 | #error radix_tree_replace_slot() conftest failed!
  76537. | ^~~~~
  76538. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  76539. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76540. 502 | NV_MEMDBG_ADD(ptr, size);
  76541. | ^
  76542. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  76543. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  76544. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  76545. | ^~~~~~~~~~~~~
  76546. | d_is_dir
  76547. In file included from ././common/inc/nv-linux.h:34,
  76548. from nvidia-uvm/uvm_linux.h:40:
  76549. ././common/inc/nv-mm.h: At top level:
  76550. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  76551. 29 | typedef int vm_fault_t;
  76552. | ^~~~~~~~~~
  76553. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  76554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  76555. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  76556. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  76557. from ././common/inc/nv-lock.h:35,
  76558. from ././common/inc/nv-linux.h:32:
  76559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  76560. 1311 | typedef __bitwise unsigned int vm_fault_t;
  76561. | ^~~~~~~~~~
  76562. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  76563. from ././common/inc/nv-time.h:28:
  76564. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  76565. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76566. 52 | #define current get_current()
  76567. | ^~~~~~~~~~~~~
  76568. | |
  76569. | struct task_struct *
  76570. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  76571. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76572. | ^~~~~~~
  76573. In file included from ././common/inc/nv-pgprot.h:30,
  76574. from ././common/inc/nv-linux.h:33:
  76575. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  76576. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76577. | ~~~~~~~~~~~~~~^~~~~
  76578. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76579. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76581. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76582. | ~~~~~~~~~~~~~~^~~~~~~~
  76583. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76584. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76585. | ^~~~~~~~
  76586. | |
  76587. | long unsigned int
  76588. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76589. 2535 | unsigned int gup_flags, struct page **pages);
  76590. | ~~~~~~~~~~~~~~^~~~~
  76591. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76592. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76593. | ^~~~~~~~~~~~~~ ~~~~~
  76594. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76595. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76596. | ^~~~~~~~~~~~~~
  76597. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  76598. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  76599. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  76600. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  76601. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  76602. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  76603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76604. 8 | #define NULL ((void *)0)
  76605. | ^~~~~~~~~~~
  76606. | |
  76607. | void *
  76608. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  76609. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76610. | ^~~~
  76611. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  76612. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76613. | ~~~~~~~~~~~~~~^~~~~
  76614. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76615. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76616. | ^~
  76617. | |
  76618. | struct mm_struct *
  76619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76620. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76621. | ~~~~~~~~~~~~~~^~~~~~~~
  76622. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76623. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76624. | ^~~~~~~~
  76625. | |
  76626. | long unsigned int
  76627. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76628. 2535 | unsigned int gup_flags, struct page **pages);
  76629. | ~~~~~~~~~~~~~~^~~~~
  76630. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76631. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76632. | ^~~~~~~~~~~~~~ ~~~~~
  76633. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76634. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76635. | ^~~~~~~~~~~~~~
  76636. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  76637. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  76638. 237 | return (unsigned long)(vmf->virtual_address);
  76639. | ^~~~~~~~~~~~~~~
  76640. | real_address
  76641. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  76642. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76643. 246 | down_read(&mm->mmap_sem);
  76644. | ^~~~~~~~
  76645. | mmap_base
  76646. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  76647. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76648. 255 | up_read(&mm->mmap_sem);
  76649. | ^~~~~~~~
  76650. | mmap_base
  76651. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  76652. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76653. 264 | down_write(&mm->mmap_sem);
  76654. | ^~~~~~~~
  76655. | mmap_base
  76656. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  76657. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76658. 273 | up_write(&mm->mmap_sem);
  76659. | ^~~~~~~~
  76660. | mmap_base
  76661. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  76662. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76663. 282 | return rwsem_is_locked(&mm->mmap_sem);
  76664. | ^~~~~~~~
  76665. | mmap_base
  76666. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  76667. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76668. 291 | return &mm->mmap_sem;
  76669. | ^~~~~~~~
  76670. | mmap_base
  76671. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  76672. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  76673. 300 | vma->vm_flags |= flags;
  76674. | ^~
  76675. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  76676. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  76677. 309 | vma->vm_flags &= ~flags;
  76678. | ^~
  76679. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  76680. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76681. 502 | NV_MEMDBG_ADD(ptr, size);
  76682. | ^
  76683. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  76684. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76685. 287 | ktime_get_raw_ts64(&tm);
  76686. | ^~~
  76687. | |
  76688. | struct timespec64 *
  76689. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76690. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76691. | ~~~~~~~~~~~~~~~~~~~^~
  76692. nvidia-uvm/uvm_linux.h: At top level:
  76693. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  76694. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  76695. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  76696. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  76697. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  76698. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  76699. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  76700. 449 | #error "Unknown number of arguments"
  76701. | ^~~~~
  76702. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  76703. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  76704. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  76705. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  76706. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  76707. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  76708. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  76709. 485 | #error "Unknown number of arguments"
  76710. | ^~~~~
  76711. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  76712. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76713. 502 | NV_MEMDBG_ADD(ptr, size);
  76714. | ^
  76715. In file included from ././common/inc/nv-linux.h:34,
  76716. from nvidia-uvm/uvm_linux.h:40:
  76717. ././common/inc/nv-mm.h: At top level:
  76718. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  76719. 29 | typedef int vm_fault_t;
  76720. | ^~~~~~~~~~
  76721. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  76722. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  76723. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  76724. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  76725. from ././common/inc/nv-lock.h:35,
  76726. from ././common/inc/nv-linux.h:32:
  76727. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  76728. 1311 | typedef __bitwise unsigned int vm_fault_t;
  76729. | ^~~~~~~~~~
  76730. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  76731. from ././common/inc/nv-time.h:28:
  76732. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  76733. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76734. 52 | #define current get_current()
  76735. | ^~~~~~~~~~~~~
  76736. | |
  76737. | struct task_struct *
  76738. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  76739. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76740. | ^~~~~~~
  76741. In file included from ././common/inc/nv-pgprot.h:30,
  76742. from ././common/inc/nv-linux.h:33:
  76743. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  76744. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76745. | ~~~~~~~~~~~~~~^~~~~
  76746. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76747. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76748. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76749. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76750. | ~~~~~~~~~~~~~~^~~~~~~~
  76751. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76752. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76753. | ^~~~~~~~
  76754. | |
  76755. | long unsigned int
  76756. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76757. 2535 | unsigned int gup_flags, struct page **pages);
  76758. | ~~~~~~~~~~~~~~^~~~~
  76759. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76760. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  76761. | ^~~~~~~~~~~~~~ ~~~~~
  76762. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76763. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76764. | ^~~~~~~~~~~~~~
  76765. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  76766. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  76767. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  76768. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  76769. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  76770. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  76771. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76772. 8 | #define NULL ((void *)0)
  76773. | ^~~~~~~~~~~
  76774. | |
  76775. | void *
  76776. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  76777. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76778. | ^~~~
  76779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  76780. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76781. | ~~~~~~~~~~~~~~^~~~~
  76782. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  76783. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76784. | ^~
  76785. | |
  76786. | struct mm_struct *
  76787. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  76788. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76789. | ~~~~~~~~~~~~~~^~~~~~~~
  76790. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  76791. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76792. | ^~~~~~~~
  76793. | |
  76794. | long unsigned int
  76795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  76796. 2535 | unsigned int gup_flags, struct page **pages);
  76797. | ~~~~~~~~~~~~~~^~~~~
  76798. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  76799. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  76800. | ^~~~~~~~~~~~~~ ~~~~~
  76801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  76802. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  76803. | ^~~~~~~~~~~~~~
  76804. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  76805. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  76806. 237 | return (unsigned long)(vmf->virtual_address);
  76807. | ^~~~~~~~~~~~~~~
  76808. | real_address
  76809. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  76810. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76811. 246 | down_read(&mm->mmap_sem);
  76812. | ^~~~~~~~
  76813. | mmap_base
  76814. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  76815. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76816. 255 | up_read(&mm->mmap_sem);
  76817. | ^~~~~~~~
  76818. | mmap_base
  76819. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  76820. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76821. 264 | down_write(&mm->mmap_sem);
  76822. | ^~~~~~~~
  76823. | mmap_base
  76824. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  76825. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76826. 273 | up_write(&mm->mmap_sem);
  76827. | ^~~~~~~~
  76828. | mmap_base
  76829. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  76830. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76831. 282 | return rwsem_is_locked(&mm->mmap_sem);
  76832. | ^~~~~~~~
  76833. | mmap_base
  76834. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  76835. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  76836. 291 | return &mm->mmap_sem;
  76837. | ^~~~~~~~
  76838. | mmap_base
  76839. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  76840. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  76841. 300 | vma->vm_flags |= flags;
  76842. | ^~
  76843. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  76844. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  76845. 309 | vma->vm_flags &= ~flags;
  76846. | ^~
  76847. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  76848. 40 | struct timespec64 {
  76849. | ^~~~~~~~~~
  76850. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  76851. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  76852. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  76853. from ././common/inc/nv-time.h:29:
  76854. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  76855. 13 | struct timespec64 {
  76856. | ^~~~~~~~~~
  76857. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  76858. 77 | static inline struct timespec64 timespec64_add
  76859. | ^~~~~~~~~~~~~~
  76860. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  76861. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  76862. | ^~~~~~~~~~~~~~
  76863. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  76864. 95 | static inline struct timespec64 timespec64_sub
  76865. | ^~~~~~~~~~~~~~
  76866. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  76867. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  76868. | ^~~~~~~~~~~~~~
  76869. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  76870. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  76871. | ^~~~~~~~~~~~~~~~
  76872. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  76873. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  76874. | ^~~~~~~~~~~~~~~~
  76875. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  76876. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76877. 122 | ktime_get_raw_ts64(&ts);
  76878. | ^~~
  76879. | |
  76880. | struct timespec64 *
  76881. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  76882. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  76883. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  76884. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  76885. from ././common/inc/nv-time.h:30:
  76886. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76887. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76888. | ~~~~~~~~~~~~~~~~~~~^~
  76889. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  76890. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76891. 185 | ktime_get_raw_ts64(&tm_aux);
  76892. | ^~~~~~~
  76893. | |
  76894. | struct timespec64 *
  76895. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76896. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76897. | ~~~~~~~~~~~~~~~~~~~^~
  76898. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  76899. 221 | ktime_get_raw_ts64(&tm_aux);
  76900. | ^~~~~~~
  76901. | |
  76902. | struct timespec64 *
  76903. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  76904. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  76905. | ~~~~~~~~~~~~~~~~~~~^~
  76906. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  76907. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  76908. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  76909. | ^~~~~~~~~~~~~~~~~~~~~~~
  76910. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  76911. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76912. 520 | NV_MEMDBG_ADD(ptr, size);
  76913. | ^
  76914. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  76915. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  76916. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  76917. | ^~~~~~~~~~~~~~~~~~~~~~~
  76918. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  76919. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76920. 520 | NV_MEMDBG_ADD(ptr, size);
  76921. | ^
  76922. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  76923. from nvidia-uvm/uvm_gpu.h:37,
  76924. from nvidia-uvm/uvm_global.h:32,
  76925. from nvidia-uvm/uvm_va_space.h:28:
  76926. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  76927. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  76928. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  76929. | ^~~~~~~~~~~~~~~~~~~~
  76930. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  76931. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  76932. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  76933. | ^~~~~~~~~~~~~~~~~~~~~~~
  76934. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  76935. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76936. 520 | NV_MEMDBG_ADD(ptr, size);
  76937. | ^
  76938. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  76939. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76940. 502 | NV_MEMDBG_ADD(ptr, size);
  76941. | ^
  76942. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  76943. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76944. 502 | NV_MEMDBG_ADD(ptr, size);
  76945. | ^
  76946. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  76947. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  76948. 533 | ptr = ioremap_cache_shared(phys, size);
  76949. | ^~~~~~~~~~~~~~~~~~~~
  76950. | ioremap_cache
  76951. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  76952. 533 | ptr = ioremap_cache_shared(phys, size);
  76953. | ^
  76954. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76955. 556 | NV_MEMDBG_ADD(ptr, size);
  76956. | ^
  76957. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  76958. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76959. 502 | NV_MEMDBG_ADD(ptr, size);
  76960. | ^
  76961. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  76962. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76963. 502 | NV_MEMDBG_ADD(ptr, size);
  76964. | ^
  76965. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  76966. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  76967. 533 | ptr = ioremap_cache_shared(phys, size);
  76968. | ^~~~~~~~~~~~~~~~~~~~
  76969. | ioremap_cache
  76970. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  76971. 533 | ptr = ioremap_cache_shared(phys, size);
  76972. | ^
  76973. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76974. 556 | NV_MEMDBG_ADD(ptr, size);
  76975. | ^
  76976. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  76977. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76978. 502 | NV_MEMDBG_ADD(ptr, size);
  76979. | ^
  76980. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  76981. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  76982. 533 | ptr = ioremap_cache_shared(phys, size);
  76983. | ^~~~~~~~~~~~~~~~~~~~
  76984. | ioremap_cache
  76985. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  76986. 533 | ptr = ioremap_cache_shared(phys, size);
  76987. | ^
  76988. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76989. 556 | NV_MEMDBG_ADD(ptr, size);
  76990. | ^
  76991. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  76992. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  76993. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  76994. | ^~~~~~~~~~~~~~~~~~~~~~~
  76995. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  76996. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  76997. 520 | NV_MEMDBG_ADD(ptr, size);
  76998. | ^
  76999. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  77000. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  77001. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  77002. | ^~~~~~~~~~~~~~~~~~~~~~~
  77003. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77004. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77005. 520 | NV_MEMDBG_ADD(ptr, size);
  77006. | ^
  77007. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  77008. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  77009. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77010. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  77011. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77012. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77013. | ^
  77014. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77015. 573 | NV_MEMDBG_ADD(ptr, size);
  77016. | ^
  77017. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  77018. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77019. 502 | NV_MEMDBG_ADD(ptr, size);
  77020. | ^
  77021. ././common/inc/nv-linux.h: In function 'nv_vmap':
  77022. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77023. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  77024. | ^
  77025. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  77026. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  77027. 736 | return phys_to_dma(dev, pa);
  77028. | ^~~~~~~~~~~
  77029. | nv_phys_to_dma
  77030. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  77031. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  77032. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  77033. | ^~~~~~~~~~~~~~~~~~~~~~~
  77034. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77035. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77036. 520 | NV_MEMDBG_ADD(ptr, size);
  77037. | ^
  77038. In file included from ././common/inc/nv-linux.h:34,
  77039. from nvidia-uvm/uvm_linux.h:40:
  77040. ././common/inc/nv-mm.h: At top level:
  77041. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  77042. 29 | typedef int vm_fault_t;
  77043. | ^~~~~~~~~~
  77044. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  77045. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  77046. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  77047. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  77048. from ././common/inc/nv-lock.h:35,
  77049. from ././common/inc/nv-linux.h:32:
  77050. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  77051. 1311 | typedef __bitwise unsigned int vm_fault_t;
  77052. | ^~~~~~~~~~
  77053. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  77054. from ././common/inc/nv-time.h:28:
  77055. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  77056. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77057. 52 | #define current get_current()
  77058. | ^~~~~~~~~~~~~
  77059. | |
  77060. | struct task_struct *
  77061. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  77062. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77063. | ^~~~~~~
  77064. In file included from ././common/inc/nv-pgprot.h:30,
  77065. from ././common/inc/nv-linux.h:33:
  77066. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  77067. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77068. | ~~~~~~~~~~~~~~^~~~~
  77069. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77070. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77071. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  77072. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77073. | ~~~~~~~~~~~~~~^~~~~~~~
  77074. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  77075. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77076. | ^~~~~~~~
  77077. | |
  77078. | long unsigned int
  77079. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  77080. 2535 | unsigned int gup_flags, struct page **pages);
  77081. | ~~~~~~~~~~~~~~^~~~~
  77082. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  77083. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77084. | ^~~~~~~~~~~~~~ ~~~~~
  77085. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  77086. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77087. | ^~~~~~~~~~~~~~
  77088. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  77089. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  77090. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  77091. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  77092. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  77093. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  77094. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77095. 8 | #define NULL ((void *)0)
  77096. | ^~~~~~~~~~~
  77097. | |
  77098. | void *
  77099. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  77100. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77101. | ^~~~
  77102. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  77103. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77104. | ~~~~~~~~~~~~~~^~~~~
  77105. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77106. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77107. | ^~
  77108. | |
  77109. | struct mm_struct *
  77110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  77111. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77112. | ~~~~~~~~~~~~~~^~~~~~~~
  77113. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  77114. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77115. | ^~~~~~~~
  77116. | |
  77117. | long unsigned int
  77118. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  77119. 2535 | unsigned int gup_flags, struct page **pages);
  77120. | ~~~~~~~~~~~~~~^~~~~
  77121. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  77122. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77123. | ^~~~~~~~~~~~~~ ~~~~~
  77124. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  77125. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77126. | ^~~~~~~~~~~~~~
  77127. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  77128. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  77129. 237 | return (unsigned long)(vmf->virtual_address);
  77130. | ^~~~~~~~~~~~~~~
  77131. | real_address
  77132. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  77133. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77134. 246 | down_read(&mm->mmap_sem);
  77135. | ^~~~~~~~
  77136. | mmap_base
  77137. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  77138. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77139. 255 | up_read(&mm->mmap_sem);
  77140. | ^~~~~~~~
  77141. | mmap_base
  77142. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  77143. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77144. 264 | down_write(&mm->mmap_sem);
  77145. | ^~~~~~~~
  77146. | mmap_base
  77147. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  77148. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77149. 273 | up_write(&mm->mmap_sem);
  77150. | ^~~~~~~~
  77151. | mmap_base
  77152. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  77153. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77154. 282 | return rwsem_is_locked(&mm->mmap_sem);
  77155. | ^~~~~~~~
  77156. | mmap_base
  77157. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  77158. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77159. 291 | return &mm->mmap_sem;
  77160. | ^~~~~~~~
  77161. | mmap_base
  77162. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  77163. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  77164. 300 | vma->vm_flags |= flags;
  77165. | ^~
  77166. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  77167. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  77168. 309 | vma->vm_flags &= ~flags;
  77169. | ^~
  77170. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  77171. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  77172. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  77173. | ^~~~~~~~~~~~~~~~~~~~~~~
  77174. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77175. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77176. 520 | NV_MEMDBG_ADD(ptr, size);
  77177. | ^
  77178. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  77179. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77180. 502 | NV_MEMDBG_ADD(ptr, size);
  77181. | ^
  77182. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  77183. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  77184. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77185. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  77186. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  77187. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  77188. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  77189. | ^~~~~~~~~~~~~
  77190. | d_is_dir
  77191. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77192. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77193. | ^
  77194. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77195. 573 | NV_MEMDBG_ADD(ptr, size);
  77196. | ^
  77197. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  77198. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  77199. 533 | ptr = ioremap_cache_shared(phys, size);
  77200. | ^~~~~~~~~~~~~~~~~~~~
  77201. | ioremap_cache
  77202. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77203. 533 | ptr = ioremap_cache_shared(phys, size);
  77204. | ^
  77205. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  77206. 40 | struct timespec64 {
  77207. | ^~~~~~~~~~
  77208. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77209. 556 | NV_MEMDBG_ADD(ptr, size);
  77210. | ^
  77211. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  77212. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  77213. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  77214. from ././common/inc/nv-time.h:29:
  77215. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  77216. 13 | struct timespec64 {
  77217. | ^~~~~~~~~~
  77218. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  77219. 77 | static inline struct timespec64 timespec64_add
  77220. | ^~~~~~~~~~~~~~
  77221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  77222. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  77223. | ^~~~~~~~~~~~~~
  77224. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  77225. 95 | static inline struct timespec64 timespec64_sub
  77226. | ^~~~~~~~~~~~~~
  77227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  77228. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  77229. | ^~~~~~~~~~~~~~
  77230. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  77231. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  77232. | ^~~~~~~~~~~~~~~~
  77233. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  77234. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  77235. | ^~~~~~~~~~~~~~~~
  77236. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  77237. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  77238. 122 | ktime_get_raw_ts64(&ts);
  77239. | ^~~
  77240. | |
  77241. | struct timespec64 *
  77242. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  77243. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  77244. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  77245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  77246. from ././common/inc/nv-time.h:30:
  77247. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  77248. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  77249. | ~~~~~~~~~~~~~~~~~~~^~
  77250. ././common/inc/nv-linux.h: In function 'nv_vmap':
  77251. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77252. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  77253. | ^
  77254. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  77255. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  77256. 185 | ktime_get_raw_ts64(&tm_aux);
  77257. | ^~~~~~~
  77258. | |
  77259. | struct timespec64 *
  77260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  77261. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  77262. | ~~~~~~~~~~~~~~~~~~~^~
  77263. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  77264. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  77265. 533 | ptr = ioremap_cache_shared(phys, size);
  77266. | ^~~~~~~~~~~~~~~~~~~~
  77267. | ioremap_cache
  77268. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  77269. 221 | ktime_get_raw_ts64(&tm_aux);
  77270. | ^~~~~~~
  77271. | |
  77272. | struct timespec64 *
  77273. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  77274. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  77275. | ~~~~~~~~~~~~~~~~~~~^~
  77276. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77277. 533 | ptr = ioremap_cache_shared(phys, size);
  77278. | ^
  77279. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77280. 556 | NV_MEMDBG_ADD(ptr, size);
  77281. | ^
  77282. cc1: some warnings being treated as errors
  77283. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  77284. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  77285. 736 | return phys_to_dma(dev, pa);
  77286. | ^~~~~~~~~~~
  77287. | nv_phys_to_dma
  77288. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  77289. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  77290. 287 | ktime_get_raw_ts64(&tm);
  77291. | ^~~
  77292. | |
  77293. | struct timespec64 *
  77294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  77295. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  77296. | ~~~~~~~~~~~~~~~~~~~^~
  77297. nvidia-uvm/uvm_linux.h: At top level:
  77298. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77299. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  77300. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77301. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77302. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  77303. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77304. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  77305. 449 | #error "Unknown number of arguments"
  77306. | ^~~~~
  77307. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77308. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  77309. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77310. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77311. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  77312. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77313. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  77314. 485 | #error "Unknown number of arguments"
  77315. | ^~~~~
  77316. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_policy.o] Error 1
  77317. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  77318. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  77319. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  77320. | ^~~~~~~~~~~~~~~~~~~~~~~
  77321. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77322. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77323. 520 | NV_MEMDBG_ADD(ptr, size);
  77324. | ^
  77325. In file included from ././common/inc/nv-linux.h:34,
  77326. from nvidia-uvm/uvm_linux.h:40:
  77327. ././common/inc/nv-mm.h: At top level:
  77328. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  77329. 29 | typedef int vm_fault_t;
  77330. | ^~~~~~~~~~
  77331. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  77332. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  77333. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  77334. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  77335. from ././common/inc/nv-lock.h:35,
  77336. from ././common/inc/nv-linux.h:32:
  77337. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  77338. 1311 | typedef __bitwise unsigned int vm_fault_t;
  77339. | ^~~~~~~~~~
  77340. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  77341. from ././common/inc/nv-time.h:28:
  77342. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  77343. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77344. 52 | #define current get_current()
  77345. | ^~~~~~~~~~~~~
  77346. | |
  77347. | struct task_struct *
  77348. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  77349. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77350. | ^~~~~~~
  77351. In file included from ././common/inc/nv-pgprot.h:30,
  77352. from ././common/inc/nv-linux.h:33:
  77353. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  77354. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77355. | ~~~~~~~~~~~~~~^~~~~
  77356. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77357. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77358. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  77359. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77360. | ~~~~~~~~~~~~~~^~~~~~~~
  77361. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  77362. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77363. | ^~~~~~~~
  77364. | |
  77365. | long unsigned int
  77366. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  77367. 2535 | unsigned int gup_flags, struct page **pages);
  77368. | ~~~~~~~~~~~~~~^~~~~
  77369. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  77370. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77371. | ^~~~~~~~~~~~~~ ~~~~~
  77372. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  77373. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77374. | ^~~~~~~~~~~~~~
  77375. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  77376. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  77377. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  77378. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  77379. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  77380. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  77381. CC [M] nvidia-uvm/uvm_ats_faults.o
  77382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77383. 8 | #define NULL ((void *)0)
  77384. | ^~~~~~~~~~~
  77385. | |
  77386. | void *
  77387. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  77388. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77389. | ^~~~
  77390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  77391. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77392. | ~~~~~~~~~~~~~~^~~~~
  77393. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77394. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77395. | ^~
  77396. | |
  77397. | struct mm_struct *
  77398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  77399. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77400. | ~~~~~~~~~~~~~~^~~~~~~~
  77401. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  77402. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77403. | ^~~~~~~~
  77404. | |
  77405. | long unsigned int
  77406. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  77407. 2535 | unsigned int gup_flags, struct page **pages);
  77408. | ~~~~~~~~~~~~~~^~~~~
  77409. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  77410. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77411. | ^~~~~~~~~~~~~~ ~~~~~
  77412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  77413. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77414. | ^~~~~~~~~~~~~~
  77415. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  77416. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  77417. 237 | return (unsigned long)(vmf->virtual_address);
  77418. | ^~~~~~~~~~~~~~~
  77419. | real_address
  77420. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  77421. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77422. 246 | down_read(&mm->mmap_sem);
  77423. | ^~~~~~~~
  77424. | mmap_base
  77425. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  77426. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77427. 255 | up_read(&mm->mmap_sem);
  77428. | ^~~~~~~~
  77429. | mmap_base
  77430. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  77431. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77432. 264 | down_write(&mm->mmap_sem);
  77433. | ^~~~~~~~
  77434. | mmap_base
  77435. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  77436. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77437. 273 | up_write(&mm->mmap_sem);
  77438. | ^~~~~~~~
  77439. | mmap_base
  77440. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  77441. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77442. 282 | return rwsem_is_locked(&mm->mmap_sem);
  77443. | ^~~~~~~~
  77444. | mmap_base
  77445. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  77446. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77447. 291 | return &mm->mmap_sem;
  77448. | ^~~~~~~~
  77449. | mmap_base
  77450. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  77451. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  77452. 300 | vma->vm_flags |= flags;
  77453. | ^~
  77454. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  77455. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  77456. 309 | vma->vm_flags &= ~flags;
  77457. | ^~
  77458. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  77459. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77460. 502 | NV_MEMDBG_ADD(ptr, size);
  77461. | ^
  77462. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  77463. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  77464. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  77465. | ^~~~~~~~~~~~~~~~~~~~~~~
  77466. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77467. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77468. 520 | NV_MEMDBG_ADD(ptr, size);
  77469. | ^
  77470. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  77471. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  77472. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77473. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  77474. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77475. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77476. | ^
  77477. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77478. 573 | NV_MEMDBG_ADD(ptr, size);
  77479. | ^
  77480. ././common/inc/nv-linux.h: In function 'nv_vmap':
  77481. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77482. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  77483. | ^
  77484. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  77485. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  77486. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  77487. | ^~~~~~~~~~~~~
  77488. | d_is_dir
  77489. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  77490. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  77491. 736 | return phys_to_dma(dev, pa);
  77492. | ^~~~~~~~~~~
  77493. | nv_phys_to_dma
  77494. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  77495. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  77496. 533 | ptr = ioremap_cache_shared(phys, size);
  77497. | ^~~~~~~~~~~~~~~~~~~~
  77498. | ioremap_cache
  77499. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77500. 533 | ptr = ioremap_cache_shared(phys, size);
  77501. | ^
  77502. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77503. 556 | NV_MEMDBG_ADD(ptr, size);
  77504. | ^
  77505. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  77506. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  77507. 533 | ptr = ioremap_cache_shared(phys, size);
  77508. | ^~~~~~~~~~~~~~~~~~~~
  77509. | ioremap_cache
  77510. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77511. 533 | ptr = ioremap_cache_shared(phys, size);
  77512. | ^
  77513. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77514. 556 | NV_MEMDBG_ADD(ptr, size);
  77515. | ^
  77516. In file included from ././common/inc/conftest.h:28,
  77517. from ././common/inc/nv-time.h:27,
  77518. from nvidia-uvm/uvm_linux.h:37,
  77519. from nvidia-uvm/uvm_common.h:43,
  77520. from nvidia-uvm/uvm_api.h:28,
  77521. from nvidia-uvm/uvm_ats_faults.c:23:
  77522. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  77523. 74 | #error dma_buf_export() conftest failed!
  77524. | ^~~~~
  77525. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  77526. 87 | #error wait_on_bit_lock() conftest failed!
  77527. | ^~~~~
  77528. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  77529. 90 | #error radix_tree_replace_slot() conftest failed!
  77530. | ^~~~~
  77531. In file included from ././common/inc/nv-linux.h:34,
  77532. from nvidia-uvm/uvm_linux.h:40:
  77533. ././common/inc/nv-mm.h: At top level:
  77534. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  77535. 29 | typedef int vm_fault_t;
  77536. | ^~~~~~~~~~
  77537. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  77538. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  77539. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  77540. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  77541. from ././common/inc/nv-lock.h:35,
  77542. from ././common/inc/nv-linux.h:32:
  77543. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  77544. 1311 | typedef __bitwise unsigned int vm_fault_t;
  77545. | ^~~~~~~~~~
  77546. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  77547. from ././common/inc/nv-time.h:28:
  77548. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  77549. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77550. 52 | #define current get_current()
  77551. | ^~~~~~~~~~~~~
  77552. | |
  77553. | struct task_struct *
  77554. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  77555. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77556. | ^~~~~~~
  77557. In file included from ././common/inc/nv-pgprot.h:30,
  77558. from ././common/inc/nv-linux.h:33:
  77559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  77560. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77561. | ~~~~~~~~~~~~~~^~~~~
  77562. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77563. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77564. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  77565. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77566. | ~~~~~~~~~~~~~~^~~~~~~~
  77567. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  77568. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77569. | ^~~~~~~~
  77570. | |
  77571. | long unsigned int
  77572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  77573. 2535 | unsigned int gup_flags, struct page **pages);
  77574. | ~~~~~~~~~~~~~~^~~~~
  77575. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  77576. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  77577. | ^~~~~~~~~~~~~~ ~~~~~
  77578. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  77579. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77580. | ^~~~~~~~~~~~~~
  77581. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  77582. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  77583. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  77584. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  77585. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  77586. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  77587. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77588. 8 | #define NULL ((void *)0)
  77589. | ^~~~~~~~~~~
  77590. | |
  77591. | void *
  77592. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  77593. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77594. | ^~~~
  77595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  77596. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77597. | ~~~~~~~~~~~~~~^~~~~
  77598. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  77599. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77600. | ^~
  77601. | |
  77602. | struct mm_struct *
  77603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  77604. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77605. | ~~~~~~~~~~~~~~^~~~~~~~
  77606. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  77607. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77608. | ^~~~~~~~
  77609. | |
  77610. | long unsigned int
  77611. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  77612. 2535 | unsigned int gup_flags, struct page **pages);
  77613. | ~~~~~~~~~~~~~~^~~~~
  77614. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  77615. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  77616. | ^~~~~~~~~~~~~~ ~~~~~
  77617. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  77618. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  77619. | ^~~~~~~~~~~~~~
  77620. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  77621. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  77622. 237 | return (unsigned long)(vmf->virtual_address);
  77623. | ^~~~~~~~~~~~~~~
  77624. | real_address
  77625. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  77626. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77627. 246 | down_read(&mm->mmap_sem);
  77628. | ^~~~~~~~
  77629. | mmap_base
  77630. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  77631. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77632. 255 | up_read(&mm->mmap_sem);
  77633. | ^~~~~~~~
  77634. | mmap_base
  77635. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  77636. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77637. 264 | down_write(&mm->mmap_sem);
  77638. | ^~~~~~~~
  77639. | mmap_base
  77640. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  77641. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77642. 273 | up_write(&mm->mmap_sem);
  77643. | ^~~~~~~~
  77644. | mmap_base
  77645. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  77646. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77647. 282 | return rwsem_is_locked(&mm->mmap_sem);
  77648. | ^~~~~~~~
  77649. | mmap_base
  77650. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  77651. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  77652. 291 | return &mm->mmap_sem;
  77653. | ^~~~~~~~
  77654. | mmap_base
  77655. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  77656. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  77657. 300 | vma->vm_flags |= flags;
  77658. | ^~
  77659. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  77660. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  77661. 309 | vma->vm_flags &= ~flags;
  77662. | ^~
  77663. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  77664. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  77665. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  77666. | ^~~~~~~~~~~~~~~~~~~~~~~
  77667. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77668. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77669. 520 | NV_MEMDBG_ADD(ptr, size);
  77670. | ^
  77671. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  77672. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  77673. 287 | ktime_get_raw_ts64(&tm);
  77674. | ^~~
  77675. | |
  77676. | struct timespec64 *
  77677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  77678. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  77679. | ~~~~~~~~~~~~~~~~~~~^~
  77680. nvidia-uvm/uvm_linux.h: At top level:
  77681. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77682. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  77683. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77684. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77685. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  77686. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77687. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  77688. 449 | #error "Unknown number of arguments"
  77689. | ^~~~~
  77690. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77691. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  77692. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77693. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77694. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  77695. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77696. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  77697. 485 | #error "Unknown number of arguments"
  77698. | ^~~~~
  77699. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  77700. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  77701. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77702. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  77703. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77704. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77705. | ^
  77706. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77707. 573 | NV_MEMDBG_ADD(ptr, size);
  77708. | ^
  77709. ././common/inc/nv-linux.h: In function 'nv_vmap':
  77710. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77711. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  77712. | ^
  77713. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  77714. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  77715. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77716. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  77717. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77718. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77719. | ^
  77720. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77721. 573 | NV_MEMDBG_ADD(ptr, size);
  77722. | ^
  77723. ././common/inc/nv-linux.h: In function 'nv_vmap':
  77724. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77725. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  77726. | ^
  77727. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  77728. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  77729. 533 | ptr = ioremap_cache_shared(phys, size);
  77730. | ^~~~~~~~~~~~~~~~~~~~
  77731. | ioremap_cache
  77732. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77733. 533 | ptr = ioremap_cache_shared(phys, size);
  77734. | ^
  77735. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77736. 556 | NV_MEMDBG_ADD(ptr, size);
  77737. | ^
  77738. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  77739. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  77740. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  77741. | ^~~~~~~~~~~~~
  77742. | d_is_dir
  77743. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  77744. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  77745. 736 | return phys_to_dma(dev, pa);
  77746. | ^~~~~~~~~~~
  77747. | nv_phys_to_dma
  77748. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  77749. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  77750. 736 | return phys_to_dma(dev, pa);
  77751. | ^~~~~~~~~~~
  77752. | nv_phys_to_dma
  77753. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  77754. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  77755. 533 | ptr = ioremap_cache_shared(phys, size);
  77756. | ^~~~~~~~~~~~~~~~~~~~
  77757. | ioremap_cache
  77758. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77759. 533 | ptr = ioremap_cache_shared(phys, size);
  77760. | ^
  77761. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77762. 556 | NV_MEMDBG_ADD(ptr, size);
  77763. | ^
  77764. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  77765. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  77766. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  77767. | ^~~~~~~~~~~~~~~~~~~~~~~
  77768. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  77769. from nvidia-uvm/uvm_gpu.h:37,
  77770. from nvidia-uvm/uvm_global.h:32,
  77771. from nvidia-uvm/uvm_kvmalloc.c:26:
  77772. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  77773. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77774. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77775. 520 | NV_MEMDBG_ADD(ptr, size);
  77776. | ^
  77777. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  77778. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  77779. | ^~~~~~~~~~~~~~~~~~~~
  77780. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  77781. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  77782. 287 | ktime_get_raw_ts64(&tm);
  77783. | ^~~
  77784. | |
  77785. | struct timespec64 *
  77786. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  77787. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  77788. | ~~~~~~~~~~~~~~~~~~~^~
  77789. nvidia-uvm/uvm_linux.h: At top level:
  77790. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77791. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  77792. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77793. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77794. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  77795. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77796. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  77797. 449 | #error "Unknown number of arguments"
  77798. | ^~~~~
  77799. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77800. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  77801. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77802. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77803. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  77804. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77805. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  77806. 485 | #error "Unknown number of arguments"
  77807. | ^~~~~
  77808. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  77809. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  77810. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  77811. | ^~~~~~~~~~~~~
  77812. | d_is_dir
  77813. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  77814. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  77815. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  77816. | ^~~~~~~~~~~~~
  77817. | d_is_dir
  77818. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  77819. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  77820. 533 | ptr = ioremap_cache_shared(phys, size);
  77821. | ^~~~~~~~~~~~~~~~~~~~
  77822. | ioremap_cache
  77823. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77824. 533 | ptr = ioremap_cache_shared(phys, size);
  77825. | ^
  77826. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77827. 556 | NV_MEMDBG_ADD(ptr, size);
  77828. | ^
  77829. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  77830. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  77831. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77832. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  77833. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77834. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77835. | ^
  77836. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77837. 573 | NV_MEMDBG_ADD(ptr, size);
  77838. | ^
  77839. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  77840. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  77841. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77842. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  77843. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77844. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77845. | ^
  77846. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77847. 573 | NV_MEMDBG_ADD(ptr, size);
  77848. | ^
  77849. ././common/inc/nv-linux.h: In function 'nv_vmap':
  77850. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77851. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  77852. | ^
  77853. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  77854. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  77855. 287 | ktime_get_raw_ts64(&tm);
  77856. | ^~~
  77857. | |
  77858. | struct timespec64 *
  77859. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  77860. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  77861. | ~~~~~~~~~~~~~~~~~~~^~
  77862. ././common/inc/nv-linux.h: In function 'nv_vmap':
  77863. nvidia-uvm/uvm_linux.h: At top level:
  77864. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77865. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  77866. | ^
  77867. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77868. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  77869. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77870. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77871. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  77872. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77873. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  77874. 449 | #error "Unknown number of arguments"
  77875. | ^~~~~
  77876. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77877. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  77878. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77879. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77880. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  77881. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77882. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  77883. 485 | #error "Unknown number of arguments"
  77884. | ^~~~~
  77885. cc1: some warnings being treated as errors
  77886. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  77887. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  77888. 287 | ktime_get_raw_ts64(&tm);
  77889. | ^~~
  77890. | |
  77891. | struct timespec64 *
  77892. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  77893. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  77894. | ~~~~~~~~~~~~~~~~~~~^~
  77895. nvidia-uvm/uvm_linux.h: At top level:
  77896. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77897. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  77898. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77899. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77900. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  77901. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77902. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  77903. 449 | #error "Unknown number of arguments"
  77904. | ^~~~~
  77905. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77906. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  77907. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77908. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  77909. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  77910. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77911. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  77912. 485 | #error "Unknown number of arguments"
  77913. | ^~~~~
  77914. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_utils.o] Error 1
  77915. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  77916. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  77917. 736 | return phys_to_dma(dev, pa);
  77918. | ^~~~~~~~~~~
  77919. | nv_phys_to_dma
  77920. CC [M] nvidia-uvm/uvm_test.o
  77921. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  77922. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  77923. 736 | return phys_to_dma(dev, pa);
  77924. | ^~~~~~~~~~~
  77925. | nv_phys_to_dma
  77926. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  77927. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  77928. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77929. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  77930. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77931. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77932. | ^
  77933. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77934. 573 | NV_MEMDBG_ADD(ptr, size);
  77935. | ^
  77936. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  77937. from nvidia-uvm/uvm_gpu.h:37:
  77938. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  77939. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  77940. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  77941. | ^~~~~~~~~~~~~~~~~~~~
  77942. ././common/inc/nv-linux.h: In function 'nv_vmap':
  77943. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77944. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  77945. | ^
  77946. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  77947. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  77948. 533 | ptr = ioremap_cache_shared(phys, size);
  77949. | ^~~~~~~~~~~~~~~~~~~~
  77950. | ioremap_cache
  77951. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77952. 533 | ptr = ioremap_cache_shared(phys, size);
  77953. | ^
  77954. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77955. 556 | NV_MEMDBG_ADD(ptr, size);
  77956. | ^
  77957. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  77958. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77959. 502 | NV_MEMDBG_ADD(ptr, size);
  77960. | ^
  77961. In file included from ././common/inc/conftest.h:28,
  77962. from ././common/inc/nv-time.h:27,
  77963. from nvidia-uvm/uvm_linux.h:37,
  77964. from nvidia-uvm/uvm_common.h:43,
  77965. from nvidia-uvm/uvm_api.h:28,
  77966. from nvidia-uvm/uvm_test.c:24:
  77967. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  77968. 74 | #error dma_buf_export() conftest failed!
  77969. | ^~~~~
  77970. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  77971. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  77972. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  77973. 736 | return phys_to_dma(dev, pa);
  77974. | ^~~~~~~~~~~
  77975. | nv_phys_to_dma
  77976. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  77977. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77978. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  77979. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  77980. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  77981. | ^
  77982. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77983. 573 | NV_MEMDBG_ADD(ptr, size);
  77984. | ^
  77985. ././common/inc/nv-linux.h: In function 'nv_vmap':
  77986. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  77987. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  77988. | ^
  77989. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  77990. 87 | #error wait_on_bit_lock() conftest failed!
  77991. | ^~~~~
  77992. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  77993. 90 | #error radix_tree_replace_slot() conftest failed!
  77994. | ^~~~~
  77995. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  77996. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  77997. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  77998. | ^~~~~~~~~~~~~
  77999. | d_is_dir
  78000. cc1: some warnings being treated as errors
  78001. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  78002. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  78003. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  78004. | ^~~~~~~~~~~~~
  78005. | d_is_dir
  78006. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  78007. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  78008. 736 | return phys_to_dma(dev, pa);
  78009. | ^~~~~~~~~~~
  78010. | nv_phys_to_dma
  78011. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_kvmalloc.o] Error 1
  78012. CC [M] nvidia-uvm/uvm_test_rng.o
  78013. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  78014. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78015. 287 | ktime_get_raw_ts64(&tm);
  78016. | ^~~
  78017. | |
  78018. | struct timespec64 *
  78019. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78020. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78021. | ~~~~~~~~~~~~~~~~~~~^~
  78022. nvidia-uvm/uvm_linux.h: At top level:
  78023. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78024. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  78025. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78026. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78027. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  78028. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78029. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  78030. 449 | #error "Unknown number of arguments"
  78031. | ^~~~~
  78032. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78033. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  78034. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78035. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78036. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  78037. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78038. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  78039. 485 | #error "Unknown number of arguments"
  78040. | ^~~~~
  78041. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  78042. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  78043. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  78044. | ^~~~~~~~~~~~~
  78045. | d_is_dir
  78046. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  78047. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  78048. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78049. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  78050. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78051. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78052. | ^
  78053. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78054. 573 | NV_MEMDBG_ADD(ptr, size);
  78055. | ^
  78056. ././common/inc/nv-linux.h: In function 'nv_vmap':
  78057. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78058. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  78059. | ^
  78060. In file included from nvidia-uvm/uvm_map_external.c:27:
  78061. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  78062. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  78063. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  78064. | ^~~~~~~~~~~~~~~~~~~~
  78065. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  78066. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78067. 287 | ktime_get_raw_ts64(&tm);
  78068. | ^~~
  78069. | |
  78070. | struct timespec64 *
  78071. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78072. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78073. | ~~~~~~~~~~~~~~~~~~~^~
  78074. nvidia-uvm/uvm_linux.h: At top level:
  78075. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78076. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  78077. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78078. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78079. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  78080. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78081. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  78082. 449 | #error "Unknown number of arguments"
  78083. | ^~~~~
  78084. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78085. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  78086. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78087. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78088. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  78089. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78090. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  78091. 485 | #error "Unknown number of arguments"
  78092. | ^~~~~
  78093. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  78094. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  78095. 736 | return phys_to_dma(dev, pa);
  78096. | ^~~~~~~~~~~
  78097. | nv_phys_to_dma
  78098. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  78099. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  78100. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  78101. | ^~~~~~~~~~~~~
  78102. | d_is_dir
  78103. In file included from ././common/inc/conftest.h:28,
  78104. from ././common/inc/nv-time.h:27,
  78105. from nvidia-uvm/uvm_linux.h:37,
  78106. from nvidia-uvm/uvm_test_rng.h:28,
  78107. from nvidia-uvm/uvm_test_rng.c:24:
  78108. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  78109. 74 | #error dma_buf_export() conftest failed!
  78110. | ^~~~~
  78111. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  78112. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78113. 287 | ktime_get_raw_ts64(&tm);
  78114. | ^~~
  78115. | |
  78116. | struct timespec64 *
  78117. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78118. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78119. | ~~~~~~~~~~~~~~~~~~~^~
  78120. nvidia-uvm/uvm_linux.h: At top level:
  78121. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78122. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  78123. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78124. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78125. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  78126. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78127. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  78128. 449 | #error "Unknown number of arguments"
  78129. | ^~~~~
  78130. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78131. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  78132. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78133. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78134. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  78135. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78136. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  78137. 485 | #error "Unknown number of arguments"
  78138. | ^~~~~
  78139. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  78140. 87 | #error wait_on_bit_lock() conftest failed!
  78141. | ^~~~~
  78142. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  78143. 90 | #error radix_tree_replace_slot() conftest failed!
  78144. | ^~~~~
  78145. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  78146. from nvidia-uvm/uvm_gpu.h:37,
  78147. from nvidia-uvm/uvm_global.h:32,
  78148. from nvidia-uvm/uvm_migrate.c:27:
  78149. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  78150. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  78151. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  78152. | ^~~~~~~~~~~~~~~~~~~~
  78153. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  78154. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78155. 502 | NV_MEMDBG_ADD(ptr, size);
  78156. | ^
  78157. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  78158. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  78159. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  78160. | ^~~~~~~~~~~~~~~~~~~~~~~
  78161. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78162. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78163. 520 | NV_MEMDBG_ADD(ptr, size);
  78164. | ^
  78165. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  78166. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78167. 287 | ktime_get_raw_ts64(&tm);
  78168. | ^~~
  78169. | |
  78170. | struct timespec64 *
  78171. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78172. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78173. | ~~~~~~~~~~~~~~~~~~~^~
  78174. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  78175. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  78176. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78177. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  78178. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78179. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78180. | ^
  78181. nvidia-uvm/uvm_linux.h: At top level:
  78182. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78183. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  78184. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78185. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78186. 573 | NV_MEMDBG_ADD(ptr, size);
  78187. | ^
  78188. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78189. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  78190. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78191. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  78192. 449 | #error "Unknown number of arguments"
  78193. | ^~~~~
  78194. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78195. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  78196. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78197. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78198. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  78199. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78200. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  78201. 485 | #error "Unknown number of arguments"
  78202. | ^~~~~
  78203. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  78204. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  78205. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  78206. | ^~~~~~~~~~~~~
  78207. | d_is_dir
  78208. ././common/inc/nv-linux.h: In function 'nv_vmap':
  78209. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78210. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  78211. | ^
  78212. In file included from ././common/inc/nv-linux.h:34,
  78213. from nvidia-uvm/uvm_linux.h:40:
  78214. ././common/inc/nv-mm.h: At top level:
  78215. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  78216. 29 | typedef int vm_fault_t;
  78217. | ^~~~~~~~~~
  78218. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  78219. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  78220. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  78221. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  78222. from ././common/inc/nv-lock.h:35,
  78223. from ././common/inc/nv-linux.h:32:
  78224. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  78225. 1311 | typedef __bitwise unsigned int vm_fault_t;
  78226. | ^~~~~~~~~~
  78227. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  78228. from ././common/inc/nv-time.h:28:
  78229. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  78230. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  78231. 52 | #define current get_current()
  78232. | ^~~~~~~~~~~~~
  78233. | |
  78234. | struct task_struct *
  78235. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  78236. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  78237. | ^~~~~~~
  78238. In file included from ././common/inc/nv-pgprot.h:30,
  78239. from ././common/inc/nv-linux.h:33:
  78240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  78241. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  78242. | ~~~~~~~~~~~~~~^~~~~
  78243. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  78244. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  78245. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  78246. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  78247. | ~~~~~~~~~~~~~~^~~~~~~~
  78248. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  78249. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  78250. | ^~~~~~~~
  78251. | |
  78252. | long unsigned int
  78253. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  78254. 2535 | unsigned int gup_flags, struct page **pages);
  78255. | ~~~~~~~~~~~~~~^~~~~
  78256. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  78257. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  78258. | ^~~~~~~~~~~~~~ ~~~~~
  78259. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  78260. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  78261. | ^~~~~~~~~~~~~~
  78262. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  78263. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  78264. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  78265. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  78266. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  78267. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  78268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  78269. 8 | #define NULL ((void *)0)
  78270. | ^~~~~~~~~~~
  78271. | |
  78272. | void *
  78273. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  78274. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  78275. | ^~~~
  78276. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  78277. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  78278. | ~~~~~~~~~~~~~~^~~~~
  78279. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  78280. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  78281. | ^~
  78282. | |
  78283. | struct mm_struct *
  78284. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  78285. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  78286. | ~~~~~~~~~~~~~~^~~~~~~~
  78287. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  78288. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  78289. | ^~~~~~~~
  78290. | |
  78291. | long unsigned int
  78292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  78293. 2535 | unsigned int gup_flags, struct page **pages);
  78294. | ~~~~~~~~~~~~~~^~~~~
  78295. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  78296. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  78297. | ^~~~~~~~~~~~~~ ~~~~~
  78298. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  78299. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  78300. | ^~~~~~~~~~~~~~
  78301. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  78302. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  78303. 237 | return (unsigned long)(vmf->virtual_address);
  78304. | ^~~~~~~~~~~~~~~
  78305. | real_address
  78306. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  78307. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  78308. 246 | down_read(&mm->mmap_sem);
  78309. | ^~~~~~~~
  78310. | mmap_base
  78311. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  78312. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  78313. 255 | up_read(&mm->mmap_sem);
  78314. | ^~~~~~~~
  78315. | mmap_base
  78316. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  78317. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  78318. 264 | down_write(&mm->mmap_sem);
  78319. | ^~~~~~~~
  78320. | mmap_base
  78321. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  78322. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  78323. 273 | up_write(&mm->mmap_sem);
  78324. | ^~~~~~~~
  78325. | mmap_base
  78326. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  78327. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  78328. 282 | return rwsem_is_locked(&mm->mmap_sem);
  78329. | ^~~~~~~~
  78330. | mmap_base
  78331. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  78332. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  78333. 291 | return &mm->mmap_sem;
  78334. | ^~~~~~~~
  78335. | mmap_base
  78336. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  78337. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  78338. 300 | vma->vm_flags |= flags;
  78339. | ^~
  78340. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  78341. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  78342. 309 | vma->vm_flags &= ~flags;
  78343. | ^~
  78344. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  78345. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78346. 502 | NV_MEMDBG_ADD(ptr, size);
  78347. | ^
  78348. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  78349. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  78350. 736 | return phys_to_dma(dev, pa);
  78351. | ^~~~~~~~~~~
  78352. | nv_phys_to_dma
  78353. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  78354. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78355. 287 | ktime_get_raw_ts64(&tm);
  78356. | ^~~
  78357. | |
  78358. | struct timespec64 *
  78359. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78360. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78361. | ~~~~~~~~~~~~~~~~~~~^~
  78362. nvidia-uvm/uvm_linux.h: At top level:
  78363. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78364. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  78365. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78366. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78367. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  78368. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78369. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  78370. 449 | #error "Unknown number of arguments"
  78371. | ^~~~~
  78372. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78373. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  78374. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78375. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78376. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  78377. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78378. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  78379. 485 | #error "Unknown number of arguments"
  78380. | ^~~~~
  78381. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  78382. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  78383. 533 | ptr = ioremap_cache_shared(phys, size);
  78384. | ^~~~~~~~~~~~~~~~~~~~
  78385. | ioremap_cache
  78386. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78387. 533 | ptr = ioremap_cache_shared(phys, size);
  78388. | ^
  78389. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78390. 556 | NV_MEMDBG_ADD(ptr, size);
  78391. | ^
  78392. In file included from nvidia-uvm/uvm_populate_pageable.c:27:
  78393. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  78394. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  78395. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  78396. | ^~~~~~~~~~~~~~~~~~~~
  78397. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  78398. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  78399. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  78400. | ^~~~~~~~~~~~~
  78401. | d_is_dir
  78402. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  78403. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  78404. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  78405. | ^~~~~~~~~~~~~~~~~~~~~~~
  78406. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78407. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78408. 520 | NV_MEMDBG_ADD(ptr, size);
  78409. | ^
  78410. In file included from nvidia-uvm/uvm_api.h:31,
  78411. from nvidia-uvm/uvm_pmm_gpu.c:164:
  78412. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  78413. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  78414. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  78415. | ^~~~~~~~~~~~~~~~~~~~
  78416. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  78417. from nvidia-uvm/uvm_gpu.h:37,
  78418. from nvidia-uvm/uvm_migrate_pageable.c:26:
  78419. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  78420. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  78421. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  78422. | ^~~~~~~~~~~~~~~~~~~~
  78423. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  78424. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78425. 287 | ktime_get_raw_ts64(&tm);
  78426. | ^~~
  78427. | |
  78428. | struct timespec64 *
  78429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78430. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78431. | ~~~~~~~~~~~~~~~~~~~^~
  78432. nvidia-uvm/uvm_linux.h: At top level:
  78433. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78434. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  78435. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78436. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78437. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  78438. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78439. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  78440. 449 | #error "Unknown number of arguments"
  78441. | ^~~~~
  78442. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78443. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  78444. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78445. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78446. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  78447. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78448. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  78449. 485 | #error "Unknown number of arguments"
  78450. | ^~~~~
  78451. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  78452. 40 | struct timespec64 {
  78453. | ^~~~~~~~~~
  78454. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  78455. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  78456. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  78457. from ././common/inc/nv-time.h:29:
  78458. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  78459. 13 | struct timespec64 {
  78460. | ^~~~~~~~~~
  78461. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  78462. 77 | static inline struct timespec64 timespec64_add
  78463. | ^~~~~~~~~~~~~~
  78464. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  78465. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  78466. | ^~~~~~~~~~~~~~
  78467. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  78468. 95 | static inline struct timespec64 timespec64_sub
  78469. | ^~~~~~~~~~~~~~
  78470. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  78471. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  78472. | ^~~~~~~~~~~~~~
  78473. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  78474. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  78475. | ^~~~~~~~~~~~~~~~
  78476. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  78477. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  78478. | ^~~~~~~~~~~~~~~~
  78479. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  78480. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78481. 122 | ktime_get_raw_ts64(&ts);
  78482. | ^~~
  78483. | |
  78484. | struct timespec64 *
  78485. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  78486. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  78487. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  78488. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  78489. from ././common/inc/nv-time.h:30:
  78490. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78491. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78492. | ~~~~~~~~~~~~~~~~~~~^~
  78493. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  78494. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78495. 185 | ktime_get_raw_ts64(&tm_aux);
  78496. | ^~~~~~~
  78497. | |
  78498. | struct timespec64 *
  78499. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78500. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78501. | ~~~~~~~~~~~~~~~~~~~^~
  78502. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  78503. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  78504. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  78505. | ^~~~~~~~~~~~~~~~~~~~~~~
  78506. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78507. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78508. 221 | ktime_get_raw_ts64(&tm_aux);
  78509. | ^~~~~~~
  78510. | |
  78511. | struct timespec64 *
  78512. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78513. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78514. | ~~~~~~~~~~~~~~~~~~~^~
  78515. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78516. 520 | NV_MEMDBG_ADD(ptr, size);
  78517. | ^
  78518. nvidia-uvm/uvm_map_external.c: In function 'uvm_pte_buffer_init':
  78519. nvidia-uvm/uvm_map_external.c:104:42: warning: implicit conversion from 'UvmGpuCachingType' to 'UvmRmGpuCachingType' [-Wenum-conversion]
  78520. 104 | pte_buffer->mapping_info.cachingType = map_rm_params->caching_type;
  78521. | ^
  78522. nvidia-uvm/uvm_map_external.c:105:42: warning: implicit conversion from 'UvmGpuMappingType' to 'UvmRmGpuMappingType' [-Wenum-conversion]
  78523. 105 | pte_buffer->mapping_info.mappingType = map_rm_params->mapping_type;
  78524. | ^
  78525. nvidia-uvm/uvm_map_external.c:106:41: warning: implicit conversion from 'UvmGpuFormatType' to 'UvmRmGpuFormatType' [-Wenum-conversion]
  78526. 106 | pte_buffer->mapping_info.formatType = map_rm_params->format_type;
  78527. | ^
  78528. nvidia-uvm/uvm_map_external.c:107:42: warning: implicit conversion from 'UvmGpuFormatElementBits' to 'UvmRmGpuFormatElementBits' [-Wenum-conversion]
  78529. 107 | pte_buffer->mapping_info.elementBits = map_rm_params->element_bits;
  78530. | ^
  78531. nvidia-uvm/uvm_map_external.c:108:46: warning: implicit conversion from 'UvmGpuCompressionType' to 'UvmRmGpuCompressionType' [-Wenum-conversion]
  78532. 108 | pte_buffer->mapping_info.compressionType = map_rm_params->compression_type;
  78533. | ^
  78534. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  78535. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  78536. 533 | ptr = ioremap_cache_shared(phys, size);
  78537. | ^~~~~~~~~~~~~~~~~~~~
  78538. | ioremap_cache
  78539. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78540. 533 | ptr = ioremap_cache_shared(phys, size);
  78541. | ^
  78542. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78543. 556 | NV_MEMDBG_ADD(ptr, size);
  78544. | ^
  78545. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  78546. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  78547. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78548. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  78549. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78550. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78551. | ^
  78552. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78553. 573 | NV_MEMDBG_ADD(ptr, size);
  78554. | ^
  78555. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  78556. from nvidia-uvm/uvm_channel.h:29,
  78557. from nvidia-uvm/uvm_push.h:29,
  78558. from nvidia-uvm/uvm_pte_batch.h:29,
  78559. from nvidia-uvm/uvm_va_block_types.h:28:
  78560. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  78561. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  78562. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  78563. | ^~~~~~~~~~~~~~~~~~~~
  78564. ././common/inc/nv-linux.h: In function 'nv_vmap':
  78565. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78566. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  78567. | ^
  78568. nvidia-uvm/uvm_pmm_sysmem.c: In function 'uvm_pmm_sysmem_mappings_split_gpu_mappings':
  78569. 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]
  78570. 294 | NV_RADIX_TREE_REPLACE_SLOT(&sysmem_mappings->reverse_map_tree, slot, new_reverse_maps[subregion - 1]);
  78571. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  78572. | NV_RADIX_TREE_REPLACE_SLOT_PRESENT
  78573. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  78574. from nvidia-uvm/uvm_gpu.h:37,
  78575. from nvidia-uvm/uvm_global.h:32,
  78576. from nvidia-uvm/uvm_va_space.h:28,
  78577. from nvidia-uvm/uvm_user_channel.c:26:
  78578. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  78579. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  78580. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  78581. | ^~~~~~~~~~~~~~~~~~~~
  78582. cc1: some warnings being treated as errors
  78583. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  78584. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  78585. 736 | return phys_to_dma(dev, pa);
  78586. | ^~~~~~~~~~~
  78587. | nv_phys_to_dma
  78588. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  78589. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  78590. 533 | ptr = ioremap_cache_shared(phys, size);
  78591. | ^~~~~~~~~~~~~~~~~~~~
  78592. | ioremap_cache
  78593. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78594. 533 | ptr = ioremap_cache_shared(phys, size);
  78595. | ^
  78596. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78597. 556 | NV_MEMDBG_ADD(ptr, size);
  78598. | ^
  78599. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_migrate.o] Error 1
  78600. CC [M] nvidia-uvm/uvm_range_tree_test.o
  78601. cc1: some warnings being treated as errors
  78602. nvidia-uvm/uvm_populate_pageable.c: At top level:
  78603. nvidia-uvm/uvm_populate_pageable.c:56:11: warning: no previous prototype for 'uvm_handle_fault' [-Wmissing-prototypes]
  78604. 56 | NV_STATUS uvm_handle_fault(struct vm_area_struct *vma, unsigned long start, unsigned long vma_num_pages, bool write)
  78605. | ^~~~~~~~~~~~~~~~
  78606. In file included from ././common/inc/conftest.h:28,
  78607. from ././common/inc/nv-time.h:27,
  78608. from nvidia-uvm/uvm_linux.h:37,
  78609. from nvidia-uvm/uvm_common.h:43,
  78610. from nvidia-uvm/uvm_range_tree_test.c:24:
  78611. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  78612. 74 | #error dma_buf_export() conftest failed!
  78613. | ^~~~~
  78614. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  78615. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  78616. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  78617. | ^~~~~~~~~~~~~
  78618. | d_is_dir
  78619. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  78620. 87 | #error wait_on_bit_lock() conftest failed!
  78621. | ^~~~~
  78622. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  78623. 90 | #error radix_tree_replace_slot() conftest failed!
  78624. | ^~~~~
  78625. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_map_external.o] Error 1
  78626. CC [M] nvidia-uvm/uvm_range_allocator_test.o
  78627. cc1: some warnings being treated as errors
  78628. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  78629. from nvidia-uvm/uvm_channel.h:29,
  78630. from nvidia-uvm/uvm_push.h:29,
  78631. from nvidia-uvm/uvm_pte_batch.h:29,
  78632. from nvidia-uvm/uvm_va_block_types.h:28,
  78633. from nvidia-uvm/uvm_perf_thrashing.h:31,
  78634. from nvidia-uvm/uvm_perf_heuristics.c:26:
  78635. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  78636. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  78637. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  78638. | ^~~~~~~~~~~~~~~~~~~~
  78639. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hmm.o] Error 1
  78640. cc1: some warnings being treated as errors
  78641. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  78642. 40 | struct timespec64 {
  78643. | ^~~~~~~~~~
  78644. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  78645. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  78646. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  78647. from ././common/inc/nv-time.h:29:
  78648. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  78649. 13 | struct timespec64 {
  78650. | ^~~~~~~~~~
  78651. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  78652. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78653. 287 | ktime_get_raw_ts64(&tm);
  78654. | ^~~
  78655. | |
  78656. | struct timespec64 *
  78657. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78658. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78659. | ~~~~~~~~~~~~~~~~~~~^~
  78660. nvidia-uvm/uvm_linux.h: At top level:
  78661. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78662. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  78663. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78664. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78665. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  78666. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78667. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  78668. 449 | #error "Unknown number of arguments"
  78669. | ^~~~~
  78670. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78671. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  78672. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78673. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78674. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  78675. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78676. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  78677. 485 | #error "Unknown number of arguments"
  78678. | ^~~~~
  78679. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  78680. 77 | static inline struct timespec64 timespec64_add
  78681. | ^~~~~~~~~~~~~~
  78682. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  78683. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  78684. | ^~~~~~~~~~~~~~
  78685. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  78686. 95 | static inline struct timespec64 timespec64_sub
  78687. | ^~~~~~~~~~~~~~
  78688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  78689. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  78690. | ^~~~~~~~~~~~~~
  78691. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  78692. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  78693. | ^~~~~~~~~~~~~~~~
  78694. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  78695. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  78696. | ^~~~~~~~~~~~~~~~
  78697. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  78698. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78699. 122 | ktime_get_raw_ts64(&ts);
  78700. | ^~~
  78701. | |
  78702. | struct timespec64 *
  78703. CC [M] nvidia-uvm/uvm_gpu_semaphore_test.o
  78704. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  78705. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  78706. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  78707. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  78708. from ././common/inc/nv-time.h:30:
  78709. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78710. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78711. | ~~~~~~~~~~~~~~~~~~~^~
  78712. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  78713. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78714. 185 | ktime_get_raw_ts64(&tm_aux);
  78715. | ^~~~~~~
  78716. | |
  78717. | struct timespec64 *
  78718. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78719. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78720. | ~~~~~~~~~~~~~~~~~~~^~
  78721. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78722. 221 | ktime_get_raw_ts64(&tm_aux);
  78723. | ^~~~~~~
  78724. | |
  78725. | struct timespec64 *
  78726. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78727. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78728. | ~~~~~~~~~~~~~~~~~~~^~
  78729. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_populate_pageable.o] Error 1
  78730. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  78731. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  78732. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78733. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  78734. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78735. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78736. | ^
  78737. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78738. 573 | NV_MEMDBG_ADD(ptr, size);
  78739. | ^
  78740. ././common/inc/nv-linux.h: In function 'nv_vmap':
  78741. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78742. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  78743. | ^
  78744. CC [M] nvidia-uvm/uvm_mem_test.o
  78745. In file included from ././common/inc/conftest.h:28,
  78746. from ././common/inc/nv-time.h:27,
  78747. from nvidia-uvm/uvm_linux.h:37,
  78748. from nvidia-uvm/uvm_common.h:43,
  78749. from nvidia-uvm/uvm_range_allocator_test.c:25:
  78750. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  78751. 74 | #error dma_buf_export() conftest failed!
  78752. | ^~~~~
  78753. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  78754. 87 | #error wait_on_bit_lock() conftest failed!
  78755. | ^~~~~
  78756. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  78757. 90 | #error radix_tree_replace_slot() conftest failed!
  78758. | ^~~~~
  78759. cc1: some warnings being treated as errors
  78760. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  78761. 40 | struct timespec64 {
  78762. | ^~~~~~~~~~
  78763. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  78764. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  78765. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  78766. from ././common/inc/nv-time.h:29:
  78767. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  78768. 13 | struct timespec64 {
  78769. | ^~~~~~~~~~
  78770. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  78771. 77 | static inline struct timespec64 timespec64_add
  78772. | ^~~~~~~~~~~~~~
  78773. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  78774. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  78775. | ^~~~~~~~~~~~~~
  78776. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  78777. 95 | static inline struct timespec64 timespec64_sub
  78778. | ^~~~~~~~~~~~~~
  78779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  78780. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  78781. | ^~~~~~~~~~~~~~
  78782. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  78783. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  78784. | ^~~~~~~~~~~~~~~~
  78785. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  78786. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  78787. | ^~~~~~~~~~~~~~~~
  78788. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  78789. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78790. 122 | ktime_get_raw_ts64(&ts);
  78791. | ^~~
  78792. | |
  78793. | struct timespec64 *
  78794. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  78795. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  78796. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  78797. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  78798. from ././common/inc/nv-time.h:30:
  78799. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78800. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78801. | ~~~~~~~~~~~~~~~~~~~^~
  78802. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  78803. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78804. 185 | ktime_get_raw_ts64(&tm_aux);
  78805. | ^~~~~~~
  78806. | |
  78807. | struct timespec64 *
  78808. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78809. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78810. | ~~~~~~~~~~~~~~~~~~~^~
  78811. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  78812. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  78813. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  78814. 736 | return phys_to_dma(dev, pa);
  78815. | ^~~~~~~~~~~
  78816. | nv_phys_to_dma
  78817. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  78818. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78819. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  78820. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78821. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  78822. | ^
  78823. nvidia-uvm/uvm_migrate_pageable.c: At top level:
  78824. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78825. 573 | NV_MEMDBG_ADD(ptr, size);
  78826. | ^
  78827. nvidia-uvm/uvm_migrate_pageable.c:510:6: warning: no previous prototype for 'migrate_vma_cleanup_pages' [-Wmissing-prototypes]
  78828. 510 | void migrate_vma_cleanup_pages(unsigned long *dst, unsigned long npages)
  78829. | ^~~~~~~~~~~~~~~~~~~~~~~~~
  78830. In file included from ././common/inc/conftest.h:28,
  78831. from ././common/inc/nv-time.h:27,
  78832. from nvidia-uvm/uvm_linux.h:37,
  78833. from nvidia-uvm/uvm_extern_decl.h:27,
  78834. from nvidia-uvm/uvm_global.h:28,
  78835. from nvidia-uvm/uvm_gpu_semaphore_test.c:24:
  78836. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  78837. 74 | #error dma_buf_export() conftest failed!
  78838. | ^~~~~
  78839. nvidia-uvm/uvm_migrate_pageable.c:556:6: warning: no previous prototype for 'uvm_migrate_vma_alloc_and_copy_helper' [-Wmissing-prototypes]
  78840. 556 | void uvm_migrate_vma_alloc_and_copy_helper(struct vm_area_struct *vma,
  78841. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78842. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  78843. 87 | #error wait_on_bit_lock() conftest failed!
  78844. | ^~~~~
  78845. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  78846. 90 | #error radix_tree_replace_slot() conftest failed!
  78847. | ^~~~~
  78848. ././common/inc/nv-linux.h: In function 'nv_vmap':
  78849. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78850. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  78851. | ^
  78852. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78853. 221 | ktime_get_raw_ts64(&tm_aux);
  78854. | ^~~~~~~
  78855. | |
  78856. | struct timespec64 *
  78857. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78858. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78859. | ~~~~~~~~~~~~~~~~~~~^~
  78860. nvidia-uvm/uvm_migrate_pageable.c:645:6: warning: no previous prototype for 'uvm_migrate_vma_finalize_and_map_helper' [-Wmissing-prototypes]
  78861. 645 | void uvm_migrate_vma_finalize_and_map_helper(struct vm_area_struct *vma,
  78862. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78863. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_sysmem.o] Error 1
  78864. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  78865. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78866. 502 | NV_MEMDBG_ADD(ptr, size);
  78867. | ^
  78868. CC [M] nvidia-uvm/uvm_rm_mem_test.o
  78869. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  78870. In file included from ././common/inc/conftest.h:28,
  78871. from ././common/inc/nv-time.h:27,
  78872. from nvidia-uvm/uvm_linux.h:37,
  78873. from nvidia-uvm/uvm_common.h:43,
  78874. from nvidia-uvm/uvm_hal.h:28,
  78875. from nvidia-uvm/uvm_mem_test.c:23:
  78876. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  78877. 74 | #error dma_buf_export() conftest failed!
  78878. | ^~~~~
  78879. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  78880. 736 | return phys_to_dma(dev, pa);
  78881. | ^~~~~~~~~~~
  78882. | nv_phys_to_dma
  78883. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  78884. 87 | #error wait_on_bit_lock() conftest failed!
  78885. | ^~~~~
  78886. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  78887. 90 | #error radix_tree_replace_slot() conftest failed!
  78888. | ^~~~~
  78889. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  78890. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  78891. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  78892. | ^~~~~~~~~~~~~
  78893. | d_is_dir
  78894. In file included from ././common/inc/conftest.h:28,
  78895. from ././common/inc/nv-time.h:27,
  78896. from nvidia-uvm/uvm_linux.h:37,
  78897. from nvidia-uvm/uvm_processors.h:27,
  78898. from nvidia-uvm/uvm_rm_mem.h:28,
  78899. from nvidia-uvm/uvm_rm_mem_test.c:24:
  78900. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  78901. 74 | #error dma_buf_export() conftest failed!
  78902. | ^~~~~
  78903. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  78904. 87 | #error wait_on_bit_lock() conftest failed!
  78905. | ^~~~~
  78906. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  78907. 90 | #error radix_tree_replace_slot() conftest failed!
  78908. | ^~~~~
  78909. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  78910. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  78911. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  78912. | ^~~~~~~~~~~~~
  78913. | d_is_dir
  78914. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  78915. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78916. 287 | ktime_get_raw_ts64(&tm);
  78917. | ^~~
  78918. | |
  78919. | struct timespec64 *
  78920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78921. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78922. | ~~~~~~~~~~~~~~~~~~~^~
  78923. nvidia-uvm/uvm_linux.h: At top level:
  78924. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78925. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  78926. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78927. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78928. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  78929. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78930. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  78931. 449 | #error "Unknown number of arguments"
  78932. | ^~~~~
  78933. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78934. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  78935. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78936. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78937. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  78938. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78939. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  78940. 485 | #error "Unknown number of arguments"
  78941. | ^~~~~
  78942. cc1: some warnings being treated as errors
  78943. In file included from nvidia-uvm/uvm_perf_events.h:31,
  78944. from nvidia-uvm/uvm_perf_prefetch.c:25:
  78945. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  78946. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  78947. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  78948. | ^~~~~~~~~~~~~~~~~~~~
  78949. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_migrate_pageable.o] Error 1
  78950. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  78951. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  78952. 287 | ktime_get_raw_ts64(&tm);
  78953. | ^~~
  78954. | |
  78955. | struct timespec64 *
  78956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  78957. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  78958. | ~~~~~~~~~~~~~~~~~~~^~
  78959. CC [M] nvidia-uvm/uvm_page_tree_test.o
  78960. nvidia-uvm/uvm_linux.h: At top level:
  78961. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78962. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  78963. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78964. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78965. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  78966. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78967. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  78968. 449 | #error "Unknown number of arguments"
  78969. | ^~~~~
  78970. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78971. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  78972. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78973. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  78974. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  78975. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78976. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  78977. 485 | #error "Unknown number of arguments"
  78978. | ^~~~~
  78979. cc1: some warnings being treated as errors
  78980. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  78981. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  78982. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  78983. | ^~~~~~~~~~~~~~~~~~~~~~~
  78984. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  78985. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  78986. 520 | NV_MEMDBG_ADD(ptr, size);
  78987. | ^
  78988. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_heuristics.o] Error 1
  78989. CC [M] nvidia-uvm/uvm_tracker_test.o
  78990. In file included from ././common/inc/conftest.h:28,
  78991. from ././common/inc/nv-time.h:27,
  78992. from nvidia-uvm/uvm_linux.h:37,
  78993. from nvidia-uvm/uvm_test.h:27,
  78994. from nvidia-uvm/uvm_page_tree_test.c:24:
  78995. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  78996. 74 | #error dma_buf_export() conftest failed!
  78997. | ^~~~~
  78998. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  78999. 87 | #error wait_on_bit_lock() conftest failed!
  79000. | ^~~~~
  79001. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  79002. 90 | #error radix_tree_replace_slot() conftest failed!
  79003. | ^~~~~
  79004. In file included from ././common/inc/conftest.h:28,
  79005. from ././common/inc/nv-time.h:27,
  79006. from nvidia-uvm/uvm_linux.h:37,
  79007. from nvidia-uvm/uvm_lock.h:28,
  79008. from nvidia-uvm/uvm_gpu_semaphore.h:28,
  79009. from nvidia-uvm/uvm_channel.h:29,
  79010. from nvidia-uvm/uvm_tracker_test.c:24:
  79011. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  79012. 74 | #error dma_buf_export() conftest failed!
  79013. | ^~~~~
  79014. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  79015. 87 | #error wait_on_bit_lock() conftest failed!
  79016. | ^~~~~
  79017. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  79018. 90 | #error radix_tree_replace_slot() conftest failed!
  79019. | ^~~~~
  79020. cc1: some warnings being treated as errors
  79021. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_user_channel.o] Error 1
  79022. CC [M] nvidia-uvm/uvm_push_test.o
  79023. In file included from nvidia-uvm/uvm_api.h:31:
  79024. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  79025. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  79026. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  79027. | ^~~~~~~~~~~~~~~~~~~~
  79028. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  79029. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  79030. 533 | ptr = ioremap_cache_shared(phys, size);
  79031. | ^~~~~~~~~~~~~~~~~~~~
  79032. | ioremap_cache
  79033. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  79034. 533 | ptr = ioremap_cache_shared(phys, size);
  79035. | ^
  79036. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  79037. 556 | NV_MEMDBG_ADD(ptr, size);
  79038. | ^
  79039. cc1: some warnings being treated as errors
  79040. In file included from ././common/inc/nv-linux.h:34,
  79041. from nvidia-uvm/uvm_linux.h:40:
  79042. ././common/inc/nv-mm.h: At top level:
  79043. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  79044. 29 | typedef int vm_fault_t;
  79045. | ^~~~~~~~~~
  79046. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  79047. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  79048. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  79049. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  79050. from ././common/inc/nv-lock.h:35,
  79051. from ././common/inc/nv-linux.h:32:
  79052. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  79053. 1311 | typedef __bitwise unsigned int vm_fault_t;
  79054. | ^~~~~~~~~~
  79055. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  79056. from ././common/inc/nv-time.h:28:
  79057. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  79058. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79059. 52 | #define current get_current()
  79060. | ^~~~~~~~~~~~~
  79061. | |
  79062. | struct task_struct *
  79063. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  79064. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79065. | ^~~~~~~
  79066. In file included from ././common/inc/nv-pgprot.h:30,
  79067. from ././common/inc/nv-linux.h:33:
  79068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  79069. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79070. | ~~~~~~~~~~~~~~^~~~~
  79071. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79072. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  79074. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79075. | ~~~~~~~~~~~~~~^~~~~~~~
  79076. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  79077. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79078. | ^~~~~~~~
  79079. | |
  79080. | long unsigned int
  79081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  79082. 2535 | unsigned int gup_flags, struct page **pages);
  79083. | ~~~~~~~~~~~~~~^~~~~
  79084. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  79085. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79086. | ^~~~~~~~~~~~~~ ~~~~~
  79087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  79088. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79089. | ^~~~~~~~~~~~~~
  79090. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  79091. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  79092. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  79093. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  79094. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  79095. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  79096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79097. 8 | #define NULL ((void *)0)
  79098. | ^~~~~~~~~~~
  79099. | |
  79100. | void *
  79101. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  79102. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79103. | ^~~~
  79104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  79105. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79106. | ~~~~~~~~~~~~~~^~~~~
  79107. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79108. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79109. | ^~
  79110. | |
  79111. | struct mm_struct *
  79112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  79113. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79114. | ~~~~~~~~~~~~~~^~~~~~~~
  79115. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  79116. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79117. | ^~~~~~~~
  79118. | |
  79119. | long unsigned int
  79120. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  79121. 2535 | unsigned int gup_flags, struct page **pages);
  79122. | ~~~~~~~~~~~~~~^~~~~
  79123. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  79124. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79125. | ^~~~~~~~~~~~~~ ~~~~~
  79126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  79127. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79128. | ^~~~~~~~~~~~~~
  79129. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  79130. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  79131. 237 | return (unsigned long)(vmf->virtual_address);
  79132. | ^~~~~~~~~~~~~~~
  79133. | real_address
  79134. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  79135. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79136. 246 | down_read(&mm->mmap_sem);
  79137. | ^~~~~~~~
  79138. | mmap_base
  79139. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  79140. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79141. 255 | up_read(&mm->mmap_sem);
  79142. | ^~~~~~~~
  79143. | mmap_base
  79144. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  79145. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79146. 264 | down_write(&mm->mmap_sem);
  79147. | ^~~~~~~~
  79148. | mmap_base
  79149. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  79150. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79151. 273 | up_write(&mm->mmap_sem);
  79152. | ^~~~~~~~
  79153. | mmap_base
  79154. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  79155. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79156. 282 | return rwsem_is_locked(&mm->mmap_sem);
  79157. | ^~~~~~~~
  79158. | mmap_base
  79159. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  79160. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79161. 291 | return &mm->mmap_sem;
  79162. | ^~~~~~~~
  79163. | mmap_base
  79164. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  79165. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  79166. 300 | vma->vm_flags |= flags;
  79167. | ^~
  79168. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  79169. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  79170. 309 | vma->vm_flags &= ~flags;
  79171. | ^~
  79172. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  79173. from nvidia-uvm/uvm_gpu.h:37,
  79174. from nvidia-uvm/uvm_global.h:32,
  79175. from nvidia-uvm/uvm_va_space.h:28:
  79176. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  79177. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  79178. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  79179. | ^~~~~~~~~~~~~~~~~~~~
  79180. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_gpu.o] Error 1
  79181. In file included from ././common/inc/conftest.h:28,
  79182. from ././common/inc/nv-time.h:27,
  79183. from nvidia-uvm/uvm_linux.h:37,
  79184. from nvidia-uvm/uvm_extern_decl.h:27,
  79185. from nvidia-uvm/uvm_global.h:28,
  79186. from nvidia-uvm/uvm_push_test.c:26:
  79187. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  79188. 74 | #error dma_buf_export() conftest failed!
  79189. | ^~~~~
  79190. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  79191. 87 | #error wait_on_bit_lock() conftest failed!
  79192. | ^~~~~
  79193. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  79194. 90 | #error radix_tree_replace_slot() conftest failed!
  79195. | ^~~~~
  79196. CC [M] nvidia-uvm/uvm_channel_test.o
  79197. cc1: some warnings being treated as errors
  79198. In file included from ././common/inc/conftest.h:28,
  79199. from ././common/inc/nv-time.h:27,
  79200. from nvidia-uvm/uvm_linux.h:37,
  79201. from nvidia-uvm/uvm_extern_decl.h:27,
  79202. from nvidia-uvm/uvm_global.h:28,
  79203. from nvidia-uvm/uvm_channel_test.c:24:
  79204. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  79205. 74 | #error dma_buf_export() conftest failed!
  79206. | ^~~~~
  79207. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  79208. 87 | #error wait_on_bit_lock() conftest failed!
  79209. | ^~~~~
  79210. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  79211. 90 | #error radix_tree_replace_slot() conftest failed!
  79212. | ^~~~~
  79213. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_prefetch.o] Error 1
  79214. CC [M] nvidia-uvm/uvm_ce_test.o
  79215. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  79216. 40 | struct timespec64 {
  79217. | ^~~~~~~~~~
  79218. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  79219. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  79220. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  79221. from ././common/inc/nv-time.h:29:
  79222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  79223. 13 | struct timespec64 {
  79224. | ^~~~~~~~~~
  79225. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79226. 77 | static inline struct timespec64 timespec64_add
  79227. | ^~~~~~~~~~~~~~
  79228. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79229. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  79230. | ^~~~~~~~~~~~~~
  79231. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79232. 95 | static inline struct timespec64 timespec64_sub
  79233. | ^~~~~~~~~~~~~~
  79234. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79235. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  79236. | ^~~~~~~~~~~~~~
  79237. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  79238. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  79239. | ^~~~~~~~~~~~~~~~
  79240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  79241. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  79242. | ^~~~~~~~~~~~~~~~
  79243. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  79244. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79245. 122 | ktime_get_raw_ts64(&ts);
  79246. | ^~~
  79247. | |
  79248. | struct timespec64 *
  79249. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  79250. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  79251. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  79252. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  79253. from ././common/inc/nv-time.h:30:
  79254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79255. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79256. | ~~~~~~~~~~~~~~~~~~~^~
  79257. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  79258. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79259. 185 | ktime_get_raw_ts64(&tm_aux);
  79260. | ^~~~~~~
  79261. | |
  79262. | struct timespec64 *
  79263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79264. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79265. | ~~~~~~~~~~~~~~~~~~~^~
  79266. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79267. 221 | ktime_get_raw_ts64(&tm_aux);
  79268. | ^~~~~~~
  79269. | |
  79270. | struct timespec64 *
  79271. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79272. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79273. | ~~~~~~~~~~~~~~~~~~~^~
  79274. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  79275. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  79276. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  79277. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  79278. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  79279. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  79280. | ^
  79281. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  79282. 573 | NV_MEMDBG_ADD(ptr, size);
  79283. | ^
  79284. ././common/inc/nv-linux.h: In function 'nv_vmap':
  79285. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  79286. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  79287. | ^
  79288. In file included from ././common/inc/conftest.h:28,
  79289. from ././common/inc/nv-time.h:27,
  79290. from nvidia-uvm/uvm_linux.h:37,
  79291. from nvidia-uvm/uvm_lock.h:28,
  79292. from nvidia-uvm/uvm_gpu_semaphore.h:28,
  79293. from nvidia-uvm/uvm_channel.h:29,
  79294. from nvidia-uvm/uvm_ce_test.c:24:
  79295. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  79296. 74 | #error dma_buf_export() conftest failed!
  79297. | ^~~~~
  79298. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  79299. 87 | #error wait_on_bit_lock() conftest failed!
  79300. | ^~~~~
  79301. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  79302. 90 | #error radix_tree_replace_slot() conftest failed!
  79303. | ^~~~~
  79304. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  79305. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  79306. 736 | return phys_to_dma(dev, pa);
  79307. | ^~~~~~~~~~~
  79308. | nv_phys_to_dma
  79309. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  79310. 40 | struct timespec64 {
  79311. | ^~~~~~~~~~
  79312. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  79313. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  79314. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  79315. from ././common/inc/nv-time.h:29:
  79316. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  79317. 13 | struct timespec64 {
  79318. | ^~~~~~~~~~
  79319. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79320. 77 | static inline struct timespec64 timespec64_add
  79321. | ^~~~~~~~~~~~~~
  79322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79323. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  79324. | ^~~~~~~~~~~~~~
  79325. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79326. 95 | static inline struct timespec64 timespec64_sub
  79327. | ^~~~~~~~~~~~~~
  79328. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79329. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  79330. | ^~~~~~~~~~~~~~
  79331. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  79332. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  79333. | ^~~~~~~~~~~~~~~~
  79334. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  79335. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  79336. | ^~~~~~~~~~~~~~~~
  79337. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  79338. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79339. 122 | ktime_get_raw_ts64(&ts);
  79340. | ^~~
  79341. | |
  79342. | struct timespec64 *
  79343. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  79344. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  79345. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  79346. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  79347. from ././common/inc/nv-time.h:30:
  79348. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79349. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79350. | ~~~~~~~~~~~~~~~~~~~^~
  79351. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  79352. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79353. 185 | ktime_get_raw_ts64(&tm_aux);
  79354. | ^~~~~~~
  79355. | |
  79356. | struct timespec64 *
  79357. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79358. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79359. | ~~~~~~~~~~~~~~~~~~~^~
  79360. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79361. 221 | ktime_get_raw_ts64(&tm_aux);
  79362. | ^~~~~~~
  79363. | |
  79364. | struct timespec64 *
  79365. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79366. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79367. | ~~~~~~~~~~~~~~~~~~~^~
  79368. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  79369. 40 | struct timespec64 {
  79370. | ^~~~~~~~~~
  79371. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  79372. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  79373. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  79374. from ././common/inc/nv-time.h:29:
  79375. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  79376. 13 | struct timespec64 {
  79377. | ^~~~~~~~~~
  79378. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79379. 77 | static inline struct timespec64 timespec64_add
  79380. | ^~~~~~~~~~~~~~
  79381. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79382. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  79383. | ^~~~~~~~~~~~~~
  79384. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79385. 95 | static inline struct timespec64 timespec64_sub
  79386. | ^~~~~~~~~~~~~~
  79387. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79388. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  79389. | ^~~~~~~~~~~~~~
  79390. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  79391. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  79392. | ^~~~~~~~~~~~~~~~
  79393. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  79394. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  79395. | ^~~~~~~~~~~~~~~~
  79396. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  79397. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79398. 122 | ktime_get_raw_ts64(&ts);
  79399. | ^~~
  79400. | |
  79401. | struct timespec64 *
  79402. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  79403. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  79404. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  79405. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  79406. from ././common/inc/nv-time.h:30:
  79407. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79408. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79409. | ~~~~~~~~~~~~~~~~~~~^~
  79410. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  79411. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79412. 185 | ktime_get_raw_ts64(&tm_aux);
  79413. | ^~~~~~~
  79414. | |
  79415. | struct timespec64 *
  79416. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79417. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79418. | ~~~~~~~~~~~~~~~~~~~^~
  79419. In file included from ././common/inc/nv-procfs.h:26,
  79420. from nvidia-uvm/uvm_procfs.h:30,
  79421. from nvidia-uvm/uvm_perf_thrashing.c:34:
  79422. nvidia-uvm/uvm_perf_thrashing.c: In function 'cpu_thrashing_stats_init':
  79423. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  79424. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  79425. | ^~~~
  79426. | |
  79427. | const nv_proc_ops_t * {aka const struct file_operations *}
  79428. nvidia-uvm/uvm_perf_thrashing.c:450:45: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  79429. 450 | g_cpu_thrashing_stats.procfs_file = NV_CREATE_PROC_FILE(THRASHING_STATS_FILE_NAME,
  79430. | ^~~~~~~~~~~~~~~~~~~
  79431. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  79432. from ././common/inc/nv-linux.h:220:
  79433. /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 *'}
  79434. 111 | const struct proc_ops *,
  79435. | ^~~~~~~~~~~~~~~~~~~~~~~
  79436. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79437. 221 | ktime_get_raw_ts64(&tm_aux);
  79438. | ^~~~~~~
  79439. | |
  79440. | struct timespec64 *
  79441. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79442. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79443. | ~~~~~~~~~~~~~~~~~~~^~
  79444. nvidia-uvm/uvm_perf_thrashing.c: In function 'gpu_thrashing_stats_create':
  79445. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  79446. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  79447. | ^~~~
  79448. | |
  79449. | const nv_proc_ops_t * {aka const struct file_operations *}
  79450. nvidia-uvm/uvm_perf_thrashing.c:505:34: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  79451. 505 | gpu_thrashing->procfs_file = NV_CREATE_PROC_FILE(THRASHING_STATS_FILE_NAME,
  79452. | ^~~~~~~~~~~~~~~~~~~
  79453. /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 *'}
  79454. 111 | const struct proc_ops *,
  79455. | ^~~~~~~~~~~~~~~~~~~~~~~
  79456. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  79457. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  79458. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  79459. | ^~~~~~~~~~~~~
  79460. | d_is_dir
  79461. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  79462. 40 | struct timespec64 {
  79463. | ^~~~~~~~~~
  79464. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  79465. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  79466. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  79467. from ././common/inc/nv-time.h:29:
  79468. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  79469. 13 | struct timespec64 {
  79470. | ^~~~~~~~~~
  79471. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79472. 77 | static inline struct timespec64 timespec64_add
  79473. | ^~~~~~~~~~~~~~
  79474. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79475. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  79476. | ^~~~~~~~~~~~~~
  79477. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79478. 95 | static inline struct timespec64 timespec64_sub
  79479. | ^~~~~~~~~~~~~~
  79480. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79481. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  79482. | ^~~~~~~~~~~~~~
  79483. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  79484. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  79485. | ^~~~~~~~~~~~~~~~
  79486. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  79487. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  79488. | ^~~~~~~~~~~~~~~~
  79489. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  79490. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79491. 122 | ktime_get_raw_ts64(&ts);
  79492. | ^~~
  79493. | |
  79494. | struct timespec64 *
  79495. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  79496. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  79497. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  79498. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  79499. from ././common/inc/nv-time.h:30:
  79500. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79501. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79502. | ~~~~~~~~~~~~~~~~~~~^~
  79503. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  79504. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79505. 185 | ktime_get_raw_ts64(&tm_aux);
  79506. | ^~~~~~~
  79507. | |
  79508. | struct timespec64 *
  79509. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79510. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79511. | ~~~~~~~~~~~~~~~~~~~^~
  79512. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79513. 221 | ktime_get_raw_ts64(&tm_aux);
  79514. | ^~~~~~~
  79515. | |
  79516. | struct timespec64 *
  79517. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79518. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79519. | ~~~~~~~~~~~~~~~~~~~^~
  79520. cc1: some warnings being treated as errors
  79521. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  79522. 40 | struct timespec64 {
  79523. | ^~~~~~~~~~
  79524. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  79525. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  79526. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  79527. from ././common/inc/nv-time.h:29:
  79528. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  79529. 13 | struct timespec64 {
  79530. | ^~~~~~~~~~
  79531. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79532. 77 | static inline struct timespec64 timespec64_add
  79533. | ^~~~~~~~~~~~~~
  79534. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79535. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  79536. | ^~~~~~~~~~~~~~
  79537. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79538. 95 | static inline struct timespec64 timespec64_sub
  79539. | ^~~~~~~~~~~~~~
  79540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79541. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  79542. | ^~~~~~~~~~~~~~
  79543. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  79544. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  79545. | ^~~~~~~~~~~~~~~~
  79546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  79547. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  79548. | ^~~~~~~~~~~~~~~~
  79549. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  79550. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79551. 122 | ktime_get_raw_ts64(&ts);
  79552. | ^~~
  79553. | |
  79554. | struct timespec64 *
  79555. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  79556. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  79557. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  79558. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  79559. from ././common/inc/nv-time.h:30:
  79560. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79561. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79562. | ~~~~~~~~~~~~~~~~~~~^~
  79563. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  79564. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79565. 185 | ktime_get_raw_ts64(&tm_aux);
  79566. | ^~~~~~~
  79567. | |
  79568. | struct timespec64 *
  79569. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79570. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79571. | ~~~~~~~~~~~~~~~~~~~^~
  79572. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79573. 221 | ktime_get_raw_ts64(&tm_aux);
  79574. | ^~~~~~~
  79575. | |
  79576. | struct timespec64 *
  79577. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79578. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79579. | ~~~~~~~~~~~~~~~~~~~^~
  79580. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats.o] Error 1
  79581. CC [M] nvidia-uvm/uvm_host_test.o
  79582. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  79583. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79584. 287 | ktime_get_raw_ts64(&tm);
  79585. | ^~~
  79586. | |
  79587. | struct timespec64 *
  79588. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79589. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79590. | ~~~~~~~~~~~~~~~~~~~^~
  79591. nvidia-uvm/uvm_linux.h: At top level:
  79592. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  79593. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  79594. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  79595. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  79596. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  79597. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  79598. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  79599. 449 | #error "Unknown number of arguments"
  79600. | ^~~~~
  79601. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  79602. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  79603. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  79604. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  79605. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  79606. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  79607. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  79608. 485 | #error "Unknown number of arguments"
  79609. | ^~~~~
  79610. In file included from ././common/inc/nv-linux.h:34,
  79611. from nvidia-uvm/uvm_linux.h:40:
  79612. ././common/inc/nv-mm.h: At top level:
  79613. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  79614. 29 | typedef int vm_fault_t;
  79615. | ^~~~~~~~~~
  79616. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  79617. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  79618. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  79619. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  79620. from ././common/inc/nv-lock.h:35,
  79621. from ././common/inc/nv-linux.h:32:
  79622. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  79623. 1311 | typedef __bitwise unsigned int vm_fault_t;
  79624. | ^~~~~~~~~~
  79625. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  79626. from ././common/inc/nv-time.h:28:
  79627. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  79628. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79629. 52 | #define current get_current()
  79630. | ^~~~~~~~~~~~~
  79631. | |
  79632. | struct task_struct *
  79633. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  79634. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79635. | ^~~~~~~
  79636. In file included from ././common/inc/nv-pgprot.h:30,
  79637. from ././common/inc/nv-linux.h:33:
  79638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  79639. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79640. | ~~~~~~~~~~~~~~^~~~~
  79641. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79642. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79643. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  79644. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79645. | ~~~~~~~~~~~~~~^~~~~~~~
  79646. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  79647. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79648. | ^~~~~~~~
  79649. | |
  79650. | long unsigned int
  79651. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  79652. 2535 | unsigned int gup_flags, struct page **pages);
  79653. | ~~~~~~~~~~~~~~^~~~~
  79654. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  79655. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79656. | ^~~~~~~~~~~~~~ ~~~~~
  79657. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  79658. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79659. | ^~~~~~~~~~~~~~
  79660. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  79661. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  79662. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  79663. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  79664. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  79665. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  79666. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79667. 8 | #define NULL ((void *)0)
  79668. | ^~~~~~~~~~~
  79669. | |
  79670. | void *
  79671. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  79672. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79673. | ^~~~
  79674. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  79675. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79676. | ~~~~~~~~~~~~~~^~~~~
  79677. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79678. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79679. | ^~
  79680. | |
  79681. | struct mm_struct *
  79682. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  79683. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79684. | ~~~~~~~~~~~~~~^~~~~~~~
  79685. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  79686. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79687. | ^~~~~~~~
  79688. | |
  79689. | long unsigned int
  79690. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  79691. 2535 | unsigned int gup_flags, struct page **pages);
  79692. | ~~~~~~~~~~~~~~^~~~~
  79693. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  79694. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79695. | ^~~~~~~~~~~~~~ ~~~~~
  79696. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  79697. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79698. | ^~~~~~~~~~~~~~
  79699. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  79700. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  79701. 237 | return (unsigned long)(vmf->virtual_address);
  79702. | ^~~~~~~~~~~~~~~
  79703. | real_address
  79704. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  79705. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79706. 246 | down_read(&mm->mmap_sem);
  79707. | ^~~~~~~~
  79708. | mmap_base
  79709. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  79710. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79711. 255 | up_read(&mm->mmap_sem);
  79712. | ^~~~~~~~
  79713. | mmap_base
  79714. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  79715. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79716. 264 | down_write(&mm->mmap_sem);
  79717. | ^~~~~~~~
  79718. | mmap_base
  79719. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  79720. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79721. 273 | up_write(&mm->mmap_sem);
  79722. | ^~~~~~~~
  79723. | mmap_base
  79724. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  79725. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79726. 282 | return rwsem_is_locked(&mm->mmap_sem);
  79727. | ^~~~~~~~
  79728. | mmap_base
  79729. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  79730. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79731. 291 | return &mm->mmap_sem;
  79732. | ^~~~~~~~
  79733. | mmap_base
  79734. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  79735. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  79736. 300 | vma->vm_flags |= flags;
  79737. | ^~
  79738. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  79739. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  79740. 309 | vma->vm_flags &= ~flags;
  79741. | ^~
  79742. In file included from ././common/inc/conftest.h:28,
  79743. from ././common/inc/nv-time.h:27,
  79744. from nvidia-uvm/uvm_linux.h:37,
  79745. from nvidia-uvm/uvm_extern_decl.h:27,
  79746. from nvidia-uvm/uvm_global.h:28,
  79747. from nvidia-uvm/uvm_host_test.c:24:
  79748. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  79749. 74 | #error dma_buf_export() conftest failed!
  79750. | ^~~~~
  79751. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  79752. 87 | #error wait_on_bit_lock() conftest failed!
  79753. | ^~~~~
  79754. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  79755. 90 | #error radix_tree_replace_slot() conftest failed!
  79756. | ^~~~~
  79757. In file included from ././common/inc/nv-linux.h:34,
  79758. from nvidia-uvm/uvm_linux.h:40:
  79759. ././common/inc/nv-mm.h: At top level:
  79760. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  79761. 29 | typedef int vm_fault_t;
  79762. | ^~~~~~~~~~
  79763. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  79764. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  79765. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  79766. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  79767. from ././common/inc/nv-lock.h:35,
  79768. from ././common/inc/nv-linux.h:32:
  79769. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  79770. 1311 | typedef __bitwise unsigned int vm_fault_t;
  79771. | ^~~~~~~~~~
  79772. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  79773. from ././common/inc/nv-time.h:28:
  79774. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  79775. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79776. 52 | #define current get_current()
  79777. | ^~~~~~~~~~~~~
  79778. | |
  79779. | struct task_struct *
  79780. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  79781. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79782. | ^~~~~~~
  79783. In file included from ././common/inc/nv-pgprot.h:30,
  79784. from ././common/inc/nv-linux.h:33:
  79785. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  79786. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79787. | ~~~~~~~~~~~~~~^~~~~
  79788. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79789. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79790. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  79791. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79792. | ~~~~~~~~~~~~~~^~~~~~~~
  79793. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  79794. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79795. | ^~~~~~~~
  79796. | |
  79797. | long unsigned int
  79798. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  79799. 2535 | unsigned int gup_flags, struct page **pages);
  79800. | ~~~~~~~~~~~~~~^~~~~
  79801. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  79802. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  79803. | ^~~~~~~~~~~~~~ ~~~~~
  79804. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  79805. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79806. | ^~~~~~~~~~~~~~
  79807. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  79808. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  79809. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  79810. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  79811. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  79812. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  79813. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79814. 8 | #define NULL ((void *)0)
  79815. | ^~~~~~~~~~~
  79816. | |
  79817. | void *
  79818. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  79819. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79820. | ^~~~
  79821. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  79822. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79823. | ~~~~~~~~~~~~~~^~~~~
  79824. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  79825. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79826. | ^~
  79827. | |
  79828. | struct mm_struct *
  79829. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  79830. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79831. | ~~~~~~~~~~~~~~^~~~~~~~
  79832. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  79833. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79834. | ^~~~~~~~
  79835. | |
  79836. | long unsigned int
  79837. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  79838. 2535 | unsigned int gup_flags, struct page **pages);
  79839. | ~~~~~~~~~~~~~~^~~~~
  79840. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  79841. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  79842. | ^~~~~~~~~~~~~~ ~~~~~
  79843. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  79844. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  79845. | ^~~~~~~~~~~~~~
  79846. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  79847. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  79848. 237 | return (unsigned long)(vmf->virtual_address);
  79849. | ^~~~~~~~~~~~~~~
  79850. | real_address
  79851. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  79852. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79853. 246 | down_read(&mm->mmap_sem);
  79854. | ^~~~~~~~
  79855. | mmap_base
  79856. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  79857. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79858. 255 | up_read(&mm->mmap_sem);
  79859. | ^~~~~~~~
  79860. | mmap_base
  79861. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  79862. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79863. 264 | down_write(&mm->mmap_sem);
  79864. | ^~~~~~~~
  79865. | mmap_base
  79866. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  79867. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79868. 273 | up_write(&mm->mmap_sem);
  79869. | ^~~~~~~~
  79870. | mmap_base
  79871. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  79872. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79873. 282 | return rwsem_is_locked(&mm->mmap_sem);
  79874. | ^~~~~~~~
  79875. | mmap_base
  79876. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  79877. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  79878. 291 | return &mm->mmap_sem;
  79879. | ^~~~~~~~
  79880. | mmap_base
  79881. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  79882. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  79883. 300 | vma->vm_flags |= flags;
  79884. | ^~
  79885. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  79886. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  79887. 309 | vma->vm_flags &= ~flags;
  79888. | ^~
  79889. cc1: some warnings being treated as errors
  79890. In file included from nvidia-uvm/uvm_api.h:31:
  79891. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  79892. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  79893. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  79894. | ^~~~~~~~~~~~~~~~~~~~
  79895. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_thrashing.o] Error 1
  79896. CC [M] nvidia-uvm/uvm_lock_test.o
  79897. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  79898. 40 | struct timespec64 {
  79899. | ^~~~~~~~~~
  79900. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  79901. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  79902. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  79903. from ././common/inc/nv-time.h:29:
  79904. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  79905. 13 | struct timespec64 {
  79906. | ^~~~~~~~~~
  79907. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79908. 77 | static inline struct timespec64 timespec64_add
  79909. | ^~~~~~~~~~~~~~
  79910. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79911. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  79912. | ^~~~~~~~~~~~~~
  79913. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  79914. 40 | struct timespec64 {
  79915. | ^~~~~~~~~~
  79916. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  79917. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  79918. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  79919. from ././common/inc/nv-time.h:29:
  79920. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  79921. 13 | struct timespec64 {
  79922. | ^~~~~~~~~~
  79923. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79924. 95 | static inline struct timespec64 timespec64_sub
  79925. | ^~~~~~~~~~~~~~
  79926. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79927. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  79928. | ^~~~~~~~~~~~~~
  79929. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79930. 77 | static inline struct timespec64 timespec64_add
  79931. | ^~~~~~~~~~~~~~
  79932. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79933. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  79934. | ^~~~~~~~~~~~~~
  79935. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  79936. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  79937. | ^~~~~~~~~~~~~~~~
  79938. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  79939. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  79940. | ^~~~~~~~~~~~~~~~
  79941. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  79942. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  79943. 95 | static inline struct timespec64 timespec64_sub
  79944. | ^~~~~~~~~~~~~~
  79945. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  79946. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  79947. | ^~~~~~~~~~~~~~
  79948. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79949. 122 | ktime_get_raw_ts64(&ts);
  79950. | ^~~
  79951. | |
  79952. | struct timespec64 *
  79953. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  79954. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  79955. | ^~~~~~~~~~~~~~~~
  79956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  79957. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  79958. | ^~~~~~~~~~~~~~~~
  79959. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  79960. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  79961. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  79962. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  79963. from ././common/inc/nv-time.h:30:
  79964. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79965. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79966. | ~~~~~~~~~~~~~~~~~~~^~
  79967. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  79968. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79969. 122 | ktime_get_raw_ts64(&ts);
  79970. | ^~~
  79971. | |
  79972. | struct timespec64 *
  79973. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  79974. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  79975. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  79976. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  79977. from ././common/inc/nv-time.h:30:
  79978. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79979. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79980. | ~~~~~~~~~~~~~~~~~~~^~
  79981. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  79982. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79983. 185 | ktime_get_raw_ts64(&tm_aux);
  79984. | ^~~~~~~
  79985. | |
  79986. | struct timespec64 *
  79987. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79988. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79989. | ~~~~~~~~~~~~~~~~~~~^~
  79990. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  79991. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  79992. 185 | ktime_get_raw_ts64(&tm_aux);
  79993. | ^~~~~~~
  79994. | |
  79995. | struct timespec64 *
  79996. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  79997. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  79998. | ~~~~~~~~~~~~~~~~~~~^~
  79999. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80000. 221 | ktime_get_raw_ts64(&tm_aux);
  80001. | ^~~~~~~
  80002. | |
  80003. | struct timespec64 *
  80004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80005. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80006. | ~~~~~~~~~~~~~~~~~~~^~
  80007. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80008. 221 | ktime_get_raw_ts64(&tm_aux);
  80009. | ^~~~~~~
  80010. | |
  80011. | struct timespec64 *
  80012. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80013. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80014. | ~~~~~~~~~~~~~~~~~~~^~
  80015. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  80016. 40 | struct timespec64 {
  80017. | ^~~~~~~~~~
  80018. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  80019. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  80020. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  80021. from ././common/inc/nv-time.h:29:
  80022. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  80023. 13 | struct timespec64 {
  80024. | ^~~~~~~~~~
  80025. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  80026. 77 | static inline struct timespec64 timespec64_add
  80027. | ^~~~~~~~~~~~~~
  80028. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  80029. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  80030. | ^~~~~~~~~~~~~~
  80031. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  80032. 95 | static inline struct timespec64 timespec64_sub
  80033. | ^~~~~~~~~~~~~~
  80034. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  80035. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  80036. | ^~~~~~~~~~~~~~
  80037. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  80038. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  80039. | ^~~~~~~~~~~~~~~~
  80040. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  80041. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  80042. | ^~~~~~~~~~~~~~~~
  80043. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  80044. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80045. 122 | ktime_get_raw_ts64(&ts);
  80046. | ^~~
  80047. | |
  80048. | struct timespec64 *
  80049. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  80050. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  80051. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  80052. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  80053. from ././common/inc/nv-time.h:30:
  80054. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80055. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80056. | ~~~~~~~~~~~~~~~~~~~^~
  80057. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  80058. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80059. 185 | ktime_get_raw_ts64(&tm_aux);
  80060. | ^~~~~~~
  80061. | |
  80062. | struct timespec64 *
  80063. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80064. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80065. | ~~~~~~~~~~~~~~~~~~~^~
  80066. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80067. 221 | ktime_get_raw_ts64(&tm_aux);
  80068. | ^~~~~~~
  80069. | |
  80070. | struct timespec64 *
  80071. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80072. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80073. | ~~~~~~~~~~~~~~~~~~~^~
  80074. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  80075. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  80076. 502 | NV_MEMDBG_ADD(ptr, size);
  80077. | ^
  80078. In file included from ././common/inc/conftest.h:28,
  80079. from ././common/inc/nv-time.h:27,
  80080. from nvidia-uvm/uvm_linux.h:37,
  80081. from nvidia-uvm/uvm_test.h:27,
  80082. from nvidia-uvm/uvm_lock_test.c:24:
  80083. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  80084. 74 | #error dma_buf_export() conftest failed!
  80085. | ^~~~~
  80086. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  80087. 87 | #error wait_on_bit_lock() conftest failed!
  80088. | ^~~~~
  80089. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  80090. 90 | #error radix_tree_replace_slot() conftest failed!
  80091. | ^~~~~
  80092. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  80093. 40 | struct timespec64 {
  80094. | ^~~~~~~~~~
  80095. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  80096. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  80097. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  80098. from ././common/inc/nv-time.h:29:
  80099. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  80100. 13 | struct timespec64 {
  80101. | ^~~~~~~~~~
  80102. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  80103. 77 | static inline struct timespec64 timespec64_add
  80104. | ^~~~~~~~~~~~~~
  80105. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  80106. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  80107. | ^~~~~~~~~~~~~~
  80108. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  80109. 95 | static inline struct timespec64 timespec64_sub
  80110. | ^~~~~~~~~~~~~~
  80111. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  80112. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  80113. | ^~~~~~~~~~~~~~
  80114. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  80115. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  80116. | ^~~~~~~~~~~~~~~~
  80117. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  80118. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  80119. | ^~~~~~~~~~~~~~~~
  80120. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  80121. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80122. 122 | ktime_get_raw_ts64(&ts);
  80123. | ^~~
  80124. | |
  80125. | struct timespec64 *
  80126. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  80127. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  80128. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  80129. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  80130. from ././common/inc/nv-time.h:30:
  80131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80132. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80133. | ~~~~~~~~~~~~~~~~~~~^~
  80134. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  80135. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80136. 185 | ktime_get_raw_ts64(&tm_aux);
  80137. | ^~~~~~~
  80138. | |
  80139. | struct timespec64 *
  80140. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80141. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80142. | ~~~~~~~~~~~~~~~~~~~^~
  80143. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80144. 221 | ktime_get_raw_ts64(&tm_aux);
  80145. | ^~~~~~~
  80146. | |
  80147. | struct timespec64 *
  80148. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80149. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80150. | ~~~~~~~~~~~~~~~~~~~^~
  80151. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  80152. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  80153. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  80154. | ^~~~~~~~~~~~~~~~~~~~~~~
  80155. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  80156. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  80157. 520 | NV_MEMDBG_ADD(ptr, size);
  80158. | ^
  80159. cc1: some warnings being treated as errors
  80160. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_ibm.o] Error 1
  80161. CC [M] nvidia-uvm/uvm_perf_utils_test.o
  80162. In file included from ././common/inc/conftest.h:28,
  80163. from ././common/inc/nv-time.h:27,
  80164. from nvidia-uvm/uvm_linux.h:37,
  80165. from nvidia-uvm/uvm_common.h:43,
  80166. from nvidia-uvm/uvm_perf_utils.h:27,
  80167. from nvidia-uvm/uvm_perf_utils_test.c:24:
  80168. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  80169. 74 | #error dma_buf_export() conftest failed!
  80170. | ^~~~~
  80171. In file included from ././common/inc/nv-linux.h:34,
  80172. from nvidia-uvm/uvm_linux.h:40:
  80173. ././common/inc/nv-mm.h: At top level:
  80174. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  80175. 29 | typedef int vm_fault_t;
  80176. | ^~~~~~~~~~
  80177. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  80178. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  80179. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  80180. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  80181. from ././common/inc/nv-lock.h:35,
  80182. from ././common/inc/nv-linux.h:32:
  80183. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  80184. 1311 | typedef __bitwise unsigned int vm_fault_t;
  80185. | ^~~~~~~~~~
  80186. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  80187. from ././common/inc/nv-time.h:28:
  80188. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  80189. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80190. 52 | #define current get_current()
  80191. | ^~~~~~~~~~~~~
  80192. | |
  80193. | struct task_struct *
  80194. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  80195. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80196. | ^~~~~~~
  80197. In file included from ././common/inc/nv-pgprot.h:30,
  80198. from ././common/inc/nv-linux.h:33:
  80199. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  80200. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80201. | ~~~~~~~~~~~~~~^~~~~
  80202. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80203. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80204. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80205. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80206. | ~~~~~~~~~~~~~~^~~~~~~~
  80207. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80208. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80209. | ^~~~~~~~
  80210. | |
  80211. | long unsigned int
  80212. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80213. 2535 | unsigned int gup_flags, struct page **pages);
  80214. | ~~~~~~~~~~~~~~^~~~~
  80215. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80216. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80217. | ^~~~~~~~~~~~~~ ~~~~~
  80218. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  80219. 87 | #error wait_on_bit_lock() conftest failed!
  80220. | ^~~~~
  80221. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  80222. 90 | #error radix_tree_replace_slot() conftest failed!
  80223. | ^~~~~
  80224. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80225. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80226. | ^~~~~~~~~~~~~~
  80227. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  80228. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  80229. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  80230. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  80231. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  80232. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  80233. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80234. 8 | #define NULL ((void *)0)
  80235. | ^~~~~~~~~~~
  80236. | |
  80237. | void *
  80238. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  80239. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80240. | ^~~~
  80241. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  80242. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80243. | ~~~~~~~~~~~~~~^~~~~
  80244. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80245. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80246. | ^~
  80247. | |
  80248. | struct mm_struct *
  80249. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80250. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80251. | ~~~~~~~~~~~~~~^~~~~~~~
  80252. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80253. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80254. | ^~~~~~~~
  80255. | |
  80256. | long unsigned int
  80257. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80258. 2535 | unsigned int gup_flags, struct page **pages);
  80259. | ~~~~~~~~~~~~~~^~~~~
  80260. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80261. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80262. | ^~~~~~~~~~~~~~ ~~~~~
  80263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80264. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80265. | ^~~~~~~~~~~~~~
  80266. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  80267. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  80268. 237 | return (unsigned long)(vmf->virtual_address);
  80269. | ^~~~~~~~~~~~~~~
  80270. | real_address
  80271. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  80272. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80273. 246 | down_read(&mm->mmap_sem);
  80274. | ^~~~~~~~
  80275. | mmap_base
  80276. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  80277. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80278. 255 | up_read(&mm->mmap_sem);
  80279. | ^~~~~~~~
  80280. | mmap_base
  80281. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  80282. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80283. 264 | down_write(&mm->mmap_sem);
  80284. | ^~~~~~~~
  80285. | mmap_base
  80286. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  80287. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80288. 273 | up_write(&mm->mmap_sem);
  80289. | ^~~~~~~~
  80290. | mmap_base
  80291. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  80292. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80293. 282 | return rwsem_is_locked(&mm->mmap_sem);
  80294. | ^~~~~~~~
  80295. | mmap_base
  80296. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  80297. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80298. 291 | return &mm->mmap_sem;
  80299. | ^~~~~~~~
  80300. | mmap_base
  80301. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  80302. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  80303. 300 | vma->vm_flags |= flags;
  80304. | ^~
  80305. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  80306. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  80307. 309 | vma->vm_flags &= ~flags;
  80308. | ^~
  80309. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  80310. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  80311. 502 | NV_MEMDBG_ADD(ptr, size);
  80312. | ^
  80313. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  80314. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  80315. 533 | ptr = ioremap_cache_shared(phys, size);
  80316. | ^~~~~~~~~~~~~~~~~~~~
  80317. | ioremap_cache
  80318. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  80319. 533 | ptr = ioremap_cache_shared(phys, size);
  80320. | ^
  80321. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  80322. 556 | NV_MEMDBG_ADD(ptr, size);
  80323. | ^
  80324. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  80325. 40 | struct timespec64 {
  80326. | ^~~~~~~~~~
  80327. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  80328. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  80329. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  80330. from ././common/inc/nv-time.h:29:
  80331. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  80332. 13 | struct timespec64 {
  80333. | ^~~~~~~~~~
  80334. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  80335. 77 | static inline struct timespec64 timespec64_add
  80336. | ^~~~~~~~~~~~~~
  80337. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  80338. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  80339. | ^~~~~~~~~~~~~~
  80340. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  80341. 95 | static inline struct timespec64 timespec64_sub
  80342. | ^~~~~~~~~~~~~~
  80343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  80344. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  80345. | ^~~~~~~~~~~~~~
  80346. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  80347. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  80348. | ^~~~~~~~~~~~~~~~
  80349. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  80350. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  80351. | ^~~~~~~~~~~~~~~~
  80352. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  80353. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80354. 122 | ktime_get_raw_ts64(&ts);
  80355. | ^~~
  80356. | |
  80357. | struct timespec64 *
  80358. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  80359. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  80360. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  80361. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  80362. from ././common/inc/nv-time.h:30:
  80363. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80364. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80365. | ~~~~~~~~~~~~~~~~~~~^~
  80366. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  80367. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80368. 185 | ktime_get_raw_ts64(&tm_aux);
  80369. | ^~~~~~~
  80370. | |
  80371. | struct timespec64 *
  80372. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80373. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80374. | ~~~~~~~~~~~~~~~~~~~^~
  80375. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80376. 221 | ktime_get_raw_ts64(&tm_aux);
  80377. | ^~~~~~~
  80378. | |
  80379. | struct timespec64 *
  80380. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80381. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80382. | ~~~~~~~~~~~~~~~~~~~^~
  80383. In file included from ././common/inc/nv-linux.h:34,
  80384. from nvidia-uvm/uvm_linux.h:40:
  80385. ././common/inc/nv-mm.h: At top level:
  80386. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  80387. 29 | typedef int vm_fault_t;
  80388. | ^~~~~~~~~~
  80389. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  80390. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  80391. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  80392. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  80393. from ././common/inc/nv-lock.h:35,
  80394. from ././common/inc/nv-linux.h:32:
  80395. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  80396. 1311 | typedef __bitwise unsigned int vm_fault_t;
  80397. | ^~~~~~~~~~
  80398. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  80399. from ././common/inc/nv-time.h:28:
  80400. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  80401. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80402. 52 | #define current get_current()
  80403. | ^~~~~~~~~~~~~
  80404. | |
  80405. | struct task_struct *
  80406. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  80407. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80408. | ^~~~~~~
  80409. In file included from ././common/inc/nv-pgprot.h:30,
  80410. from ././common/inc/nv-linux.h:33:
  80411. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  80412. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80413. | ~~~~~~~~~~~~~~^~~~~
  80414. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80415. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80416. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80417. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80418. | ~~~~~~~~~~~~~~^~~~~~~~
  80419. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80420. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80421. | ^~~~~~~~
  80422. | |
  80423. | long unsigned int
  80424. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80425. 2535 | unsigned int gup_flags, struct page **pages);
  80426. | ~~~~~~~~~~~~~~^~~~~
  80427. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80428. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80429. | ^~~~~~~~~~~~~~ ~~~~~
  80430. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80431. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80432. | ^~~~~~~~~~~~~~
  80433. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  80434. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  80435. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  80436. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  80437. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  80438. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  80439. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80440. 8 | #define NULL ((void *)0)
  80441. | ^~~~~~~~~~~
  80442. | |
  80443. | void *
  80444. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  80445. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80446. | ^~~~
  80447. In file included from ././common/inc/nv-linux.h:34,
  80448. from nvidia-uvm/uvm_linux.h:40:
  80449. ././common/inc/nv-mm.h: At top level:
  80450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  80451. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80452. | ~~~~~~~~~~~~~~^~~~~
  80453. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80454. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80455. | ^~
  80456. | |
  80457. | struct mm_struct *
  80458. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  80459. 29 | typedef int vm_fault_t;
  80460. | ^~~~~~~~~~
  80461. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80462. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80463. | ~~~~~~~~~~~~~~^~~~~~~~
  80464. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80465. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80466. | ^~~~~~~~
  80467. | |
  80468. | long unsigned int
  80469. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80470. 2535 | unsigned int gup_flags, struct page **pages);
  80471. | ~~~~~~~~~~~~~~^~~~~
  80472. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80473. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80474. | ^~~~~~~~~~~~~~ ~~~~~
  80475. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  80476. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  80477. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  80478. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  80479. from ././common/inc/nv-lock.h:35,
  80480. from ././common/inc/nv-linux.h:32:
  80481. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  80482. 1311 | typedef __bitwise unsigned int vm_fault_t;
  80483. | ^~~~~~~~~~
  80484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80485. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80486. | ^~~~~~~~~~~~~~
  80487. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  80488. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  80489. 237 | return (unsigned long)(vmf->virtual_address);
  80490. | ^~~~~~~~~~~~~~~
  80491. | real_address
  80492. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  80493. from ././common/inc/nv-time.h:28:
  80494. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  80495. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  80496. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80497. 246 | down_read(&mm->mmap_sem);
  80498. | ^~~~~~~~
  80499. | mmap_base
  80500. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  80501. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80502. 255 | up_read(&mm->mmap_sem);
  80503. | ^~~~~~~~
  80504. | mmap_base
  80505. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80506. 52 | #define current get_current()
  80507. | ^~~~~~~~~~~~~
  80508. | |
  80509. | struct task_struct *
  80510. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  80511. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80512. | ^~~~~~~
  80513. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  80514. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80515. 264 | down_write(&mm->mmap_sem);
  80516. | ^~~~~~~~
  80517. | mmap_base
  80518. In file included from ././common/inc/nv-pgprot.h:30,
  80519. from ././common/inc/nv-linux.h:33:
  80520. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  80521. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80522. | ~~~~~~~~~~~~~~^~~~~
  80523. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  80524. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80525. 273 | up_write(&mm->mmap_sem);
  80526. | ^~~~~~~~
  80527. | mmap_base
  80528. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80529. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80530. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  80531. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80532. 282 | return rwsem_is_locked(&mm->mmap_sem);
  80533. | ^~~~~~~~
  80534. | mmap_base
  80535. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80536. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80537. | ~~~~~~~~~~~~~~^~~~~~~~
  80538. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  80539. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80540. 291 | return &mm->mmap_sem;
  80541. | ^~~~~~~~
  80542. | mmap_base
  80543. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80544. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80545. | ^~~~~~~~
  80546. | |
  80547. | long unsigned int
  80548. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  80549. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  80550. 300 | vma->vm_flags |= flags;
  80551. | ^~
  80552. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  80553. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  80554. 309 | vma->vm_flags &= ~flags;
  80555. | ^~
  80556. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80557. 2535 | unsigned int gup_flags, struct page **pages);
  80558. | ~~~~~~~~~~~~~~^~~~~
  80559. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80560. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80561. | ^~~~~~~~~~~~~~ ~~~~~
  80562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80563. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80564. | ^~~~~~~~~~~~~~
  80565. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  80566. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  80567. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  80568. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  80569. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  80570. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  80571. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80572. 8 | #define NULL ((void *)0)
  80573. | ^~~~~~~~~~~
  80574. | |
  80575. | void *
  80576. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  80577. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80578. | ^~~~
  80579. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  80580. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80581. | ~~~~~~~~~~~~~~^~~~~
  80582. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80583. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80584. | ^~
  80585. | |
  80586. | struct mm_struct *
  80587. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80588. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80589. | ~~~~~~~~~~~~~~^~~~~~~~
  80590. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80591. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80592. | ^~~~~~~~
  80593. | |
  80594. | long unsigned int
  80595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80596. 2535 | unsigned int gup_flags, struct page **pages);
  80597. | ~~~~~~~~~~~~~~^~~~~
  80598. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80599. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80600. | ^~~~~~~~~~~~~~ ~~~~~
  80601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80602. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80603. | ^~~~~~~~~~~~~~
  80604. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  80605. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  80606. 237 | return (unsigned long)(vmf->virtual_address);
  80607. | ^~~~~~~~~~~~~~~
  80608. | real_address
  80609. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  80610. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80611. 246 | down_read(&mm->mmap_sem);
  80612. | ^~~~~~~~
  80613. | mmap_base
  80614. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  80615. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80616. 255 | up_read(&mm->mmap_sem);
  80617. | ^~~~~~~~
  80618. | mmap_base
  80619. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  80620. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80621. 264 | down_write(&mm->mmap_sem);
  80622. | ^~~~~~~~
  80623. | mmap_base
  80624. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  80625. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80626. 273 | up_write(&mm->mmap_sem);
  80627. | ^~~~~~~~
  80628. | mmap_base
  80629. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  80630. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80631. 282 | return rwsem_is_locked(&mm->mmap_sem);
  80632. | ^~~~~~~~
  80633. | mmap_base
  80634. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  80635. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80636. 291 | return &mm->mmap_sem;
  80637. | ^~~~~~~~
  80638. | mmap_base
  80639. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  80640. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  80641. 300 | vma->vm_flags |= flags;
  80642. | ^~
  80643. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  80644. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  80645. 309 | vma->vm_flags &= ~flags;
  80646. | ^~
  80647. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  80648. 40 | struct timespec64 {
  80649. | ^~~~~~~~~~
  80650. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  80651. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  80652. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  80653. from ././common/inc/nv-time.h:29:
  80654. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  80655. 13 | struct timespec64 {
  80656. | ^~~~~~~~~~
  80657. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  80658. 77 | static inline struct timespec64 timespec64_add
  80659. | ^~~~~~~~~~~~~~
  80660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  80661. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  80662. | ^~~~~~~~~~~~~~
  80663. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  80664. 95 | static inline struct timespec64 timespec64_sub
  80665. | ^~~~~~~~~~~~~~
  80666. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  80667. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  80668. | ^~~~~~~~~~~~~~
  80669. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  80670. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  80671. | ^~~~~~~~~~~~~~~~
  80672. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  80673. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  80674. | ^~~~~~~~~~~~~~~~
  80675. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  80676. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80677. 122 | ktime_get_raw_ts64(&ts);
  80678. | ^~~
  80679. | |
  80680. | struct timespec64 *
  80681. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  80682. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  80683. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  80684. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  80685. from ././common/inc/nv-time.h:30:
  80686. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80687. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80688. | ~~~~~~~~~~~~~~~~~~~^~
  80689. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  80690. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80691. 185 | ktime_get_raw_ts64(&tm_aux);
  80692. | ^~~~~~~
  80693. | |
  80694. | struct timespec64 *
  80695. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80696. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80697. | ~~~~~~~~~~~~~~~~~~~^~
  80698. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  80699. 221 | ktime_get_raw_ts64(&tm_aux);
  80700. | ^~~~~~~
  80701. | |
  80702. | struct timespec64 *
  80703. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  80704. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  80705. | ~~~~~~~~~~~~~~~~~~~^~
  80706. In file included from ././common/inc/nv-linux.h:34,
  80707. from nvidia-uvm/uvm_linux.h:40:
  80708. ././common/inc/nv-mm.h: At top level:
  80709. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  80710. 29 | typedef int vm_fault_t;
  80711. | ^~~~~~~~~~
  80712. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  80713. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  80714. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  80715. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  80716. from ././common/inc/nv-lock.h:35,
  80717. from ././common/inc/nv-linux.h:32:
  80718. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  80719. 1311 | typedef __bitwise unsigned int vm_fault_t;
  80720. | ^~~~~~~~~~
  80721. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  80722. from ././common/inc/nv-time.h:28:
  80723. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  80724. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80725. 52 | #define current get_current()
  80726. | ^~~~~~~~~~~~~
  80727. | |
  80728. | struct task_struct *
  80729. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  80730. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80731. | ^~~~~~~
  80732. In file included from ././common/inc/nv-pgprot.h:30,
  80733. from ././common/inc/nv-linux.h:33:
  80734. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  80735. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80736. | ~~~~~~~~~~~~~~^~~~~
  80737. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80738. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80739. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80740. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80741. | ~~~~~~~~~~~~~~^~~~~~~~
  80742. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80743. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80744. | ^~~~~~~~
  80745. | |
  80746. | long unsigned int
  80747. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80748. 2535 | unsigned int gup_flags, struct page **pages);
  80749. | ~~~~~~~~~~~~~~^~~~~
  80750. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80751. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80752. | ^~~~~~~~~~~~~~ ~~~~~
  80753. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80754. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80755. | ^~~~~~~~~~~~~~
  80756. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  80757. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  80758. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  80759. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  80760. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  80761. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  80762. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80763. 8 | #define NULL ((void *)0)
  80764. | ^~~~~~~~~~~
  80765. | |
  80766. | void *
  80767. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  80768. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80769. | ^~~~
  80770. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  80771. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  80772. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80773. | ~~~~~~~~~~~~~~^~~~~
  80774. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  80775. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  80776. | ^~~~~~~~~~~~~~~~~~~~~~~
  80777. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80778. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80779. | ^~
  80780. | |
  80781. | struct mm_struct *
  80782. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80783. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80784. | ~~~~~~~~~~~~~~^~~~~~~~
  80785. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80786. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80787. | ^~~~~~~~
  80788. | |
  80789. | long unsigned int
  80790. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  80791. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80792. 2535 | unsigned int gup_flags, struct page **pages);
  80793. | ~~~~~~~~~~~~~~^~~~~
  80794. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80795. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80796. | ^~~~~~~~~~~~~~ ~~~~~
  80797. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  80798. 520 | NV_MEMDBG_ADD(ptr, size);
  80799. | ^
  80800. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80801. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80802. | ^~~~~~~~~~~~~~
  80803. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  80804. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  80805. 237 | return (unsigned long)(vmf->virtual_address);
  80806. | ^~~~~~~~~~~~~~~
  80807. | real_address
  80808. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  80809. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80810. 246 | down_read(&mm->mmap_sem);
  80811. | ^~~~~~~~
  80812. | mmap_base
  80813. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  80814. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80815. 255 | up_read(&mm->mmap_sem);
  80816. | ^~~~~~~~
  80817. | mmap_base
  80818. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  80819. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80820. 264 | down_write(&mm->mmap_sem);
  80821. | ^~~~~~~~
  80822. | mmap_base
  80823. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  80824. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80825. 273 | up_write(&mm->mmap_sem);
  80826. | ^~~~~~~~
  80827. | mmap_base
  80828. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  80829. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80830. 282 | return rwsem_is_locked(&mm->mmap_sem);
  80831. | ^~~~~~~~
  80832. | mmap_base
  80833. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  80834. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80835. 291 | return &mm->mmap_sem;
  80836. | ^~~~~~~~
  80837. | mmap_base
  80838. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  80839. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  80840. 300 | vma->vm_flags |= flags;
  80841. | ^~
  80842. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  80843. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  80844. 309 | vma->vm_flags &= ~flags;
  80845. | ^~
  80846. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  80847. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  80848. 502 | NV_MEMDBG_ADD(ptr, size);
  80849. | ^
  80850. In file included from ././common/inc/nv-linux.h:34,
  80851. from nvidia-uvm/uvm_linux.h:40:
  80852. ././common/inc/nv-mm.h: At top level:
  80853. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  80854. 29 | typedef int vm_fault_t;
  80855. | ^~~~~~~~~~
  80856. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  80857. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  80858. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  80859. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  80860. from ././common/inc/nv-lock.h:35,
  80861. from ././common/inc/nv-linux.h:32:
  80862. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  80863. 1311 | typedef __bitwise unsigned int vm_fault_t;
  80864. | ^~~~~~~~~~
  80865. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  80866. from ././common/inc/nv-time.h:28:
  80867. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  80868. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80869. 52 | #define current get_current()
  80870. | ^~~~~~~~~~~~~
  80871. | |
  80872. | struct task_struct *
  80873. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  80874. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80875. | ^~~~~~~
  80876. In file included from ././common/inc/nv-pgprot.h:30,
  80877. from ././common/inc/nv-linux.h:33:
  80878. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  80879. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80880. | ~~~~~~~~~~~~~~^~~~~
  80881. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80882. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80883. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80884. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80885. | ~~~~~~~~~~~~~~^~~~~~~~
  80886. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80887. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80888. | ^~~~~~~~
  80889. | |
  80890. | long unsigned int
  80891. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80892. 2535 | unsigned int gup_flags, struct page **pages);
  80893. | ~~~~~~~~~~~~~~^~~~~
  80894. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80895. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  80896. | ^~~~~~~~~~~~~~ ~~~~~
  80897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80898. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80899. | ^~~~~~~~~~~~~~
  80900. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  80901. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  80902. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  80903. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  80904. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  80905. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  80906. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80907. 8 | #define NULL ((void *)0)
  80908. | ^~~~~~~~~~~
  80909. | |
  80910. | void *
  80911. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  80912. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80913. | ^~~~
  80914. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  80915. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80916. | ~~~~~~~~~~~~~~^~~~~
  80917. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  80918. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80919. | ^~
  80920. | |
  80921. | struct mm_struct *
  80922. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  80923. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80924. | ~~~~~~~~~~~~~~^~~~~~~~
  80925. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  80926. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80927. | ^~~~~~~~
  80928. | |
  80929. | long unsigned int
  80930. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  80931. 2535 | unsigned int gup_flags, struct page **pages);
  80932. | ~~~~~~~~~~~~~~^~~~~
  80933. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  80934. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  80935. | ^~~~~~~~~~~~~~ ~~~~~
  80936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  80937. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  80938. | ^~~~~~~~~~~~~~
  80939. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  80940. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  80941. 237 | return (unsigned long)(vmf->virtual_address);
  80942. | ^~~~~~~~~~~~~~~
  80943. | real_address
  80944. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  80945. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80946. 246 | down_read(&mm->mmap_sem);
  80947. | ^~~~~~~~
  80948. | mmap_base
  80949. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  80950. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80951. 255 | up_read(&mm->mmap_sem);
  80952. | ^~~~~~~~
  80953. | mmap_base
  80954. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  80955. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80956. 264 | down_write(&mm->mmap_sem);
  80957. | ^~~~~~~~
  80958. | mmap_base
  80959. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  80960. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80961. 273 | up_write(&mm->mmap_sem);
  80962. | ^~~~~~~~
  80963. | mmap_base
  80964. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  80965. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80966. 282 | return rwsem_is_locked(&mm->mmap_sem);
  80967. | ^~~~~~~~
  80968. | mmap_base
  80969. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  80970. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  80971. 291 | return &mm->mmap_sem;
  80972. | ^~~~~~~~
  80973. | mmap_base
  80974. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  80975. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  80976. 300 | vma->vm_flags |= flags;
  80977. | ^~
  80978. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  80979. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  80980. 309 | vma->vm_flags &= ~flags;
  80981. | ^~
  80982. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  80983. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  80984. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  80985. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  80986. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  80987. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  80988. | ^
  80989. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  80990. 573 | NV_MEMDBG_ADD(ptr, size);
  80991. | ^
  80992. ././common/inc/nv-linux.h: In function 'nv_vmap':
  80993. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  80994. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  80995. | ^
  80996. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  80997. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  80998. 736 | return phys_to_dma(dev, pa);
  80999. | ^~~~~~~~~~~
  81000. | nv_phys_to_dma
  81001. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  81002. 40 | struct timespec64 {
  81003. | ^~~~~~~~~~
  81004. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  81005. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  81006. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  81007. from ././common/inc/nv-time.h:29:
  81008. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  81009. 13 | struct timespec64 {
  81010. | ^~~~~~~~~~
  81011. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  81012. 77 | static inline struct timespec64 timespec64_add
  81013. | ^~~~~~~~~~~~~~
  81014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  81015. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  81016. | ^~~~~~~~~~~~~~
  81017. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  81018. 95 | static inline struct timespec64 timespec64_sub
  81019. | ^~~~~~~~~~~~~~
  81020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  81021. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  81022. | ^~~~~~~~~~~~~~
  81023. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  81024. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  81025. | ^~~~~~~~~~~~~~~~
  81026. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  81027. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  81028. | ^~~~~~~~~~~~~~~~
  81029. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  81030. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  81031. 122 | ktime_get_raw_ts64(&ts);
  81032. | ^~~
  81033. | |
  81034. | struct timespec64 *
  81035. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  81036. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  81037. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  81038. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  81039. from ././common/inc/nv-time.h:30:
  81040. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  81041. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  81042. | ~~~~~~~~~~~~~~~~~~~^~
  81043. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  81044. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  81045. 185 | ktime_get_raw_ts64(&tm_aux);
  81046. | ^~~~~~~
  81047. | |
  81048. | struct timespec64 *
  81049. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  81050. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  81051. | ~~~~~~~~~~~~~~~~~~~^~
  81052. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  81053. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  81054. 533 | ptr = ioremap_cache_shared(phys, size);
  81055. | ^~~~~~~~~~~~~~~~~~~~
  81056. | ioremap_cache
  81057. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  81058. 533 | ptr = ioremap_cache_shared(phys, size);
  81059. | ^
  81060. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  81061. 221 | ktime_get_raw_ts64(&tm_aux);
  81062. | ^~~~~~~
  81063. | |
  81064. | struct timespec64 *
  81065. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  81066. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  81067. | ~~~~~~~~~~~~~~~~~~~^~
  81068. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81069. 556 | NV_MEMDBG_ADD(ptr, size);
  81070. | ^
  81071. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  81072. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  81073. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  81074. | ^~~~~~~~~~~~~
  81075. | d_is_dir
  81076. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  81077. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  81078. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  81079. | ^~~~~~~~~~~~~~~~~~~~~~~
  81080. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  81081. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81082. 520 | NV_MEMDBG_ADD(ptr, size);
  81083. | ^
  81084. In file included from ././common/inc/nv-linux.h:34,
  81085. from nvidia-uvm/uvm_linux.h:40:
  81086. ././common/inc/nv-mm.h: At top level:
  81087. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  81088. 29 | typedef int vm_fault_t;
  81089. | ^~~~~~~~~~
  81090. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  81091. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  81092. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  81093. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  81094. from ././common/inc/nv-lock.h:35,
  81095. from ././common/inc/nv-linux.h:32:
  81096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  81097. 1311 | typedef __bitwise unsigned int vm_fault_t;
  81098. | ^~~~~~~~~~
  81099. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  81100. from ././common/inc/nv-time.h:28:
  81101. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  81102. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81103. 52 | #define current get_current()
  81104. | ^~~~~~~~~~~~~
  81105. | |
  81106. | struct task_struct *
  81107. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  81108. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81109. | ^~~~~~~
  81110. In file included from ././common/inc/nv-pgprot.h:30,
  81111. from ././common/inc/nv-linux.h:33:
  81112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  81113. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81114. | ~~~~~~~~~~~~~~^~~~~
  81115. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81116. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81117. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81118. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81119. | ~~~~~~~~~~~~~~^~~~~~~~
  81120. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81121. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81122. | ^~~~~~~~
  81123. | |
  81124. | long unsigned int
  81125. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81126. 2535 | unsigned int gup_flags, struct page **pages);
  81127. | ~~~~~~~~~~~~~~^~~~~
  81128. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81129. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81130. | ^~~~~~~~~~~~~~ ~~~~~
  81131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81132. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81133. | ^~~~~~~~~~~~~~
  81134. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  81135. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  81136. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  81137. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  81138. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  81139. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  81140. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  81141. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/atomic.h:5,
  81142. from nvidia-uvm/uvm_push_test.c:24:
  81143. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  81144. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81145. 8 | #define NULL ((void *)0)
  81146. | ^~~~~~~~~~~
  81147. | |
  81148. | void *
  81149. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  81150. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81151. | ^~~~
  81152. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  81153. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81154. | ~~~~~~~~~~~~~~^~~~~
  81155. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81156. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81157. | ^~
  81158. | |
  81159. | struct mm_struct *
  81160. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81161. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81162. | ~~~~~~~~~~~~~~^~~~~~~~
  81163. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81164. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81165. | ^~~~~~~~
  81166. | |
  81167. | long unsigned int
  81168. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81169. 2535 | unsigned int gup_flags, struct page **pages);
  81170. | ~~~~~~~~~~~~~~^~~~~
  81171. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81172. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81173. | ^~~~~~~~~~~~~~ ~~~~~
  81174. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81175. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81176. | ^~~~~~~~~~~~~~
  81177. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  81178. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  81179. 237 | return (unsigned long)(vmf->virtual_address);
  81180. | ^~~~~~~~~~~~~~~
  81181. | real_address
  81182. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  81183. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81184. 246 | down_read(&mm->mmap_sem);
  81185. | ^~~~~~~~
  81186. | mmap_base
  81187. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  81188. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81189. 255 | up_read(&mm->mmap_sem);
  81190. | ^~~~~~~~
  81191. | mmap_base
  81192. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  81193. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81194. 264 | down_write(&mm->mmap_sem);
  81195. | ^~~~~~~~
  81196. | mmap_base
  81197. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  81198. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81199. 273 | up_write(&mm->mmap_sem);
  81200. | ^~~~~~~~
  81201. | mmap_base
  81202. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  81203. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81204. 282 | return rwsem_is_locked(&mm->mmap_sem);
  81205. | ^~~~~~~~
  81206. | mmap_base
  81207. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  81208. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81209. 291 | return &mm->mmap_sem;
  81210. | ^~~~~~~~
  81211. | mmap_base
  81212. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  81213. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  81214. 300 | vma->vm_flags |= flags;
  81215. | ^~
  81216. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  81217. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  81218. 309 | vma->vm_flags &= ~flags;
  81219. | ^~
  81220. In file included from ././common/inc/nv-linux.h:34,
  81221. from nvidia-uvm/uvm_linux.h:40:
  81222. ././common/inc/nv-mm.h: At top level:
  81223. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  81224. 29 | typedef int vm_fault_t;
  81225. | ^~~~~~~~~~
  81226. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  81227. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  81228. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  81229. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  81230. from ././common/inc/nv-lock.h:35,
  81231. from ././common/inc/nv-linux.h:32:
  81232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  81233. 1311 | typedef __bitwise unsigned int vm_fault_t;
  81234. | ^~~~~~~~~~
  81235. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  81236. from ././common/inc/nv-time.h:28:
  81237. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  81238. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81239. 52 | #define current get_current()
  81240. | ^~~~~~~~~~~~~
  81241. | |
  81242. | struct task_struct *
  81243. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  81244. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81245. | ^~~~~~~
  81246. In file included from ././common/inc/nv-pgprot.h:30,
  81247. from ././common/inc/nv-linux.h:33:
  81248. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  81249. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81250. | ~~~~~~~~~~~~~~^~~~~
  81251. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81252. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81253. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81254. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81255. | ~~~~~~~~~~~~~~^~~~~~~~
  81256. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81257. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81258. | ^~~~~~~~
  81259. | |
  81260. | long unsigned int
  81261. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81262. 2535 | unsigned int gup_flags, struct page **pages);
  81263. | ~~~~~~~~~~~~~~^~~~~
  81264. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81265. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81266. | ^~~~~~~~~~~~~~ ~~~~~
  81267. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81268. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81269. | ^~~~~~~~~~~~~~
  81270. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  81271. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  81272. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  81273. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  81274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  81275. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  81276. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81277. 8 | #define NULL ((void *)0)
  81278. | ^~~~~~~~~~~
  81279. | |
  81280. | void *
  81281. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  81282. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81283. | ^~~~
  81284. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  81285. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81286. | ~~~~~~~~~~~~~~^~~~~
  81287. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81288. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81289. | ^~
  81290. | |
  81291. | struct mm_struct *
  81292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81293. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81294. | ~~~~~~~~~~~~~~^~~~~~~~
  81295. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81296. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81297. | ^~~~~~~~
  81298. | |
  81299. | long unsigned int
  81300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81301. 2535 | unsigned int gup_flags, struct page **pages);
  81302. | ~~~~~~~~~~~~~~^~~~~
  81303. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81304. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81305. | ^~~~~~~~~~~~~~ ~~~~~
  81306. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81307. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81308. | ^~~~~~~~~~~~~~
  81309. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  81310. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  81311. 237 | return (unsigned long)(vmf->virtual_address);
  81312. | ^~~~~~~~~~~~~~~
  81313. | real_address
  81314. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  81315. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81316. 246 | down_read(&mm->mmap_sem);
  81317. | ^~~~~~~~
  81318. | mmap_base
  81319. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  81320. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81321. 255 | up_read(&mm->mmap_sem);
  81322. | ^~~~~~~~
  81323. | mmap_base
  81324. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  81325. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81326. 264 | down_write(&mm->mmap_sem);
  81327. | ^~~~~~~~
  81328. | mmap_base
  81329. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  81330. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81331. 273 | up_write(&mm->mmap_sem);
  81332. | ^~~~~~~~
  81333. | mmap_base
  81334. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  81335. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81336. 282 | return rwsem_is_locked(&mm->mmap_sem);
  81337. | ^~~~~~~~
  81338. | mmap_base
  81339. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  81340. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81341. 291 | return &mm->mmap_sem;
  81342. | ^~~~~~~~
  81343. | mmap_base
  81344. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  81345. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  81346. 300 | vma->vm_flags |= flags;
  81347. | ^~
  81348. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  81349. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  81350. 309 | vma->vm_flags &= ~flags;
  81351. | ^~
  81352. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  81353. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  81354. 287 | ktime_get_raw_ts64(&tm);
  81355. | ^~~
  81356. | |
  81357. | struct timespec64 *
  81358. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  81359. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  81360. | ~~~~~~~~~~~~~~~~~~~^~
  81361. nvidia-uvm/uvm_linux.h: At top level:
  81362. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  81363. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  81364. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  81365. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  81366. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  81367. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  81368. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  81369. 449 | #error "Unknown number of arguments"
  81370. | ^~~~~
  81371. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  81372. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  81373. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  81374. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  81375. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  81376. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  81377. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  81378. 485 | #error "Unknown number of arguments"
  81379. | ^~~~~
  81380. In file included from ././common/inc/nv-linux.h:34,
  81381. from nvidia-uvm/uvm_linux.h:40:
  81382. ././common/inc/nv-mm.h: At top level:
  81383. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  81384. 29 | typedef int vm_fault_t;
  81385. | ^~~~~~~~~~
  81386. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  81387. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  81388. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  81389. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  81390. from ././common/inc/nv-lock.h:35,
  81391. from ././common/inc/nv-linux.h:32:
  81392. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  81393. 1311 | typedef __bitwise unsigned int vm_fault_t;
  81394. | ^~~~~~~~~~
  81395. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  81396. from ././common/inc/nv-time.h:28:
  81397. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  81398. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81399. 52 | #define current get_current()
  81400. | ^~~~~~~~~~~~~
  81401. | |
  81402. | struct task_struct *
  81403. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  81404. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81405. | ^~~~~~~
  81406. In file included from ././common/inc/nv-pgprot.h:30,
  81407. from ././common/inc/nv-linux.h:33:
  81408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  81409. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81410. | ~~~~~~~~~~~~~~^~~~~
  81411. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81412. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81413. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81414. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81415. | ~~~~~~~~~~~~~~^~~~~~~~
  81416. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81417. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81418. | ^~~~~~~~
  81419. | |
  81420. | long unsigned int
  81421. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81422. 2535 | unsigned int gup_flags, struct page **pages);
  81423. | ~~~~~~~~~~~~~~^~~~~
  81424. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81425. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81426. | ^~~~~~~~~~~~~~ ~~~~~
  81427. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81428. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81429. | ^~~~~~~~~~~~~~
  81430. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  81431. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  81432. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  81433. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  81434. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  81435. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  81436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81437. 8 | #define NULL ((void *)0)
  81438. | ^~~~~~~~~~~
  81439. | |
  81440. | void *
  81441. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  81442. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81443. | ^~~~
  81444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  81445. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81446. | ~~~~~~~~~~~~~~^~~~~
  81447. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81448. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81449. | ^~
  81450. | |
  81451. | struct mm_struct *
  81452. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81453. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81454. | ~~~~~~~~~~~~~~^~~~~~~~
  81455. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81456. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81457. | ^~~~~~~~
  81458. | |
  81459. | long unsigned int
  81460. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81461. 2535 | unsigned int gup_flags, struct page **pages);
  81462. | ~~~~~~~~~~~~~~^~~~~
  81463. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81464. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81465. | ^~~~~~~~~~~~~~ ~~~~~
  81466. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81467. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81468. | ^~~~~~~~~~~~~~
  81469. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  81470. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  81471. 237 | return (unsigned long)(vmf->virtual_address);
  81472. | ^~~~~~~~~~~~~~~
  81473. | real_address
  81474. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  81475. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81476. 246 | down_read(&mm->mmap_sem);
  81477. | ^~~~~~~~
  81478. | mmap_base
  81479. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  81480. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81481. 255 | up_read(&mm->mmap_sem);
  81482. | ^~~~~~~~
  81483. | mmap_base
  81484. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  81485. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81486. 264 | down_write(&mm->mmap_sem);
  81487. | ^~~~~~~~
  81488. | mmap_base
  81489. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  81490. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81491. 273 | up_write(&mm->mmap_sem);
  81492. | ^~~~~~~~
  81493. | mmap_base
  81494. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  81495. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81496. 282 | return rwsem_is_locked(&mm->mmap_sem);
  81497. | ^~~~~~~~
  81498. | mmap_base
  81499. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  81500. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81501. 291 | return &mm->mmap_sem;
  81502. | ^~~~~~~~
  81503. | mmap_base
  81504. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  81505. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  81506. 300 | vma->vm_flags |= flags;
  81507. | ^~
  81508. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  81509. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  81510. 309 | vma->vm_flags &= ~flags;
  81511. | ^~
  81512. In file included from ././common/inc/nv-linux.h:34,
  81513. from nvidia-uvm/uvm_linux.h:40:
  81514. ././common/inc/nv-mm.h: At top level:
  81515. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  81516. 29 | typedef int vm_fault_t;
  81517. | ^~~~~~~~~~
  81518. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  81519. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  81520. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  81521. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  81522. from ././common/inc/nv-lock.h:35,
  81523. from ././common/inc/nv-linux.h:32:
  81524. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  81525. 1311 | typedef __bitwise unsigned int vm_fault_t;
  81526. | ^~~~~~~~~~
  81527. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  81528. from ././common/inc/nv-time.h:28:
  81529. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  81530. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81531. 52 | #define current get_current()
  81532. | ^~~~~~~~~~~~~
  81533. | |
  81534. | struct task_struct *
  81535. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  81536. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81537. | ^~~~~~~
  81538. In file included from ././common/inc/nv-pgprot.h:30,
  81539. from ././common/inc/nv-linux.h:33:
  81540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  81541. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81542. | ~~~~~~~~~~~~~~^~~~~
  81543. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81544. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81545. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81546. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81547. | ~~~~~~~~~~~~~~^~~~~~~~
  81548. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81549. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81550. | ^~~~~~~~
  81551. | |
  81552. | long unsigned int
  81553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81554. 2535 | unsigned int gup_flags, struct page **pages);
  81555. | ~~~~~~~~~~~~~~^~~~~
  81556. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81557. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81558. | ^~~~~~~~~~~~~~ ~~~~~
  81559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81560. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81561. | ^~~~~~~~~~~~~~
  81562. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  81563. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  81564. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  81565. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  81566. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  81567. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  81568. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81569. 8 | #define NULL ((void *)0)
  81570. | ^~~~~~~~~~~
  81571. | |
  81572. | void *
  81573. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  81574. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81575. | ^~~~
  81576. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  81577. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81578. | ~~~~~~~~~~~~~~^~~~~
  81579. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81580. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81581. | ^~
  81582. | |
  81583. | struct mm_struct *
  81584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81585. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81586. | ~~~~~~~~~~~~~~^~~~~~~~
  81587. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81588. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81589. | ^~~~~~~~
  81590. | |
  81591. | long unsigned int
  81592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81593. 2535 | unsigned int gup_flags, struct page **pages);
  81594. | ~~~~~~~~~~~~~~^~~~~
  81595. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81596. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81597. | ^~~~~~~~~~~~~~ ~~~~~
  81598. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81599. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81600. | ^~~~~~~~~~~~~~
  81601. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  81602. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  81603. 237 | return (unsigned long)(vmf->virtual_address);
  81604. | ^~~~~~~~~~~~~~~
  81605. | real_address
  81606. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  81607. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81608. 246 | down_read(&mm->mmap_sem);
  81609. | ^~~~~~~~
  81610. | mmap_base
  81611. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  81612. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81613. 255 | up_read(&mm->mmap_sem);
  81614. | ^~~~~~~~
  81615. | mmap_base
  81616. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  81617. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81618. 264 | down_write(&mm->mmap_sem);
  81619. | ^~~~~~~~
  81620. | mmap_base
  81621. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  81622. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81623. 273 | up_write(&mm->mmap_sem);
  81624. | ^~~~~~~~
  81625. | mmap_base
  81626. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  81627. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81628. 282 | return rwsem_is_locked(&mm->mmap_sem);
  81629. | ^~~~~~~~
  81630. | mmap_base
  81631. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  81632. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81633. 291 | return &mm->mmap_sem;
  81634. | ^~~~~~~~
  81635. | mmap_base
  81636. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  81637. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  81638. 300 | vma->vm_flags |= flags;
  81639. | ^~
  81640. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  81641. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  81642. 309 | vma->vm_flags &= ~flags;
  81643. | ^~
  81644. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  81645. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  81646. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  81647. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  81648. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  81649. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  81650. | ^
  81651. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81652. 573 | NV_MEMDBG_ADD(ptr, size);
  81653. | ^
  81654. ././common/inc/nv-linux.h: In function 'nv_vmap':
  81655. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81656. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  81657. | ^
  81658. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  81659. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  81660. 736 | return phys_to_dma(dev, pa);
  81661. | ^~~~~~~~~~~
  81662. | nv_phys_to_dma
  81663. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  81664. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81665. 502 | NV_MEMDBG_ADD(ptr, size);
  81666. | ^
  81667. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  81668. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  81669. 533 | ptr = ioremap_cache_shared(phys, size);
  81670. | ^~~~~~~~~~~~~~~~~~~~
  81671. | ioremap_cache
  81672. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  81673. 533 | ptr = ioremap_cache_shared(phys, size);
  81674. | ^
  81675. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81676. 556 | NV_MEMDBG_ADD(ptr, size);
  81677. | ^
  81678. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  81679. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  81680. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  81681. | ^~~~~~~~~~~~~
  81682. | d_is_dir
  81683. In file included from nvidia-uvm/uvm_api.h:31:
  81684. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  81685. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  81686. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  81687. | ^~~~~~~~~~~~~~~~~~~~
  81688. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  81689. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81690. 502 | NV_MEMDBG_ADD(ptr, size);
  81691. | ^
  81692. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  81693. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  81694. 287 | ktime_get_raw_ts64(&tm);
  81695. | ^~~
  81696. | |
  81697. | struct timespec64 *
  81698. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  81699. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  81700. | ~~~~~~~~~~~~~~~~~~~^~
  81701. nvidia-uvm/uvm_linux.h: At top level:
  81702. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  81703. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  81704. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  81705. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  81706. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  81707. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  81708. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  81709. 449 | #error "Unknown number of arguments"
  81710. | ^~~~~
  81711. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  81712. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  81713. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  81714. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  81715. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  81716. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  81717. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  81718. 485 | #error "Unknown number of arguments"
  81719. | ^~~~~
  81720. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  81721. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81722. 502 | NV_MEMDBG_ADD(ptr, size);
  81723. | ^
  81724. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  81725. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  81726. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  81727. | ^~~~~~~~~~~~~~~~~~~~~~~
  81728. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  81729. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81730. 520 | NV_MEMDBG_ADD(ptr, size);
  81731. | ^
  81732. In file included from ././common/inc/nv-linux.h:34,
  81733. from nvidia-uvm/uvm_linux.h:40:
  81734. ././common/inc/nv-mm.h: At top level:
  81735. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  81736. 29 | typedef int vm_fault_t;
  81737. | ^~~~~~~~~~
  81738. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  81739. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  81740. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  81741. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  81742. from ././common/inc/nv-lock.h:35,
  81743. from ././common/inc/nv-linux.h:32:
  81744. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  81745. 1311 | typedef __bitwise unsigned int vm_fault_t;
  81746. | ^~~~~~~~~~
  81747. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  81748. from ././common/inc/nv-time.h:28:
  81749. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  81750. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81751. 52 | #define current get_current()
  81752. | ^~~~~~~~~~~~~
  81753. | |
  81754. | struct task_struct *
  81755. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  81756. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81757. | ^~~~~~~
  81758. In file included from ././common/inc/nv-pgprot.h:30,
  81759. from ././common/inc/nv-linux.h:33:
  81760. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  81761. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81762. | ~~~~~~~~~~~~~~^~~~~
  81763. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81764. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81765. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81766. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81767. | ~~~~~~~~~~~~~~^~~~~~~~
  81768. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81769. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81770. | ^~~~~~~~
  81771. | |
  81772. | long unsigned int
  81773. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81774. 2535 | unsigned int gup_flags, struct page **pages);
  81775. | ~~~~~~~~~~~~~~^~~~~
  81776. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81777. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81778. | ^~~~~~~~~~~~~~ ~~~~~
  81779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81780. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81781. | ^~~~~~~~~~~~~~
  81782. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  81783. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  81784. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  81785. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  81786. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  81787. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  81788. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81789. 8 | #define NULL ((void *)0)
  81790. | ^~~~~~~~~~~
  81791. | |
  81792. | void *
  81793. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  81794. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81795. | ^~~~
  81796. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  81797. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81798. | ~~~~~~~~~~~~~~^~~~~
  81799. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81800. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81801. | ^~
  81802. | |
  81803. | struct mm_struct *
  81804. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81805. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81806. | ~~~~~~~~~~~~~~^~~~~~~~
  81807. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81808. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81809. | ^~~~~~~~
  81810. | |
  81811. | long unsigned int
  81812. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81813. 2535 | unsigned int gup_flags, struct page **pages);
  81814. | ~~~~~~~~~~~~~~^~~~~
  81815. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81816. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81817. | ^~~~~~~~~~~~~~ ~~~~~
  81818. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81819. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81820. | ^~~~~~~~~~~~~~
  81821. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  81822. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  81823. 237 | return (unsigned long)(vmf->virtual_address);
  81824. | ^~~~~~~~~~~~~~~
  81825. | real_address
  81826. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  81827. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81828. 246 | down_read(&mm->mmap_sem);
  81829. | ^~~~~~~~
  81830. | mmap_base
  81831. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  81832. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81833. 255 | up_read(&mm->mmap_sem);
  81834. | ^~~~~~~~
  81835. | mmap_base
  81836. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  81837. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81838. 264 | down_write(&mm->mmap_sem);
  81839. | ^~~~~~~~
  81840. | mmap_base
  81841. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  81842. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81843. 273 | up_write(&mm->mmap_sem);
  81844. | ^~~~~~~~
  81845. | mmap_base
  81846. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  81847. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81848. 282 | return rwsem_is_locked(&mm->mmap_sem);
  81849. | ^~~~~~~~
  81850. | mmap_base
  81851. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  81852. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  81853. 291 | return &mm->mmap_sem;
  81854. | ^~~~~~~~
  81855. | mmap_base
  81856. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  81857. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  81858. 300 | vma->vm_flags |= flags;
  81859. | ^~
  81860. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  81861. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  81862. 309 | vma->vm_flags &= ~flags;
  81863. | ^~
  81864. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  81865. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81866. 502 | NV_MEMDBG_ADD(ptr, size);
  81867. | ^
  81868. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  81869. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  81870. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  81871. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  81872. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  81873. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  81874. | ^
  81875. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81876. 573 | NV_MEMDBG_ADD(ptr, size);
  81877. | ^
  81878. ././common/inc/nv-linux.h: In function 'nv_vmap':
  81879. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81880. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  81881. | ^
  81882. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  81883. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81884. 502 | NV_MEMDBG_ADD(ptr, size);
  81885. | ^
  81886. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  81887. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  81888. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  81889. | ^~~~~~~~~~~~~~~~~~~~~~~
  81890. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  81891. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81892. 520 | NV_MEMDBG_ADD(ptr, size);
  81893. | ^
  81894. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  81895. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  81896. 736 | return phys_to_dma(dev, pa);
  81897. | ^~~~~~~~~~~
  81898. | nv_phys_to_dma
  81899. In file included from nvidia-uvm/uvm_api.h:31:
  81900. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  81901. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  81902. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  81903. | ^~~~~~~~~~~~~~~~~~~~
  81904. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  81905. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  81906. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  81907. | ^~~~~~~~~~~~~~~~~~~~~~~
  81908. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  81909. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81910. 520 | NV_MEMDBG_ADD(ptr, size);
  81911. | ^
  81912. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  81913. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  81914. 533 | ptr = ioremap_cache_shared(phys, size);
  81915. | ^~~~~~~~~~~~~~~~~~~~
  81916. | ioremap_cache
  81917. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  81918. 533 | ptr = ioremap_cache_shared(phys, size);
  81919. | ^
  81920. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  81921. 556 | NV_MEMDBG_ADD(ptr, size);
  81922. | ^
  81923. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  81924. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  81925. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  81926. | ^~~~~~~~~~~~~
  81927. | d_is_dir
  81928. In file included from ././common/inc/nv-linux.h:34,
  81929. from nvidia-uvm/uvm_linux.h:40:
  81930. ././common/inc/nv-mm.h: At top level:
  81931. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  81932. 29 | typedef int vm_fault_t;
  81933. | ^~~~~~~~~~
  81934. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  81935. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  81936. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  81937. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  81938. from ././common/inc/nv-lock.h:35,
  81939. from ././common/inc/nv-linux.h:32:
  81940. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  81941. 1311 | typedef __bitwise unsigned int vm_fault_t;
  81942. | ^~~~~~~~~~
  81943. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  81944. from ././common/inc/nv-time.h:28:
  81945. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  81946. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81947. 52 | #define current get_current()
  81948. | ^~~~~~~~~~~~~
  81949. | |
  81950. | struct task_struct *
  81951. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  81952. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81953. | ^~~~~~~
  81954. In file included from ././common/inc/nv-pgprot.h:30,
  81955. from ././common/inc/nv-linux.h:33:
  81956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  81957. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81958. | ~~~~~~~~~~~~~~^~~~~
  81959. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81960. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81961. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  81962. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81963. | ~~~~~~~~~~~~~~^~~~~~~~
  81964. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  81965. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81966. | ^~~~~~~~
  81967. | |
  81968. | long unsigned int
  81969. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  81970. 2535 | unsigned int gup_flags, struct page **pages);
  81971. | ~~~~~~~~~~~~~~^~~~~
  81972. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  81973. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  81974. | ^~~~~~~~~~~~~~ ~~~~~
  81975. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  81976. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81977. | ^~~~~~~~~~~~~~
  81978. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  81979. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  81980. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  81981. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  81982. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  81983. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  81984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81985. 8 | #define NULL ((void *)0)
  81986. | ^~~~~~~~~~~
  81987. | |
  81988. | void *
  81989. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  81990. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81991. | ^~~~
  81992. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  81993. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  81994. | ~~~~~~~~~~~~~~^~~~~
  81995. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  81996. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  81997. | ^~
  81998. | |
  81999. | struct mm_struct *
  82000. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  82001. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  82002. | ~~~~~~~~~~~~~~^~~~~~~~
  82003. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  82004. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  82005. | ^~~~~~~~
  82006. | |
  82007. | long unsigned int
  82008. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  82009. 2535 | unsigned int gup_flags, struct page **pages);
  82010. | ~~~~~~~~~~~~~~^~~~~
  82011. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  82012. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  82013. | ^~~~~~~~~~~~~~ ~~~~~
  82014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  82015. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  82016. | ^~~~~~~~~~~~~~
  82017. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  82018. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  82019. 237 | return (unsigned long)(vmf->virtual_address);
  82020. | ^~~~~~~~~~~~~~~
  82021. | real_address
  82022. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  82023. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82024. 246 | down_read(&mm->mmap_sem);
  82025. | ^~~~~~~~
  82026. | mmap_base
  82027. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  82028. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82029. 255 | up_read(&mm->mmap_sem);
  82030. | ^~~~~~~~
  82031. | mmap_base
  82032. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  82033. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82034. 264 | down_write(&mm->mmap_sem);
  82035. | ^~~~~~~~
  82036. | mmap_base
  82037. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  82038. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82039. 273 | up_write(&mm->mmap_sem);
  82040. | ^~~~~~~~
  82041. | mmap_base
  82042. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  82043. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82044. 282 | return rwsem_is_locked(&mm->mmap_sem);
  82045. | ^~~~~~~~
  82046. | mmap_base
  82047. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  82048. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82049. 291 | return &mm->mmap_sem;
  82050. | ^~~~~~~~
  82051. | mmap_base
  82052. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  82053. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  82054. 300 | vma->vm_flags |= flags;
  82055. | ^~
  82056. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  82057. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  82058. 309 | vma->vm_flags &= ~flags;
  82059. | ^~
  82060. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  82061. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82062. 502 | NV_MEMDBG_ADD(ptr, size);
  82063. | ^
  82064. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  82065. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  82066. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  82067. | ^~~~~~~~~~~~~~~~~~~~~~~
  82068. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82069. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82070. 520 | NV_MEMDBG_ADD(ptr, size);
  82071. | ^
  82072. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  82073. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  82074. 533 | ptr = ioremap_cache_shared(phys, size);
  82075. | ^~~~~~~~~~~~~~~~~~~~
  82076. | ioremap_cache
  82077. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82078. 533 | ptr = ioremap_cache_shared(phys, size);
  82079. | ^
  82080. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82081. 556 | NV_MEMDBG_ADD(ptr, size);
  82082. | ^
  82083. cc1: some warnings being treated as errors
  82084. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  82085. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82086. 287 | ktime_get_raw_ts64(&tm);
  82087. | ^~~
  82088. | |
  82089. | struct timespec64 *
  82090. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82091. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82092. | ~~~~~~~~~~~~~~~~~~~^~
  82093. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  82094. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  82095. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  82096. | ^~~~~~~~~~~~~~~~~~~~~~~
  82097. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82098. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82099. 520 | NV_MEMDBG_ADD(ptr, size);
  82100. | ^
  82101. nvidia-uvm/uvm_linux.h: At top level:
  82102. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82103. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  82104. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82105. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82106. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  82107. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82108. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  82109. 449 | #error "Unknown number of arguments"
  82110. | ^~~~~
  82111. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  82112. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82113. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  82114. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82115. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82116. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  82117. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82118. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  82119. 485 | #error "Unknown number of arguments"
  82120. | ^~~~~
  82121. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82122. 502 | NV_MEMDBG_ADD(ptr, size);
  82123. | ^
  82124. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_faults.o] Error 1
  82125. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  82126. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82127. 502 | NV_MEMDBG_ADD(ptr, size);
  82128. | ^
  82129. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  82130. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  82131. 533 | ptr = ioremap_cache_shared(phys, size);
  82132. | ^~~~~~~~~~~~~~~~~~~~
  82133. | ioremap_cache
  82134. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82135. 533 | ptr = ioremap_cache_shared(phys, size);
  82136. | ^
  82137. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82138. 556 | NV_MEMDBG_ADD(ptr, size);
  82139. | ^
  82140. CC [M] nvidia-uvm/uvm_kvmalloc_test.o
  82141. In file included from ././common/inc/nv-linux.h:34,
  82142. from nvidia-uvm/uvm_linux.h:40:
  82143. ././common/inc/nv-mm.h: At top level:
  82144. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  82145. 29 | typedef int vm_fault_t;
  82146. | ^~~~~~~~~~
  82147. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  82148. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  82149. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  82150. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  82151. from ././common/inc/nv-lock.h:35,
  82152. from ././common/inc/nv-linux.h:32:
  82153. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  82154. 1311 | typedef __bitwise unsigned int vm_fault_t;
  82155. | ^~~~~~~~~~
  82156. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  82157. from ././common/inc/nv-time.h:28:
  82158. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  82159. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  82160. 52 | #define current get_current()
  82161. | ^~~~~~~~~~~~~
  82162. | |
  82163. | struct task_struct *
  82164. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  82165. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  82166. | ^~~~~~~
  82167. In file included from ././common/inc/nv-pgprot.h:30,
  82168. from ././common/inc/nv-linux.h:33:
  82169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  82170. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  82171. | ~~~~~~~~~~~~~~^~~~~
  82172. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  82173. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  82174. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  82175. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  82176. | ~~~~~~~~~~~~~~^~~~~~~~
  82177. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  82178. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  82179. | ^~~~~~~~
  82180. | |
  82181. | long unsigned int
  82182. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  82183. 2535 | unsigned int gup_flags, struct page **pages);
  82184. | ~~~~~~~~~~~~~~^~~~~
  82185. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  82186. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  82187. | ^~~~~~~~~~~~~~ ~~~~~
  82188. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  82189. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  82190. | ^~~~~~~~~~~~~~
  82191. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  82192. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  82193. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  82194. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  82195. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  82196. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  82197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  82198. 8 | #define NULL ((void *)0)
  82199. | ^~~~~~~~~~~
  82200. | |
  82201. | void *
  82202. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  82203. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  82204. | ^~~~
  82205. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  82206. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  82207. | ~~~~~~~~~~~~~~^~~~~
  82208. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  82209. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  82210. | ^~
  82211. | |
  82212. | struct mm_struct *
  82213. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  82214. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  82215. | ~~~~~~~~~~~~~~^~~~~~~~
  82216. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  82217. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  82218. | ^~~~~~~~
  82219. | |
  82220. | long unsigned int
  82221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  82222. 2535 | unsigned int gup_flags, struct page **pages);
  82223. | ~~~~~~~~~~~~~~^~~~~
  82224. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  82225. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  82226. | ^~~~~~~~~~~~~~ ~~~~~
  82227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  82228. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  82229. | ^~~~~~~~~~~~~~
  82230. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  82231. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  82232. 237 | return (unsigned long)(vmf->virtual_address);
  82233. | ^~~~~~~~~~~~~~~
  82234. | real_address
  82235. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  82236. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82237. 246 | down_read(&mm->mmap_sem);
  82238. | ^~~~~~~~
  82239. | mmap_base
  82240. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  82241. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82242. 255 | up_read(&mm->mmap_sem);
  82243. | ^~~~~~~~
  82244. | mmap_base
  82245. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  82246. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82247. 264 | down_write(&mm->mmap_sem);
  82248. | ^~~~~~~~
  82249. | mmap_base
  82250. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  82251. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82252. 273 | up_write(&mm->mmap_sem);
  82253. | ^~~~~~~~
  82254. | mmap_base
  82255. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  82256. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82257. 282 | return rwsem_is_locked(&mm->mmap_sem);
  82258. | ^~~~~~~~
  82259. | mmap_base
  82260. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  82261. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  82262. 291 | return &mm->mmap_sem;
  82263. | ^~~~~~~~
  82264. | mmap_base
  82265. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  82266. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  82267. 300 | vma->vm_flags |= flags;
  82268. | ^~
  82269. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  82270. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  82271. 309 | vma->vm_flags &= ~flags;
  82272. | ^~
  82273. cc1: some warnings being treated as errors
  82274. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_test_rng.o] Error 1
  82275. CC [M] nvidia-uvm/uvm_pmm_test.o
  82276. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  82277. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  82278. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82279. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  82280. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82281. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82282. | ^
  82283. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82284. 573 | NV_MEMDBG_ADD(ptr, size);
  82285. | ^
  82286. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  82287. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82288. 502 | NV_MEMDBG_ADD(ptr, size);
  82289. | ^
  82290. ././common/inc/nv-linux.h: In function 'nv_vmap':
  82291. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82292. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  82293. | ^
  82294. In file included from ././common/inc/conftest.h:28,
  82295. from ././common/inc/nv-time.h:27,
  82296. from nvidia-uvm/uvm_linux.h:37,
  82297. from nvidia-uvm/uvm_common.h:43,
  82298. from nvidia-uvm/uvm_kvmalloc_test.c:24:
  82299. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  82300. 74 | #error dma_buf_export() conftest failed!
  82301. | ^~~~~
  82302. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  82303. 87 | #error wait_on_bit_lock() conftest failed!
  82304. | ^~~~~
  82305. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  82306. 90 | #error radix_tree_replace_slot() conftest failed!
  82307. | ^~~~~
  82308. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  82309. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  82310. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  82311. | ^~~~~~~~~~~~~~~~~~~~~~~
  82312. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82313. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82314. 520 | NV_MEMDBG_ADD(ptr, size);
  82315. | ^
  82316. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  82317. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  82318. 533 | ptr = ioremap_cache_shared(phys, size);
  82319. | ^~~~~~~~~~~~~~~~~~~~
  82320. | ioremap_cache
  82321. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82322. 533 | ptr = ioremap_cache_shared(phys, size);
  82323. | ^
  82324. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82325. 556 | NV_MEMDBG_ADD(ptr, size);
  82326. | ^
  82327. In file included from ././common/inc/conftest.h:28,
  82328. from ././common/inc/nv-time.h:27,
  82329. from nvidia-uvm/uvm_linux.h:37,
  82330. from nvidia-uvm/uvm_common.h:43,
  82331. from nvidia-uvm/uvm_pmm_test.c:24:
  82332. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  82333. 74 | #error dma_buf_export() conftest failed!
  82334. | ^~~~~
  82335. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  82336. 87 | #error wait_on_bit_lock() conftest failed!
  82337. | ^~~~~
  82338. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  82339. 90 | #error radix_tree_replace_slot() conftest failed!
  82340. | ^~~~~
  82341. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  82342. 40 | struct timespec64 {
  82343. | ^~~~~~~~~~
  82344. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  82345. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  82346. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  82347. from ././common/inc/nv-time.h:29:
  82348. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  82349. 13 | struct timespec64 {
  82350. | ^~~~~~~~~~
  82351. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  82352. 77 | static inline struct timespec64 timespec64_add
  82353. | ^~~~~~~~~~~~~~
  82354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  82355. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  82356. | ^~~~~~~~~~~~~~
  82357. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  82358. 95 | static inline struct timespec64 timespec64_sub
  82359. | ^~~~~~~~~~~~~~
  82360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  82361. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  82362. | ^~~~~~~~~~~~~~
  82363. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  82364. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  82365. | ^~~~~~~~~~~~~~~~
  82366. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  82367. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  82368. | ^~~~~~~~~~~~~~~~
  82369. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  82370. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82371. 122 | ktime_get_raw_ts64(&ts);
  82372. | ^~~
  82373. | |
  82374. | struct timespec64 *
  82375. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  82376. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  82377. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  82378. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  82379. from ././common/inc/nv-time.h:30:
  82380. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82381. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82382. | ~~~~~~~~~~~~~~~~~~~^~
  82383. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  82384. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  82385. 533 | ptr = ioremap_cache_shared(phys, size);
  82386. | ^~~~~~~~~~~~~~~~~~~~
  82387. | ioremap_cache
  82388. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  82389. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82390. 185 | ktime_get_raw_ts64(&tm_aux);
  82391. | ^~~~~~~
  82392. | |
  82393. | struct timespec64 *
  82394. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82395. 533 | ptr = ioremap_cache_shared(phys, size);
  82396. | ^
  82397. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82398. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82399. | ~~~~~~~~~~~~~~~~~~~^~
  82400. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82401. 556 | NV_MEMDBG_ADD(ptr, size);
  82402. | ^
  82403. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82404. 221 | ktime_get_raw_ts64(&tm_aux);
  82405. | ^~~~~~~
  82406. | |
  82407. | struct timespec64 *
  82408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82409. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82410. | ~~~~~~~~~~~~~~~~~~~^~
  82411. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  82412. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  82413. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  82414. | ^~~~~~~~~~~~~~~~~~~~~~~
  82415. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82416. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82417. 520 | NV_MEMDBG_ADD(ptr, size);
  82418. | ^
  82419. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  82420. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  82421. 736 | return phys_to_dma(dev, pa);
  82422. | ^~~~~~~~~~~
  82423. | nv_phys_to_dma
  82424. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  82425. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  82426. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  82427. | ^~~~~~~~~~~~~~~~~~~~~~~
  82428. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82429. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82430. 520 | NV_MEMDBG_ADD(ptr, size);
  82431. | ^
  82432. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  82433. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  82434. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82435. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  82436. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82437. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82438. | ^
  82439. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82440. 573 | NV_MEMDBG_ADD(ptr, size);
  82441. | ^
  82442. ././common/inc/nv-linux.h: In function 'nv_vmap':
  82443. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82444. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  82445. | ^
  82446. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  82447. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  82448. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82449. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  82450. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82451. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82452. | ^
  82453. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82454. 573 | NV_MEMDBG_ADD(ptr, size);
  82455. | ^
  82456. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  82457. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  82458. 736 | return phys_to_dma(dev, pa);
  82459. | ^~~~~~~~~~~
  82460. | nv_phys_to_dma
  82461. ././common/inc/nv-linux.h: In function 'nv_vmap':
  82462. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82463. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  82464. | ^
  82465. cc1: some warnings being treated as errors
  82466. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  82467. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  82468. 736 | return phys_to_dma(dev, pa);
  82469. | ^~~~~~~~~~~
  82470. | nv_phys_to_dma
  82471. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  82472. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82473. 502 | NV_MEMDBG_ADD(ptr, size);
  82474. | ^
  82475. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  82476. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  82477. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  82478. | ^~~~~~~~~~~~~
  82479. | d_is_dir
  82480. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  82481. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  82482. 533 | ptr = ioremap_cache_shared(phys, size);
  82483. | ^~~~~~~~~~~~~~~~~~~~
  82484. | ioremap_cache
  82485. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82486. 533 | ptr = ioremap_cache_shared(phys, size);
  82487. | ^
  82488. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82489. 556 | NV_MEMDBG_ADD(ptr, size);
  82490. | ^
  82491. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_test.o] Error 1
  82492. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  82493. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  82494. 533 | ptr = ioremap_cache_shared(phys, size);
  82495. | ^~~~~~~~~~~~~~~~~~~~
  82496. | ioremap_cache
  82497. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82498. 533 | ptr = ioremap_cache_shared(phys, size);
  82499. | ^
  82500. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82501. 556 | NV_MEMDBG_ADD(ptr, size);
  82502. | ^
  82503. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  82504. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  82505. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  82506. | ^~~~~~~~~~~~~~~~~~~~~~~
  82507. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82508. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82509. 520 | NV_MEMDBG_ADD(ptr, size);
  82510. | ^
  82511. CC [M] nvidia-uvm/uvm_pmm_sysmem_test.o
  82512. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  82513. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  82514. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  82515. | ^~~~~~~~~~~~~
  82516. | d_is_dir
  82517. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  82518. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82519. 287 | ktime_get_raw_ts64(&tm);
  82520. | ^~~
  82521. | |
  82522. | struct timespec64 *
  82523. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82524. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82525. | ~~~~~~~~~~~~~~~~~~~^~
  82526. nvidia-uvm/uvm_linux.h: At top level:
  82527. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82528. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  82529. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82530. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82531. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  82532. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82533. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  82534. 449 | #error "Unknown number of arguments"
  82535. | ^~~~~
  82536. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82537. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  82538. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82539. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82540. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  82541. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82542. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  82543. 485 | #error "Unknown number of arguments"
  82544. | ^~~~~
  82545. In file included from ././common/inc/conftest.h:28,
  82546. from ././common/inc/nv-time.h:27,
  82547. from nvidia-uvm/uvm_linux.h:37,
  82548. from nvidia-uvm/uvm_test.h:27,
  82549. from nvidia-uvm/uvm_pmm_sysmem_test.c:24:
  82550. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  82551. 74 | #error dma_buf_export() conftest failed!
  82552. | ^~~~~
  82553. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  82554. 87 | #error wait_on_bit_lock() conftest failed!
  82555. | ^~~~~
  82556. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  82557. 90 | #error radix_tree_replace_slot() conftest failed!
  82558. | ^~~~~
  82559. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  82560. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  82561. 533 | ptr = ioremap_cache_shared(phys, size);
  82562. | ^~~~~~~~~~~~~~~~~~~~
  82563. | ioremap_cache
  82564. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82565. 533 | ptr = ioremap_cache_shared(phys, size);
  82566. | ^
  82567. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82568. 556 | NV_MEMDBG_ADD(ptr, size);
  82569. | ^
  82570. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  82571. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  82572. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82573. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  82574. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82575. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82576. | ^
  82577. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82578. 573 | NV_MEMDBG_ADD(ptr, size);
  82579. | ^
  82580. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  82581. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  82582. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82583. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  82584. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82585. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82586. | ^
  82587. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82588. 573 | NV_MEMDBG_ADD(ptr, size);
  82589. | ^
  82590. ././common/inc/nv-linux.h: In function 'nv_vmap':
  82591. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82592. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  82593. | ^
  82594. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  82595. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  82596. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  82597. | ^~~~~~~~~~~~~
  82598. | d_is_dir
  82599. ././common/inc/nv-linux.h: In function 'nv_vmap':
  82600. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82601. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  82602. | ^
  82603. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  82604. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82605. 287 | ktime_get_raw_ts64(&tm);
  82606. | ^~~
  82607. | |
  82608. | struct timespec64 *
  82609. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82610. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82611. | ~~~~~~~~~~~~~~~~~~~^~
  82612. nvidia-uvm/uvm_linux.h: At top level:
  82613. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82614. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  82615. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82616. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82617. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  82618. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82619. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  82620. 449 | #error "Unknown number of arguments"
  82621. | ^~~~~
  82622. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82623. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  82624. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82625. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82626. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  82627. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82628. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  82629. 485 | #error "Unknown number of arguments"
  82630. | ^~~~~
  82631. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  82632. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  82633. 736 | return phys_to_dma(dev, pa);
  82634. | ^~~~~~~~~~~
  82635. | nv_phys_to_dma
  82636. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  82637. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  82638. 736 | return phys_to_dma(dev, pa);
  82639. | ^~~~~~~~~~~
  82640. | nv_phys_to_dma
  82641. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  82642. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82643. 287 | ktime_get_raw_ts64(&tm);
  82644. | ^~~
  82645. | |
  82646. | struct timespec64 *
  82647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82648. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82649. | ~~~~~~~~~~~~~~~~~~~^~
  82650. nvidia-uvm/uvm_linux.h: At top level:
  82651. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82652. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  82653. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82654. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82655. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  82656. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82657. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  82658. 449 | #error "Unknown number of arguments"
  82659. | ^~~~~
  82660. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82661. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  82662. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82663. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82664. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  82665. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82666. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  82667. 485 | #error "Unknown number of arguments"
  82668. | ^~~~~
  82669. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  82670. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  82671. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  82672. | ^~~~~~~~~~~~~~~~~~~~~~~
  82673. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82674. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82675. 520 | NV_MEMDBG_ADD(ptr, size);
  82676. | ^
  82677. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  82678. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  82679. 533 | ptr = ioremap_cache_shared(phys, size);
  82680. | ^~~~~~~~~~~~~~~~~~~~
  82681. | ioremap_cache
  82682. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82683. 533 | ptr = ioremap_cache_shared(phys, size);
  82684. | ^
  82685. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82686. 556 | NV_MEMDBG_ADD(ptr, size);
  82687. | ^
  82688. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  82689. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  82690. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  82691. | ^~~~~~~~~~~~~
  82692. | d_is_dir
  82693. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  82694. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  82695. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82696. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  82697. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82698. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82699. | ^
  82700. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82701. 573 | NV_MEMDBG_ADD(ptr, size);
  82702. | ^
  82703. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  82704. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  82705. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82706. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  82707. ././common/inc/nv-linux.h: In function 'nv_vmap':
  82708. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82709. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  82710. | ^
  82711. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82712. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82713. | ^
  82714. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82715. 573 | NV_MEMDBG_ADD(ptr, size);
  82716. | ^
  82717. ././common/inc/nv-linux.h: In function 'nv_vmap':
  82718. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82719. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  82720. | ^
  82721. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  82722. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  82723. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  82724. | ^~~~~~~~~~~~~
  82725. | d_is_dir
  82726. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  82727. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82728. 502 | NV_MEMDBG_ADD(ptr, size);
  82729. | ^
  82730. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  82731. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  82732. 736 | return phys_to_dma(dev, pa);
  82733. | ^~~~~~~~~~~
  82734. | nv_phys_to_dma
  82735. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  82736. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  82737. 736 | return phys_to_dma(dev, pa);
  82738. | ^~~~~~~~~~~
  82739. | nv_phys_to_dma
  82740. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  82741. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82742. 287 | ktime_get_raw_ts64(&tm);
  82743. | ^~~
  82744. | |
  82745. | struct timespec64 *
  82746. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82747. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82748. | ~~~~~~~~~~~~~~~~~~~^~
  82749. nvidia-uvm/uvm_linux.h: At top level:
  82750. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82751. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  82752. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82753. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82754. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  82755. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82756. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  82757. 449 | #error "Unknown number of arguments"
  82758. | ^~~~~
  82759. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82760. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  82761. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82762. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82763. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  82764. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82765. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  82766. 485 | #error "Unknown number of arguments"
  82767. | ^~~~~
  82768. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  82769. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82770. 287 | ktime_get_raw_ts64(&tm);
  82771. | ^~~
  82772. | |
  82773. | struct timespec64 *
  82774. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82775. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82776. | ~~~~~~~~~~~~~~~~~~~^~
  82777. nvidia-uvm/uvm_linux.h: At top level:
  82778. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82779. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  82780. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82781. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82782. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  82783. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82784. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  82785. 449 | #error "Unknown number of arguments"
  82786. | ^~~~~
  82787. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82788. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  82789. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82790. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82791. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  82792. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82793. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  82794. 485 | #error "Unknown number of arguments"
  82795. | ^~~~~
  82796. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  82797. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  82798. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82799. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  82800. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82801. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82802. | ^
  82803. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82804. 573 | NV_MEMDBG_ADD(ptr, size);
  82805. | ^
  82806. ././common/inc/nv-linux.h: In function 'nv_vmap':
  82807. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82808. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  82809. | ^
  82810. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  82811. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82812. 502 | NV_MEMDBG_ADD(ptr, size);
  82813. | ^
  82814. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  82815. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  82816. 533 | ptr = ioremap_cache_shared(phys, size);
  82817. | ^~~~~~~~~~~~~~~~~~~~
  82818. | ioremap_cache
  82819. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82820. 533 | ptr = ioremap_cache_shared(phys, size);
  82821. | ^
  82822. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82823. 556 | NV_MEMDBG_ADD(ptr, size);
  82824. | ^
  82825. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  82826. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  82827. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  82828. | ^~~~~~~~~~~~~
  82829. | d_is_dir
  82830. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  82831. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  82832. 736 | return phys_to_dma(dev, pa);
  82833. | ^~~~~~~~~~~
  82834. | nv_phys_to_dma
  82835. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  82836. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  82837. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  82838. | ^~~~~~~~~~~~~
  82839. | d_is_dir
  82840. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  82841. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82842. 287 | ktime_get_raw_ts64(&tm);
  82843. | ^~~
  82844. | |
  82845. | struct timespec64 *
  82846. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  82847. from nvidia-uvm/uvm_gpu.h:37,
  82848. from nvidia-uvm/uvm_global.h:32:
  82849. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  82850. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82851. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82852. | ~~~~~~~~~~~~~~~~~~~^~
  82853. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  82854. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  82855. | ^~~~~~~~~~~~~~~~~~~~
  82856. nvidia-uvm/uvm_linux.h: At top level:
  82857. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82858. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  82859. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82860. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82861. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  82862. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82863. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  82864. 449 | #error "Unknown number of arguments"
  82865. | ^~~~~
  82866. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82867. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  82868. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82869. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82870. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  82871. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82872. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  82873. 485 | #error "Unknown number of arguments"
  82874. | ^~~~~
  82875. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  82876. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  82877. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82878. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  82879. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82880. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  82881. | ^
  82882. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82883. 573 | NV_MEMDBG_ADD(ptr, size);
  82884. | ^
  82885. ././common/inc/nv-linux.h: In function 'nv_vmap':
  82886. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82887. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  82888. | ^
  82889. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  82890. from nvidia-uvm/uvm_gpu.h:37,
  82891. from nvidia-uvm/uvm_global.h:32,
  82892. from nvidia-uvm/uvm_va_space.h:28,
  82893. from nvidia-uvm/uvm_rm_mem_test.c:27:
  82894. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  82895. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  82896. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  82897. | ^~~~~~~~~~~~~~~~~~~~
  82898. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  82899. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  82900. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  82901. | ^~~~~~~~~~~~~
  82902. | d_is_dir
  82903. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  82904. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  82905. 736 | return phys_to_dma(dev, pa);
  82906. | ^~~~~~~~~~~
  82907. | nv_phys_to_dma
  82908. cc1: some warnings being treated as errors
  82909. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  82910. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82911. 287 | ktime_get_raw_ts64(&tm);
  82912. | ^~~
  82913. | |
  82914. | struct timespec64 *
  82915. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  82916. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  82917. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  82918. | ^~~~~~~~~~~~~~~~~~~~~~~
  82919. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82920. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82921. 520 | NV_MEMDBG_ADD(ptr, size);
  82922. | ^
  82923. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82924. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82925. | ~~~~~~~~~~~~~~~~~~~^~
  82926. nvidia-uvm/uvm_linux.h: At top level:
  82927. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82928. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  82929. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82930. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82931. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  82932. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82933. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  82934. 449 | #error "Unknown number of arguments"
  82935. | ^~~~~
  82936. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82937. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  82938. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82939. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  82940. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  82941. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  82942. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  82943. 485 | #error "Unknown number of arguments"
  82944. | ^~~~~
  82945. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_tree_test.o] Error 1
  82946. CC [M] nvidia-uvm/uvm_perf_events_test.o
  82947. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  82948. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  82949. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  82950. | ^~~~~~~~~~~~~~~~~~~~~~~
  82951. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  82952. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  82953. 520 | NV_MEMDBG_ADD(ptr, size);
  82954. | ^
  82955. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  82956. 40 | struct timespec64 {
  82957. | ^~~~~~~~~~
  82958. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  82959. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  82960. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  82961. from ././common/inc/nv-time.h:29:
  82962. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  82963. 13 | struct timespec64 {
  82964. | ^~~~~~~~~~
  82965. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  82966. 77 | static inline struct timespec64 timespec64_add
  82967. | ^~~~~~~~~~~~~~
  82968. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  82969. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  82970. | ^~~~~~~~~~~~~~
  82971. In file included from nvidia-uvm/uvm_range_allocator.h:28,
  82972. from nvidia-uvm/uvm_range_allocator_test.c:26:
  82973. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  82974. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  82975. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  82976. 95 | static inline struct timespec64 timespec64_sub
  82977. | ^~~~~~~~~~~~~~
  82978. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  82979. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  82980. | ^~~~~~~~~~~~~~
  82981. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  82982. 287 | ktime_get_raw_ts64(&tm);
  82983. | ^~~
  82984. | |
  82985. | struct timespec64 *
  82986. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  82987. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  82988. | ^~~~~~~~~~~~~~~~~~~~
  82989. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  82990. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  82991. | ^~~~~~~~~~~~~~~~
  82992. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  82993. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  82994. | ~~~~~~~~~~~~~~~~~~~^~
  82995. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  82996. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  82997. | ^~~~~~~~~~~~~~~~
  82998. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  82999. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83000. 122 | ktime_get_raw_ts64(&ts);
  83001. | ^~~
  83002. | |
  83003. | struct timespec64 *
  83004. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  83005. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  83006. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  83007. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  83008. from ././common/inc/nv-time.h:30:
  83009. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83010. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83011. | ~~~~~~~~~~~~~~~~~~~^~
  83012. nvidia-uvm/uvm_linux.h: At top level:
  83013. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83014. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  83015. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83016. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83017. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  83018. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83019. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  83020. 449 | #error "Unknown number of arguments"
  83021. | ^~~~~
  83022. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83023. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  83024. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83025. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83026. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  83027. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83028. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  83029. 485 | #error "Unknown number of arguments"
  83030. | ^~~~~
  83031. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  83032. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83033. 185 | ktime_get_raw_ts64(&tm_aux);
  83034. | ^~~~~~~
  83035. | |
  83036. | struct timespec64 *
  83037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83038. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83039. | ~~~~~~~~~~~~~~~~~~~^~
  83040. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83041. 221 | ktime_get_raw_ts64(&tm_aux);
  83042. | ^~~~~~~
  83043. | |
  83044. | struct timespec64 *
  83045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83046. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83047. | ~~~~~~~~~~~~~~~~~~~^~
  83048. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  83049. 40 | struct timespec64 {
  83050. | ^~~~~~~~~~
  83051. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  83052. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  83053. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  83054. from ././common/inc/nv-time.h:29:
  83055. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  83056. 13 | struct timespec64 {
  83057. | ^~~~~~~~~~
  83058. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  83059. 77 | static inline struct timespec64 timespec64_add
  83060. | ^~~~~~~~~~~~~~
  83061. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  83062. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  83063. | ^~~~~~~~~~~~~~
  83064. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  83065. 95 | static inline struct timespec64 timespec64_sub
  83066. | ^~~~~~~~~~~~~~
  83067. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  83068. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  83069. | ^~~~~~~~~~~~~~
  83070. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  83071. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  83072. | ^~~~~~~~~~~~~~~~
  83073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  83074. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  83075. | ^~~~~~~~~~~~~~~~
  83076. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  83077. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83078. 122 | ktime_get_raw_ts64(&ts);
  83079. | ^~~
  83080. | |
  83081. | struct timespec64 *
  83082. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  83083. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  83084. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  83085. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  83086. from ././common/inc/nv-time.h:30:
  83087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83088. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83089. | ~~~~~~~~~~~~~~~~~~~^~
  83090. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  83091. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83092. 185 | ktime_get_raw_ts64(&tm_aux);
  83093. | ^~~~~~~
  83094. | |
  83095. | struct timespec64 *
  83096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83097. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83098. | ~~~~~~~~~~~~~~~~~~~^~
  83099. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83100. 221 | ktime_get_raw_ts64(&tm_aux);
  83101. | ^~~~~~~
  83102. | |
  83103. | struct timespec64 *
  83104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83105. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83106. | ~~~~~~~~~~~~~~~~~~~^~
  83107. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  83108. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  83109. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  83110. | ^~~~~~~~~~~~~
  83111. | d_is_dir
  83112. In file included from ././common/inc/conftest.h:28,
  83113. from ././common/inc/nv-time.h:27,
  83114. from nvidia-uvm/uvm_linux.h:37,
  83115. from nvidia-uvm/uvm_perf_events.h:27,
  83116. from nvidia-uvm/uvm_perf_events_test.c:24:
  83117. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  83118. 74 | #error dma_buf_export() conftest failed!
  83119. | ^~~~~
  83120. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  83121. 87 | #error wait_on_bit_lock() conftest failed!
  83122. | ^~~~~
  83123. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  83124. 90 | #error radix_tree_replace_slot() conftest failed!
  83125. | ^~~~~
  83126. In file included from nvidia-uvm/uvm_gpu_semaphore.h:28,
  83127. from nvidia-uvm/uvm_channel.h:29,
  83128. from nvidia-uvm/uvm_push.h:29,
  83129. from nvidia-uvm/uvm_hal.h:31:
  83130. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  83131. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  83132. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  83133. | ^~~~~~~~~~~~~~~~~~~~
  83134. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  83135. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  83136. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  83137. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  83138. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  83139. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  83140. | ^
  83141. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83142. 573 | NV_MEMDBG_ADD(ptr, size);
  83143. | ^
  83144. ././common/inc/nv-linux.h: In function 'nv_vmap':
  83145. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83146. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  83147. | ^
  83148. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  83149. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  83150. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  83151. 736 | return phys_to_dma(dev, pa);
  83152. | ^~~~~~~~~~~
  83153. | nv_phys_to_dma
  83154. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83155. 287 | ktime_get_raw_ts64(&tm);
  83156. | ^~~
  83157. | |
  83158. | struct timespec64 *
  83159. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83160. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83161. | ~~~~~~~~~~~~~~~~~~~^~
  83162. nvidia-uvm/uvm_linux.h: At top level:
  83163. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83164. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  83165. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83166. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83167. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  83168. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83169. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  83170. 449 | #error "Unknown number of arguments"
  83171. | ^~~~~
  83172. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83173. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  83174. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83175. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83176. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  83177. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83178. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  83179. 485 | #error "Unknown number of arguments"
  83180. | ^~~~~
  83181. cc1: some warnings being treated as errors
  83182. In file included from ././common/inc/nv-linux.h:34,
  83183. from nvidia-uvm/uvm_linux.h:40:
  83184. ././common/inc/nv-mm.h: At top level:
  83185. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  83186. 29 | typedef int vm_fault_t;
  83187. | ^~~~~~~~~~
  83188. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  83189. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  83190. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  83191. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  83192. from ././common/inc/nv-lock.h:35,
  83193. from ././common/inc/nv-linux.h:32:
  83194. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  83195. 1311 | typedef __bitwise unsigned int vm_fault_t;
  83196. | ^~~~~~~~~~
  83197. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  83198. from ././common/inc/nv-time.h:28:
  83199. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  83200. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  83201. 52 | #define current get_current()
  83202. | ^~~~~~~~~~~~~
  83203. | |
  83204. | struct task_struct *
  83205. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  83206. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  83207. | ^~~~~~~
  83208. In file included from ././common/inc/nv-pgprot.h:30,
  83209. from ././common/inc/nv-linux.h:33:
  83210. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  83211. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83212. | ~~~~~~~~~~~~~~^~~~~
  83213. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  83214. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  83215. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  83216. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83217. | ~~~~~~~~~~~~~~^~~~~~~~
  83218. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  83219. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  83220. | ^~~~~~~~
  83221. | |
  83222. | long unsigned int
  83223. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  83224. 2535 | unsigned int gup_flags, struct page **pages);
  83225. | ~~~~~~~~~~~~~~^~~~~
  83226. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  83227. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  83228. | ^~~~~~~~~~~~~~ ~~~~~
  83229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  83230. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83231. | ^~~~~~~~~~~~~~
  83232. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  83233. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  83234. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  83235. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  83236. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  83237. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  83238. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  83239. 8 | #define NULL ((void *)0)
  83240. | ^~~~~~~~~~~
  83241. | |
  83242. | void *
  83243. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  83244. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  83245. | ^~~~
  83246. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  83247. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83248. | ~~~~~~~~~~~~~~^~~~~
  83249. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  83250. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  83251. | ^~
  83252. | |
  83253. | struct mm_struct *
  83254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  83255. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83256. | ~~~~~~~~~~~~~~^~~~~~~~
  83257. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  83258. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  83259. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  83260. | ^~~~~~~~
  83261. | |
  83262. | long unsigned int
  83263. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  83264. 533 | ptr = ioremap_cache_shared(phys, size);
  83265. | ^~~~~~~~~~~~~~~~~~~~
  83266. | ioremap_cache
  83267. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  83268. 2535 | unsigned int gup_flags, struct page **pages);
  83269. | ~~~~~~~~~~~~~~^~~~~
  83270. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  83271. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  83272. | ^~~~~~~~~~~~~~ ~~~~~
  83273. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  83274. 533 | ptr = ioremap_cache_shared(phys, size);
  83275. | ^
  83276. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  83277. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83278. | ^~~~~~~~~~~~~~
  83279. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  83280. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  83281. 237 | return (unsigned long)(vmf->virtual_address);
  83282. | ^~~~~~~~~~~~~~~
  83283. | real_address
  83284. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83285. 556 | NV_MEMDBG_ADD(ptr, size);
  83286. | ^
  83287. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  83288. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83289. 246 | down_read(&mm->mmap_sem);
  83290. | ^~~~~~~~
  83291. | mmap_base
  83292. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  83293. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83294. 255 | up_read(&mm->mmap_sem);
  83295. | ^~~~~~~~
  83296. | mmap_base
  83297. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  83298. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83299. 264 | down_write(&mm->mmap_sem);
  83300. | ^~~~~~~~
  83301. | mmap_base
  83302. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  83303. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83304. 273 | up_write(&mm->mmap_sem);
  83305. | ^~~~~~~~
  83306. | mmap_base
  83307. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  83308. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83309. 282 | return rwsem_is_locked(&mm->mmap_sem);
  83310. | ^~~~~~~~
  83311. | mmap_base
  83312. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  83313. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83314. 291 | return &mm->mmap_sem;
  83315. | ^~~~~~~~
  83316. | mmap_base
  83317. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  83318. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  83319. 300 | vma->vm_flags |= flags;
  83320. | ^~
  83321. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  83322. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  83323. 309 | vma->vm_flags &= ~flags;
  83324. | ^~
  83325. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  83326. from nvidia-uvm/uvm_gpu.h:37,
  83327. from nvidia-uvm/uvm_global.h:32:
  83328. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  83329. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  83330. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  83331. | ^~~~~~~~~~~~~~~~~~~~
  83332. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_allocator_test.o] Error 1
  83333. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  83334. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  83335. 533 | ptr = ioremap_cache_shared(phys, size);
  83336. | ^~~~~~~~~~~~~~~~~~~~
  83337. | ioremap_cache
  83338. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  83339. 533 | ptr = ioremap_cache_shared(phys, size);
  83340. | ^
  83341. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83342. 556 | NV_MEMDBG_ADD(ptr, size);
  83343. | ^
  83344. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  83345. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  83346. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  83347. | ^~~~~~~~~~~~~
  83348. | d_is_dir
  83349. CC [M] nvidia-uvm/uvm_perf_module_test.o
  83350. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  83351. 40 | struct timespec64 {
  83352. | ^~~~~~~~~~
  83353. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  83354. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  83355. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  83356. from ././common/inc/nv-time.h:29:
  83357. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  83358. 13 | struct timespec64 {
  83359. | ^~~~~~~~~~
  83360. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  83361. 77 | static inline struct timespec64 timespec64_add
  83362. | ^~~~~~~~~~~~~~
  83363. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  83364. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  83365. | ^~~~~~~~~~~~~~
  83366. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  83367. 95 | static inline struct timespec64 timespec64_sub
  83368. | ^~~~~~~~~~~~~~
  83369. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  83370. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  83371. | ^~~~~~~~~~~~~~
  83372. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  83373. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  83374. | ^~~~~~~~~~~~~~~~
  83375. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  83376. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  83377. | ^~~~~~~~~~~~~~~~
  83378. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  83379. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83380. 122 | ktime_get_raw_ts64(&ts);
  83381. | ^~~
  83382. | |
  83383. | struct timespec64 *
  83384. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  83385. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  83386. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  83387. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  83388. from ././common/inc/nv-time.h:30:
  83389. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83390. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83391. | ~~~~~~~~~~~~~~~~~~~^~
  83392. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  83393. from nvidia-uvm/uvm_gpu.h:37,
  83394. from nvidia-uvm/uvm_global.h:32:
  83395. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  83396. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  83397. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83398. 185 | ktime_get_raw_ts64(&tm_aux);
  83399. | ^~~~~~~
  83400. | |
  83401. | struct timespec64 *
  83402. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83403. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83404. | ~~~~~~~~~~~~~~~~~~~^~
  83405. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  83406. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  83407. | ^~~~~~~~~~~~~~~~~~~~
  83408. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83409. 221 | ktime_get_raw_ts64(&tm_aux);
  83410. | ^~~~~~~
  83411. | |
  83412. | struct timespec64 *
  83413. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83414. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83415. | ~~~~~~~~~~~~~~~~~~~^~
  83416. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  83417. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  83418. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  83419. | ^~~~~~~~~~~~~~~~~~~~
  83420. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  83421. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83422. 287 | ktime_get_raw_ts64(&tm);
  83423. | ^~~
  83424. | |
  83425. | struct timespec64 *
  83426. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83427. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83428. | ~~~~~~~~~~~~~~~~~~~^~
  83429. nvidia-uvm/uvm_linux.h: At top level:
  83430. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83431. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  83432. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83433. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83434. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  83435. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83436. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  83437. 449 | #error "Unknown number of arguments"
  83438. | ^~~~~
  83439. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83440. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  83441. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83442. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83443. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  83444. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83445. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  83446. 485 | #error "Unknown number of arguments"
  83447. | ^~~~~
  83448. cc1: some warnings being treated as errors
  83449. cc1: some warnings being treated as errors
  83450. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_semaphore_test.o] Error 1
  83451. CC [M] nvidia-uvm/uvm_get_rm_ptes_test.o
  83452. In file included from ././common/inc/conftest.h:28,
  83453. from ././common/inc/nv-time.h:27,
  83454. from nvidia-uvm/uvm_linux.h:37,
  83455. from nvidia-uvm/uvm_kvmalloc.h:27,
  83456. from nvidia-uvm/uvm_perf_module_test.c:24:
  83457. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  83458. 74 | #error dma_buf_export() conftest failed!
  83459. | ^~~~~
  83460. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  83461. 87 | #error wait_on_bit_lock() conftest failed!
  83462. | ^~~~~
  83463. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  83464. 90 | #error radix_tree_replace_slot() conftest failed!
  83465. | ^~~~~
  83466. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rm_mem_test.o] Error 1
  83467. CC [M] nvidia-uvm/uvm_fault_buffer_flush_test.o
  83468. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  83469. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  83470. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  83471. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  83472. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  83473. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  83474. | ^
  83475. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83476. 573 | NV_MEMDBG_ADD(ptr, size);
  83477. | ^
  83478. ././common/inc/nv-linux.h: In function 'nv_vmap':
  83479. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83480. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  83481. | ^
  83482. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  83483. from nvidia-uvm/uvm_gpu.h:37,
  83484. from nvidia-uvm/uvm_page_tree_test.c:26:
  83485. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  83486. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  83487. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  83488. | ^~~~~~~~~~~~~~~~~~~~
  83489. In file included from ././common/inc/conftest.h:28,
  83490. from ././common/inc/nv-time.h:27,
  83491. from nvidia-uvm/uvm_linux.h:37,
  83492. from nvidia-uvm/uvm_common.h:43,
  83493. from nvidia-uvm/uvm_fault_buffer_flush_test.c:24:
  83494. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  83495. 74 | #error dma_buf_export() conftest failed!
  83496. | ^~~~~
  83497. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  83498. 87 | #error wait_on_bit_lock() conftest failed!
  83499. | ^~~~~
  83500. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  83501. 90 | #error radix_tree_replace_slot() conftest failed!
  83502. | ^~~~~
  83503. In file included from ././common/inc/conftest.h:28,
  83504. from ././common/inc/nv-time.h:27,
  83505. from nvidia-uvm/uvm_linux.h:37,
  83506. from nvidia-uvm/uvm_test.h:27,
  83507. from nvidia-uvm/uvm_get_rm_ptes_test.c:23:
  83508. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  83509. 74 | #error dma_buf_export() conftest failed!
  83510. | ^~~~~
  83511. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  83512. 87 | #error wait_on_bit_lock() conftest failed!
  83513. | ^~~~~
  83514. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  83515. 90 | #error radix_tree_replace_slot() conftest failed!
  83516. | ^~~~~
  83517. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  83518. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  83519. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  83520. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  83521. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  83522. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  83523. | ^
  83524. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83525. 573 | NV_MEMDBG_ADD(ptr, size);
  83526. | ^
  83527. ././common/inc/nv-linux.h: In function 'nv_vmap':
  83528. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83529. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  83530. | ^
  83531. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  83532. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  83533. 736 | return phys_to_dma(dev, pa);
  83534. | ^~~~~~~~~~~
  83535. | nv_phys_to_dma
  83536. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  83537. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  83538. 736 | return phys_to_dma(dev, pa);
  83539. | ^~~~~~~~~~~
  83540. | nv_phys_to_dma
  83541. nvidia-uvm/uvm_channel_test.c: At top level:
  83542. nvidia-uvm/uvm_channel_test.c:687:11: warning: no previous prototype for 'test_conf_computing_channel_selection' [-Wmissing-prototypes]
  83543. 687 | NV_STATUS test_conf_computing_channel_selection(uvm_va_space_t *va_space)
  83544. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83545. nvidia-uvm/uvm_channel_test.c:749:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_noop' [-Wmissing-prototypes]
  83546. 749 | NV_STATUS test_write_ctrl_gpfifo_noop(uvm_va_space_t *va_space)
  83547. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  83548. nvidia-uvm/uvm_channel_test.c:788:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_and_pushes' [-Wmissing-prototypes]
  83549. 788 | NV_STATUS test_write_ctrl_gpfifo_and_pushes(uvm_va_space_t *va_space)
  83550. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83551. nvidia-uvm/uvm_channel_test.c:836:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_tight' [-Wmissing-prototypes]
  83552. 836 | NV_STATUS test_write_ctrl_gpfifo_tight(uvm_va_space_t *va_space)
  83553. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83554. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  83555. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  83556. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  83557. | ^~~~~~~~~~~~~~~~~~~~
  83558. cc1: some warnings being treated as errors
  83559. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  83560. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  83561. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  83562. | ^~~~~~~~~~~~~
  83563. | d_is_dir
  83564. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  83565. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  83566. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  83567. | ^~~~~~~~~~~~~
  83568. | d_is_dir
  83569. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mem_test.o] Error 1
  83570. CC [M] nvidia-uvm/uvm_peer_identity_mappings_test.o
  83571. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  83572. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83573. 287 | ktime_get_raw_ts64(&tm);
  83574. | ^~~
  83575. | |
  83576. | struct timespec64 *
  83577. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83578. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83579. | ~~~~~~~~~~~~~~~~~~~^~
  83580. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  83581. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83582. 287 | ktime_get_raw_ts64(&tm);
  83583. | ^~~
  83584. | |
  83585. | struct timespec64 *
  83586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83587. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83588. | ~~~~~~~~~~~~~~~~~~~^~
  83589. nvidia-uvm/uvm_linux.h: At top level:
  83590. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83591. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  83592. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83593. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83594. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  83595. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83596. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  83597. 449 | #error "Unknown number of arguments"
  83598. | ^~~~~
  83599. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83600. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  83601. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83602. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83603. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  83604. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83605. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  83606. 485 | #error "Unknown number of arguments"
  83607. | ^~~~~
  83608. nvidia-uvm/uvm_linux.h: At top level:
  83609. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83610. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  83611. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83612. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83613. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  83614. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83615. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  83616. 449 | #error "Unknown number of arguments"
  83617. | ^~~~~
  83618. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83619. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  83620. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83621. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  83622. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  83623. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83624. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  83625. 485 | #error "Unknown number of arguments"
  83626. | ^~~~~
  83627. cc1: some warnings being treated as errors
  83628. In file included from ././common/inc/conftest.h:28,
  83629. from ././common/inc/nv-time.h:27,
  83630. from nvidia-uvm/uvm_linux.h:37,
  83631. from nvidia-uvm/uvm_test.h:27,
  83632. from nvidia-uvm/uvm_peer_identity_mappings_test.c:24:
  83633. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  83634. 74 | #error dma_buf_export() conftest failed!
  83635. | ^~~~~
  83636. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  83637. 87 | #error wait_on_bit_lock() conftest failed!
  83638. | ^~~~~
  83639. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  83640. 90 | #error radix_tree_replace_slot() conftest failed!
  83641. | ^~~~~
  83642. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_channel_test.o] Error 1
  83643. CC [M] nvidia-uvm/uvm_va_block_test.o
  83644. cc1: some warnings being treated as errors
  83645. In file included from ././common/inc/conftest.h:28,
  83646. from ././common/inc/nv-time.h:27,
  83647. from nvidia-uvm/uvm_linux.h:37,
  83648. from nvidia-uvm/uvm_common.h:43,
  83649. from nvidia-uvm/uvm_va_block_test.c:24:
  83650. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  83651. 74 | #error dma_buf_export() conftest failed!
  83652. | ^~~~~
  83653. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  83654. 87 | #error wait_on_bit_lock() conftest failed!
  83655. | ^~~~~
  83656. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  83657. 90 | #error radix_tree_replace_slot() conftest failed!
  83658. | ^~~~~
  83659. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_push_test.o] Error 1
  83660. CC [M] nvidia-uvm/uvm_range_group_tree_test.o
  83661. cc1: some warnings being treated as errors
  83662. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  83663. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83664. 502 | NV_MEMDBG_ADD(ptr, size);
  83665. | ^
  83666. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tracker_test.o] Error 1
  83667. CC [M] nvidia-uvm/uvm_thread_context_test.o
  83668. In file included from ././common/inc/conftest.h:28,
  83669. from ././common/inc/nv-time.h:27,
  83670. from nvidia-uvm/uvm_linux.h:37,
  83671. from nvidia-uvm/uvm_test.h:27,
  83672. from nvidia-uvm/uvm_range_group_tree_test.c:24:
  83673. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  83674. 74 | #error dma_buf_export() conftest failed!
  83675. | ^~~~~
  83676. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  83677. 87 | #error wait_on_bit_lock() conftest failed!
  83678. | ^~~~~
  83679. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  83680. 90 | #error radix_tree_replace_slot() conftest failed!
  83681. | ^~~~~
  83682. In file included from nvidia-uvm/uvm_lock_test.c:25:
  83683. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  83684. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  83685. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  83686. | ^~~~~~~~~~~~~~~~~~~~
  83687. nvidia-uvm/uvm_page_tree_test.c: At top level:
  83688. nvidia-uvm/uvm_page_tree_test.c:1514:8: warning: no previous prototype for 'get_page_sizes' [-Wmissing-prototypes]
  83689. 1514 | size_t get_page_sizes(uvm_gpu_t *gpu, NvU32 *page_sizes)
  83690. | ^~~~~~~~~~~~~~
  83691. In file included from ././common/inc/conftest.h:28,
  83692. from ././common/inc/nv-time.h:27,
  83693. from nvidia-uvm/uvm_linux.h:37,
  83694. from nvidia-uvm/uvm_common.h:43,
  83695. from nvidia-uvm/uvm_api.h:28,
  83696. from nvidia-uvm/uvm_thread_context_test.c:23:
  83697. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  83698. 74 | #error dma_buf_export() conftest failed!
  83699. | ^~~~~
  83700. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  83701. 40 | struct timespec64 {
  83702. | ^~~~~~~~~~
  83703. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  83704. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  83705. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  83706. from ././common/inc/nv-time.h:29:
  83707. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  83708. 13 | struct timespec64 {
  83709. | ^~~~~~~~~~
  83710. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  83711. 77 | static inline struct timespec64 timespec64_add
  83712. | ^~~~~~~~~~~~~~
  83713. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  83714. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  83715. | ^~~~~~~~~~~~~~
  83716. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  83717. 95 | static inline struct timespec64 timespec64_sub
  83718. | ^~~~~~~~~~~~~~
  83719. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  83720. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  83721. | ^~~~~~~~~~~~~~
  83722. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  83723. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  83724. | ^~~~~~~~~~~~~~~~
  83725. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  83726. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  83727. | ^~~~~~~~~~~~~~~~
  83728. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  83729. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83730. 122 | ktime_get_raw_ts64(&ts);
  83731. | ^~~
  83732. | |
  83733. | struct timespec64 *
  83734. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  83735. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  83736. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  83737. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  83738. from ././common/inc/nv-time.h:30:
  83739. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83740. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83741. | ~~~~~~~~~~~~~~~~~~~^~
  83742. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  83743. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83744. 185 | ktime_get_raw_ts64(&tm_aux);
  83745. | ^~~~~~~
  83746. | |
  83747. | struct timespec64 *
  83748. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83749. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83750. | ~~~~~~~~~~~~~~~~~~~^~
  83751. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83752. 221 | ktime_get_raw_ts64(&tm_aux);
  83753. | ^~~~~~~
  83754. | |
  83755. | struct timespec64 *
  83756. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83757. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83758. | ~~~~~~~~~~~~~~~~~~~^~
  83759. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  83760. 87 | #error wait_on_bit_lock() conftest failed!
  83761. | ^~~~~
  83762. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  83763. 90 | #error radix_tree_replace_slot() conftest failed!
  83764. | ^~~~~
  83765. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  83766. from nvidia-uvm/uvm_gpu.h:37,
  83767. from nvidia-uvm/uvm_global.h:32:
  83768. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  83769. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  83770. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  83771. | ^~~~~~~~~~~~~~~~~~~~
  83772. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  83773. 40 | struct timespec64 {
  83774. | ^~~~~~~~~~
  83775. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  83776. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  83777. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  83778. from ././common/inc/nv-time.h:29:
  83779. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  83780. 13 | struct timespec64 {
  83781. | ^~~~~~~~~~
  83782. In file included from ././common/inc/nv-linux.h:34,
  83783. from nvidia-uvm/uvm_linux.h:40:
  83784. ././common/inc/nv-mm.h: At top level:
  83785. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  83786. 29 | typedef int vm_fault_t;
  83787. | ^~~~~~~~~~
  83788. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  83789. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  83790. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  83791. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  83792. from ././common/inc/nv-lock.h:35,
  83793. from ././common/inc/nv-linux.h:32:
  83794. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  83795. 1311 | typedef __bitwise unsigned int vm_fault_t;
  83796. | ^~~~~~~~~~
  83797. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  83798. from ././common/inc/nv-time.h:28:
  83799. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  83800. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  83801. 52 | #define current get_current()
  83802. | ^~~~~~~~~~~~~
  83803. | |
  83804. | struct task_struct *
  83805. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  83806. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  83807. | ^~~~~~~
  83808. In file included from ././common/inc/nv-pgprot.h:30,
  83809. from ././common/inc/nv-linux.h:33:
  83810. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  83811. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83812. | ~~~~~~~~~~~~~~^~~~~
  83813. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  83814. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  83815. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  83816. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83817. | ~~~~~~~~~~~~~~^~~~~~~~
  83818. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  83819. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  83820. | ^~~~~~~~
  83821. | |
  83822. | long unsigned int
  83823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  83824. 2535 | unsigned int gup_flags, struct page **pages);
  83825. | ~~~~~~~~~~~~~~^~~~~
  83826. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  83827. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  83828. | ^~~~~~~~~~~~~~ ~~~~~
  83829. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  83830. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83831. | ^~~~~~~~~~~~~~
  83832. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  83833. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  83834. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  83835. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  83836. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  83837. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  83838. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  83839. 8 | #define NULL ((void *)0)
  83840. | ^~~~~~~~~~~
  83841. | |
  83842. | void *
  83843. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  83844. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  83845. | ^~~~
  83846. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  83847. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83848. | ~~~~~~~~~~~~~~^~~~~
  83849. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  83850. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  83851. | ^~
  83852. | |
  83853. | struct mm_struct *
  83854. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  83855. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83856. | ~~~~~~~~~~~~~~^~~~~~~~
  83857. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  83858. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  83859. | ^~~~~~~~
  83860. | |
  83861. | long unsigned int
  83862. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  83863. 2535 | unsigned int gup_flags, struct page **pages);
  83864. | ~~~~~~~~~~~~~~^~~~~
  83865. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  83866. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  83867. | ^~~~~~~~~~~~~~ ~~~~~
  83868. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  83869. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  83870. | ^~~~~~~~~~~~~~
  83871. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  83872. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  83873. 237 | return (unsigned long)(vmf->virtual_address);
  83874. | ^~~~~~~~~~~~~~~
  83875. | real_address
  83876. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  83877. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83878. 246 | down_read(&mm->mmap_sem);
  83879. | ^~~~~~~~
  83880. | mmap_base
  83881. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  83882. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83883. 255 | up_read(&mm->mmap_sem);
  83884. | ^~~~~~~~
  83885. | mmap_base
  83886. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  83887. 77 | static inline struct timespec64 timespec64_add
  83888. | ^~~~~~~~~~~~~~
  83889. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  83890. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  83891. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  83892. | ^~~~~~~~~~~~~~
  83893. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83894. 264 | down_write(&mm->mmap_sem);
  83895. | ^~~~~~~~
  83896. | mmap_base
  83897. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  83898. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83899. 273 | up_write(&mm->mmap_sem);
  83900. | ^~~~~~~~
  83901. | mmap_base
  83902. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  83903. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83904. 282 | return rwsem_is_locked(&mm->mmap_sem);
  83905. | ^~~~~~~~
  83906. | mmap_base
  83907. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  83908. 95 | static inline struct timespec64 timespec64_sub
  83909. | ^~~~~~~~~~~~~~
  83910. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  83911. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  83912. | ^~~~~~~~~~~~~~
  83913. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  83914. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  83915. 291 | return &mm->mmap_sem;
  83916. | ^~~~~~~~
  83917. | mmap_base
  83918. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  83919. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  83920. 300 | vma->vm_flags |= flags;
  83921. | ^~
  83922. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  83923. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  83924. | ^~~~~~~~~~~~~~~~
  83925. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  83926. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  83927. | ^~~~~~~~~~~~~~~~
  83928. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  83929. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  83930. 309 | vma->vm_flags &= ~flags;
  83931. | ^~
  83932. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  83933. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83934. 122 | ktime_get_raw_ts64(&ts);
  83935. | ^~~
  83936. | |
  83937. | struct timespec64 *
  83938. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  83939. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  83940. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  83941. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  83942. from ././common/inc/nv-time.h:30:
  83943. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83944. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83945. | ~~~~~~~~~~~~~~~~~~~^~
  83946. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  83947. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83948. 185 | ktime_get_raw_ts64(&tm_aux);
  83949. | ^~~~~~~
  83950. | |
  83951. | struct timespec64 *
  83952. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83953. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83954. | ~~~~~~~~~~~~~~~~~~~^~
  83955. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  83956. 221 | ktime_get_raw_ts64(&tm_aux);
  83957. | ^~~~~~~
  83958. | |
  83959. | struct timespec64 *
  83960. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  83961. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  83962. | ~~~~~~~~~~~~~~~~~~~^~
  83963. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  83964. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  83965. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  83966. | ^~~~~~~~~~~~~~~~~~~~~~~
  83967. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  83968. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  83969. 520 | NV_MEMDBG_ADD(ptr, size);
  83970. | ^
  83971. In file included from ././common/inc/nv-linux.h:34,
  83972. from nvidia-uvm/uvm_linux.h:40:
  83973. ././common/inc/nv-mm.h: At top level:
  83974. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  83975. 29 | typedef int vm_fault_t;
  83976. | ^~~~~~~~~~
  83977. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  83978. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  83979. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  83980. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  83981. from ././common/inc/nv-lock.h:35,
  83982. from ././common/inc/nv-linux.h:32:
  83983. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  83984. 1311 | typedef __bitwise unsigned int vm_fault_t;
  83985. | ^~~~~~~~~~
  83986. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  83987. from ././common/inc/nv-time.h:28:
  83988. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  83989. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  83990. 52 | #define current get_current()
  83991. | ^~~~~~~~~~~~~
  83992. | |
  83993. | struct task_struct *
  83994. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  83995. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  83996. | ^~~~~~~
  83997. In file included from ././common/inc/nv-pgprot.h:30,
  83998. from ././common/inc/nv-linux.h:33:
  83999. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  84000. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84001. | ~~~~~~~~~~~~~~^~~~~
  84002. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84003. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  84005. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84006. | ~~~~~~~~~~~~~~^~~~~~~~
  84007. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  84008. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84009. | ^~~~~~~~
  84010. | |
  84011. | long unsigned int
  84012. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  84013. 2535 | unsigned int gup_flags, struct page **pages);
  84014. | ~~~~~~~~~~~~~~^~~~~
  84015. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  84016. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84017. | ^~~~~~~~~~~~~~ ~~~~~
  84018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  84019. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84020. | ^~~~~~~~~~~~~~
  84021. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  84022. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  84023. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  84024. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  84025. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  84026. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  84027. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84028. 8 | #define NULL ((void *)0)
  84029. | ^~~~~~~~~~~
  84030. | |
  84031. | void *
  84032. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  84033. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84034. | ^~~~
  84035. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  84036. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84037. | ~~~~~~~~~~~~~~^~~~~
  84038. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84039. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84040. | ^~
  84041. | |
  84042. | struct mm_struct *
  84043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  84044. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84045. | ~~~~~~~~~~~~~~^~~~~~~~
  84046. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  84047. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84048. | ^~~~~~~~
  84049. | |
  84050. | long unsigned int
  84051. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  84052. 2535 | unsigned int gup_flags, struct page **pages);
  84053. | ~~~~~~~~~~~~~~^~~~~
  84054. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  84055. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84056. | ^~~~~~~~~~~~~~ ~~~~~
  84057. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  84058. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84059. | ^~~~~~~~~~~~~~
  84060. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  84061. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  84062. 237 | return (unsigned long)(vmf->virtual_address);
  84063. | ^~~~~~~~~~~~~~~
  84064. | real_address
  84065. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  84066. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84067. 246 | down_read(&mm->mmap_sem);
  84068. | ^~~~~~~~
  84069. | mmap_base
  84070. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  84071. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84072. 255 | up_read(&mm->mmap_sem);
  84073. | ^~~~~~~~
  84074. | mmap_base
  84075. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  84076. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84077. 264 | down_write(&mm->mmap_sem);
  84078. | ^~~~~~~~
  84079. | mmap_base
  84080. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  84081. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84082. 273 | up_write(&mm->mmap_sem);
  84083. | ^~~~~~~~
  84084. | mmap_base
  84085. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  84086. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84087. 282 | return rwsem_is_locked(&mm->mmap_sem);
  84088. | ^~~~~~~~
  84089. | mmap_base
  84090. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  84091. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84092. 291 | return &mm->mmap_sem;
  84093. | ^~~~~~~~
  84094. | mmap_base
  84095. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  84096. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  84097. 300 | vma->vm_flags |= flags;
  84098. | ^~
  84099. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  84100. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  84101. 309 | vma->vm_flags &= ~flags;
  84102. | ^~
  84103. cc1: some warnings being treated as errors
  84104. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  84105. 40 | struct timespec64 {
  84106. | ^~~~~~~~~~
  84107. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  84108. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  84109. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  84110. from ././common/inc/nv-time.h:29:
  84111. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  84112. 13 | struct timespec64 {
  84113. | ^~~~~~~~~~
  84114. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84115. 77 | static inline struct timespec64 timespec64_add
  84116. | ^~~~~~~~~~~~~~
  84117. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84118. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  84119. | ^~~~~~~~~~~~~~
  84120. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84121. 95 | static inline struct timespec64 timespec64_sub
  84122. | ^~~~~~~~~~~~~~
  84123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84124. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  84125. | ^~~~~~~~~~~~~~
  84126. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  84127. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  84128. | ^~~~~~~~~~~~~~~~
  84129. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  84130. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  84131. | ^~~~~~~~~~~~~~~~
  84132. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  84133. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84134. 122 | ktime_get_raw_ts64(&ts);
  84135. | ^~~
  84136. | |
  84137. | struct timespec64 *
  84138. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  84139. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  84140. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  84141. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  84142. from ././common/inc/nv-time.h:30:
  84143. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84144. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84145. | ~~~~~~~~~~~~~~~~~~~^~
  84146. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  84147. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84148. 185 | ktime_get_raw_ts64(&tm_aux);
  84149. | ^~~~~~~
  84150. | |
  84151. | struct timespec64 *
  84152. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84153. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84154. | ~~~~~~~~~~~~~~~~~~~^~
  84155. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84156. 221 | ktime_get_raw_ts64(&tm_aux);
  84157. | ^~~~~~~
  84158. | |
  84159. | struct timespec64 *
  84160. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84161. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84162. | ~~~~~~~~~~~~~~~~~~~^~
  84163. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ce_test.o] Error 1
  84164. CC [M] nvidia-uvm/uvm_rb_tree_test.o
  84165. In file included from ././common/inc/nv-linux.h:34,
  84166. from nvidia-uvm/uvm_linux.h:40:
  84167. ././common/inc/nv-mm.h: At top level:
  84168. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  84169. 29 | typedef int vm_fault_t;
  84170. | ^~~~~~~~~~
  84171. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  84172. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  84173. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  84174. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  84175. from ././common/inc/nv-lock.h:35,
  84176. from ././common/inc/nv-linux.h:32:
  84177. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  84178. 1311 | typedef __bitwise unsigned int vm_fault_t;
  84179. | ^~~~~~~~~~
  84180. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  84181. from ././common/inc/nv-time.h:28:
  84182. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  84183. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84184. 52 | #define current get_current()
  84185. | ^~~~~~~~~~~~~
  84186. | |
  84187. | struct task_struct *
  84188. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  84189. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84190. | ^~~~~~~
  84191. In file included from ././common/inc/nv-pgprot.h:30,
  84192. from ././common/inc/nv-linux.h:33:
  84193. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  84194. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84195. | ~~~~~~~~~~~~~~^~~~~
  84196. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84197. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84198. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  84199. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84200. | ~~~~~~~~~~~~~~^~~~~~~~
  84201. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  84202. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84203. | ^~~~~~~~
  84204. | |
  84205. | long unsigned int
  84206. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  84207. 2535 | unsigned int gup_flags, struct page **pages);
  84208. | ~~~~~~~~~~~~~~^~~~~
  84209. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  84210. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84211. | ^~~~~~~~~~~~~~ ~~~~~
  84212. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  84213. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84214. | ^~~~~~~~~~~~~~
  84215. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  84216. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  84217. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  84218. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  84219. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  84220. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  84221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84222. 8 | #define NULL ((void *)0)
  84223. | ^~~~~~~~~~~
  84224. | |
  84225. | void *
  84226. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  84227. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84228. | ^~~~
  84229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  84230. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84231. | ~~~~~~~~~~~~~~^~~~~
  84232. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84233. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84234. | ^~
  84235. | |
  84236. | struct mm_struct *
  84237. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  84238. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84239. | ~~~~~~~~~~~~~~^~~~~~~~
  84240. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  84241. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84242. | ^~~~~~~~
  84243. | |
  84244. | long unsigned int
  84245. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  84246. 2535 | unsigned int gup_flags, struct page **pages);
  84247. | ~~~~~~~~~~~~~~^~~~~
  84248. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  84249. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84250. | ^~~~~~~~~~~~~~ ~~~~~
  84251. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  84252. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84253. | ^~~~~~~~~~~~~~
  84254. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  84255. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  84256. 237 | return (unsigned long)(vmf->virtual_address);
  84257. | ^~~~~~~~~~~~~~~
  84258. | real_address
  84259. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  84260. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84261. 246 | down_read(&mm->mmap_sem);
  84262. | ^~~~~~~~
  84263. | mmap_base
  84264. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  84265. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84266. 255 | up_read(&mm->mmap_sem);
  84267. | ^~~~~~~~
  84268. | mmap_base
  84269. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  84270. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84271. 264 | down_write(&mm->mmap_sem);
  84272. | ^~~~~~~~
  84273. | mmap_base
  84274. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  84275. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84276. 273 | up_write(&mm->mmap_sem);
  84277. | ^~~~~~~~
  84278. | mmap_base
  84279. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  84280. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84281. 282 | return rwsem_is_locked(&mm->mmap_sem);
  84282. | ^~~~~~~~
  84283. | mmap_base
  84284. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  84285. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84286. 291 | return &mm->mmap_sem;
  84287. | ^~~~~~~~
  84288. | mmap_base
  84289. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  84290. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  84291. 300 | vma->vm_flags |= flags;
  84292. | ^~
  84293. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  84294. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  84295. 309 | vma->vm_flags &= ~flags;
  84296. | ^~
  84297. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  84298. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  84299. 533 | ptr = ioremap_cache_shared(phys, size);
  84300. | ^~~~~~~~~~~~~~~~~~~~
  84301. | ioremap_cache
  84302. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  84303. 533 | ptr = ioremap_cache_shared(phys, size);
  84304. | ^
  84305. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  84306. 556 | NV_MEMDBG_ADD(ptr, size);
  84307. | ^
  84308. In file included from ././common/inc/conftest.h:28,
  84309. from ././common/inc/nv-time.h:27,
  84310. from nvidia-uvm/uvm_linux.h:37,
  84311. from nvidia-uvm/uvm_common.h:43,
  84312. from nvidia-uvm/uvm_rb_tree_test.c:24:
  84313. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  84314. 74 | #error dma_buf_export() conftest failed!
  84315. | ^~~~~
  84316. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  84317. 87 | #error wait_on_bit_lock() conftest failed!
  84318. | ^~~~~
  84319. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  84320. 90 | #error radix_tree_replace_slot() conftest failed!
  84321. | ^~~~~
  84322. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  84323. 40 | struct timespec64 {
  84324. | ^~~~~~~~~~
  84325. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  84326. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  84327. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  84328. from ././common/inc/nv-time.h:29:
  84329. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  84330. 13 | struct timespec64 {
  84331. | ^~~~~~~~~~
  84332. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84333. 77 | static inline struct timespec64 timespec64_add
  84334. | ^~~~~~~~~~~~~~
  84335. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84336. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  84337. | ^~~~~~~~~~~~~~
  84338. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84339. 95 | static inline struct timespec64 timespec64_sub
  84340. | ^~~~~~~~~~~~~~
  84341. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84342. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  84343. | ^~~~~~~~~~~~~~
  84344. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  84345. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  84346. | ^~~~~~~~~~~~~~~~
  84347. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  84348. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  84349. | ^~~~~~~~~~~~~~~~
  84350. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  84351. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84352. 122 | ktime_get_raw_ts64(&ts);
  84353. | ^~~
  84354. | |
  84355. | struct timespec64 *
  84356. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  84357. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  84358. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  84359. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  84360. from ././common/inc/nv-time.h:30:
  84361. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84362. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84363. | ~~~~~~~~~~~~~~~~~~~^~
  84364. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  84365. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84366. 185 | ktime_get_raw_ts64(&tm_aux);
  84367. | ^~~~~~~
  84368. | |
  84369. | struct timespec64 *
  84370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84371. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84372. | ~~~~~~~~~~~~~~~~~~~^~
  84373. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84374. 221 | ktime_get_raw_ts64(&tm_aux);
  84375. | ^~~~~~~
  84376. | |
  84377. | struct timespec64 *
  84378. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84379. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84380. | ~~~~~~~~~~~~~~~~~~~^~
  84381. cc1: some warnings being treated as errors
  84382. cc1: some warnings being treated as errors
  84383. cc1: some warnings being treated as errors
  84384. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_lock_test.o] Error 1
  84385. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_page_tree_test.o] Error 1
  84386. CC [M] nvidia-modeset/nvidia-modeset-linux.o
  84387. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_host_test.o] Error 1
  84388. CC [M] nvidia-modeset/nv-kthread-q.o
  84389. CC [M] nvidia-drm/nvidia-drm.o
  84390. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  84391. 40 | struct timespec64 {
  84392. | ^~~~~~~~~~
  84393. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  84394. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  84395. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  84396. from ././common/inc/nv-time.h:29:
  84397. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  84398. 13 | struct timespec64 {
  84399. | ^~~~~~~~~~
  84400. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84401. 77 | static inline struct timespec64 timespec64_add
  84402. | ^~~~~~~~~~~~~~
  84403. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84404. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  84405. | ^~~~~~~~~~~~~~
  84406. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84407. 95 | static inline struct timespec64 timespec64_sub
  84408. | ^~~~~~~~~~~~~~
  84409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84410. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  84411. | ^~~~~~~~~~~~~~
  84412. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  84413. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  84414. | ^~~~~~~~~~~~~~~~
  84415. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  84416. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  84417. | ^~~~~~~~~~~~~~~~
  84418. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  84419. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84420. 122 | ktime_get_raw_ts64(&ts);
  84421. | ^~~
  84422. | |
  84423. | struct timespec64 *
  84424. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  84425. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  84426. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  84427. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  84428. from ././common/inc/nv-time.h:30:
  84429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84430. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84431. | ~~~~~~~~~~~~~~~~~~~^~
  84432. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  84433. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84434. 185 | ktime_get_raw_ts64(&tm_aux);
  84435. | ^~~~~~~
  84436. | |
  84437. | struct timespec64 *
  84438. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84439. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84440. | ~~~~~~~~~~~~~~~~~~~^~
  84441. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84442. 221 | ktime_get_raw_ts64(&tm_aux);
  84443. | ^~~~~~~
  84444. | |
  84445. | struct timespec64 *
  84446. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84447. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84448. | ~~~~~~~~~~~~~~~~~~~^~
  84449. In file included from ././common/inc/conftest.h:28,
  84450. from nvidia-drm/nvidia-drm-conftest.h:26,
  84451. from nvidia-drm/nvidia-drm.h:26,
  84452. from nvidia-drm/nvidia-drm.c:23:
  84453. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  84454. 74 | #error dma_buf_export() conftest failed!
  84455. | ^~~~~
  84456. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  84457. 87 | #error wait_on_bit_lock() conftest failed!
  84458. | ^~~~~
  84459. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  84460. 90 | #error radix_tree_replace_slot() conftest failed!
  84461. | ^~~~~
  84462. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  84463. 40 | struct timespec64 {
  84464. | ^~~~~~~~~~
  84465. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  84466. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  84467. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  84468. from ././common/inc/nv-time.h:29:
  84469. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  84470. 13 | struct timespec64 {
  84471. | ^~~~~~~~~~
  84472. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84473. 77 | static inline struct timespec64 timespec64_add
  84474. | ^~~~~~~~~~~~~~
  84475. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84476. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  84477. | ^~~~~~~~~~~~~~
  84478. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84479. 95 | static inline struct timespec64 timespec64_sub
  84480. | ^~~~~~~~~~~~~~
  84481. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84482. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  84483. | ^~~~~~~~~~~~~~
  84484. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  84485. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  84486. | ^~~~~~~~~~~~~~~~
  84487. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  84488. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  84489. | ^~~~~~~~~~~~~~~~
  84490. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  84491. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84492. 122 | ktime_get_raw_ts64(&ts);
  84493. | ^~~
  84494. | |
  84495. | struct timespec64 *
  84496. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  84497. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  84498. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  84499. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  84500. from ././common/inc/nv-time.h:30:
  84501. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84502. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84503. | ~~~~~~~~~~~~~~~~~~~^~
  84504. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  84505. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84506. 185 | ktime_get_raw_ts64(&tm_aux);
  84507. | ^~~~~~~
  84508. | |
  84509. | struct timespec64 *
  84510. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84511. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84512. | ~~~~~~~~~~~~~~~~~~~^~
  84513. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84514. 221 | ktime_get_raw_ts64(&tm_aux);
  84515. | ^~~~~~~
  84516. | |
  84517. | struct timespec64 *
  84518. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84519. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84520. | ~~~~~~~~~~~~~~~~~~~^~
  84521. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm.o] Error 1
  84522. CC [M] nvidia-drm/nvidia-drm-drv.o
  84523. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  84524. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  84525. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  84526. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  84527. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  84528. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  84529. | ^
  84530. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  84531. 573 | NV_MEMDBG_ADD(ptr, size);
  84532. | ^
  84533. ././common/inc/nv-linux.h: In function 'nv_vmap':
  84534. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  84535. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  84536. | ^
  84537. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  84538. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  84539. 736 | return phys_to_dma(dev, pa);
  84540. | ^~~~~~~~~~~
  84541. | nv_phys_to_dma
  84542. In file included from ././common/inc/conftest.h:28,
  84543. from nvidia-drm/nvidia-drm-conftest.h:26,
  84544. from nvidia-drm/nvidia-drm-drv.c:23:
  84545. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  84546. 74 | #error dma_buf_export() conftest failed!
  84547. | ^~~~~
  84548. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  84549. 87 | #error wait_on_bit_lock() conftest failed!
  84550. | ^~~~~
  84551. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  84552. 90 | #error radix_tree_replace_slot() conftest failed!
  84553. | ^~~~~
  84554. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-drv.o] Error 1
  84555. CC [M] nvidia-drm/nvidia-drm-utils.o
  84556. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  84557. 40 | struct timespec64 {
  84558. | ^~~~~~~~~~
  84559. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  84560. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  84561. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  84562. from ././common/inc/nv-time.h:29:
  84563. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  84564. 13 | struct timespec64 {
  84565. | ^~~~~~~~~~
  84566. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84567. 77 | static inline struct timespec64 timespec64_add
  84568. | ^~~~~~~~~~~~~~
  84569. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84570. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  84571. | ^~~~~~~~~~~~~~
  84572. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84573. 95 | static inline struct timespec64 timespec64_sub
  84574. | ^~~~~~~~~~~~~~
  84575. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84576. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  84577. | ^~~~~~~~~~~~~~
  84578. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  84579. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  84580. | ^~~~~~~~~~~~~~~~
  84581. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  84582. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  84583. | ^~~~~~~~~~~~~~~~
  84584. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  84585. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84586. 122 | ktime_get_raw_ts64(&ts);
  84587. | ^~~
  84588. | |
  84589. | struct timespec64 *
  84590. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  84591. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  84592. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  84593. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  84594. from ././common/inc/nv-time.h:30:
  84595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84596. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84597. | ~~~~~~~~~~~~~~~~~~~^~
  84598. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  84599. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84600. 185 | ktime_get_raw_ts64(&tm_aux);
  84601. | ^~~~~~~
  84602. | |
  84603. | struct timespec64 *
  84604. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84605. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84606. | ~~~~~~~~~~~~~~~~~~~^~
  84607. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84608. 221 | ktime_get_raw_ts64(&tm_aux);
  84609. | ^~~~~~~
  84610. | |
  84611. | struct timespec64 *
  84612. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84613. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84614. | ~~~~~~~~~~~~~~~~~~~^~
  84615. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  84616. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  84617. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  84618. | ^~~~~~~~~~~~~
  84619. | d_is_dir
  84620. In file included from ././common/inc/conftest.h:28,
  84621. from nvidia-drm/nvidia-drm-conftest.h:26,
  84622. from nvidia-drm/nvidia-drm-utils.c:23:
  84623. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  84624. 74 | #error dma_buf_export() conftest failed!
  84625. | ^~~~~
  84626. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  84627. 87 | #error wait_on_bit_lock() conftest failed!
  84628. | ^~~~~
  84629. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  84630. 90 | #error radix_tree_replace_slot() conftest failed!
  84631. | ^~~~~
  84632. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-utils.o] Error 1
  84633. CC [M] nvidia-drm/nvidia-drm-crtc.o
  84634. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  84635. 40 | struct timespec64 {
  84636. | ^~~~~~~~~~
  84637. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  84638. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84639. 287 | ktime_get_raw_ts64(&tm);
  84640. | ^~~
  84641. | |
  84642. | struct timespec64 *
  84643. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  84644. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  84645. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  84646. from ././common/inc/nv-time.h:29:
  84647. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  84648. 13 | struct timespec64 {
  84649. | ^~~~~~~~~~
  84650. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84651. 77 | static inline struct timespec64 timespec64_add
  84652. | ^~~~~~~~~~~~~~
  84653. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84654. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  84655. | ^~~~~~~~~~~~~~
  84656. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  84657. 95 | static inline struct timespec64 timespec64_sub
  84658. | ^~~~~~~~~~~~~~
  84659. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  84660. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  84661. | ^~~~~~~~~~~~~~
  84662. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  84663. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  84664. | ^~~~~~~~~~~~~~~~
  84665. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  84666. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  84667. | ^~~~~~~~~~~~~~~~
  84668. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  84669. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84670. 122 | ktime_get_raw_ts64(&ts);
  84671. | ^~~
  84672. | |
  84673. | struct timespec64 *
  84674. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  84675. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  84676. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  84677. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  84678. from ././common/inc/nv-time.h:30:
  84679. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84680. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84681. | ~~~~~~~~~~~~~~~~~~~^~
  84682. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  84683. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84684. 185 | ktime_get_raw_ts64(&tm_aux);
  84685. | ^~~~~~~
  84686. | |
  84687. | struct timespec64 *
  84688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84689. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84690. | ~~~~~~~~~~~~~~~~~~~^~
  84691. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  84692. 221 | ktime_get_raw_ts64(&tm_aux);
  84693. | ^~~~~~~
  84694. | |
  84695. | struct timespec64 *
  84696. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84697. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84698. | ~~~~~~~~~~~~~~~~~~~^~
  84699. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  84700. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  84701. | ~~~~~~~~~~~~~~~~~~~^~
  84702. nvidia-uvm/uvm_linux.h: At top level:
  84703. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  84704. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  84705. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  84706. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  84707. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  84708. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  84709. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  84710. 449 | #error "Unknown number of arguments"
  84711. | ^~~~~
  84712. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  84713. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  84714. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  84715. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  84716. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  84717. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  84718. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  84719. 485 | #error "Unknown number of arguments"
  84720. | ^~~~~
  84721. In file included from ././common/inc/conftest.h:28,
  84722. from nvidia-drm/nvidia-drm-conftest.h:26,
  84723. from nvidia-drm/nvidia-drm-crtc.c:23:
  84724. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  84725. 74 | #error dma_buf_export() conftest failed!
  84726. | ^~~~~
  84727. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  84728. 87 | #error wait_on_bit_lock() conftest failed!
  84729. | ^~~~~
  84730. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  84731. 90 | #error radix_tree_replace_slot() conftest failed!
  84732. | ^~~~~
  84733. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-crtc.o] Error 1
  84734. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  84735. CC [M] nvidia-drm/nvidia-drm-encoder.o
  84736. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  84737. 502 | NV_MEMDBG_ADD(ptr, size);
  84738. | ^
  84739. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  84740. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  84741. 502 | NV_MEMDBG_ADD(ptr, size);
  84742. | ^
  84743. In file included from ././common/inc/conftest.h:28,
  84744. from nvidia-drm/nvidia-drm-conftest.h:26,
  84745. from nvidia-drm/nvidia-drm-encoder.c:23:
  84746. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  84747. 74 | #error dma_buf_export() conftest failed!
  84748. | ^~~~~
  84749. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  84750. 87 | #error wait_on_bit_lock() conftest failed!
  84751. | ^~~~~
  84752. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  84753. 90 | #error radix_tree_replace_slot() conftest failed!
  84754. | ^~~~~
  84755. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-encoder.o] Error 1
  84756. CC [M] nvidia-drm/nvidia-drm-connector.o
  84757. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  84758. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  84759. 502 | NV_MEMDBG_ADD(ptr, size);
  84760. | ^
  84761. In file included from ././common/inc/conftest.h:28,
  84762. from nvidia-drm/nvidia-drm-conftest.h:26,
  84763. from nvidia-drm/nvidia-drm-connector.c:23:
  84764. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  84765. 74 | #error dma_buf_export() conftest failed!
  84766. | ^~~~~
  84767. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  84768. 87 | #error wait_on_bit_lock() conftest failed!
  84769. | ^~~~~
  84770. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  84771. 90 | #error radix_tree_replace_slot() conftest failed!
  84772. | ^~~~~
  84773. In file included from ././common/inc/nv-linux.h:34,
  84774. from nvidia-uvm/uvm_linux.h:40:
  84775. ././common/inc/nv-mm.h: At top level:
  84776. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  84777. 29 | typedef int vm_fault_t;
  84778. | ^~~~~~~~~~
  84779. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  84780. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  84781. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  84782. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  84783. from ././common/inc/nv-lock.h:35,
  84784. from ././common/inc/nv-linux.h:32:
  84785. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  84786. 1311 | typedef __bitwise unsigned int vm_fault_t;
  84787. | ^~~~~~~~~~
  84788. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  84789. from ././common/inc/nv-time.h:28:
  84790. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  84791. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84792. 52 | #define current get_current()
  84793. | ^~~~~~~~~~~~~
  84794. | |
  84795. | struct task_struct *
  84796. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  84797. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84798. | ^~~~~~~
  84799. In file included from ././common/inc/nv-pgprot.h:30,
  84800. from ././common/inc/nv-linux.h:33:
  84801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  84802. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84803. | ~~~~~~~~~~~~~~^~~~~
  84804. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84805. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84806. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  84807. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84808. | ~~~~~~~~~~~~~~^~~~~~~~
  84809. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  84810. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84811. | ^~~~~~~~
  84812. | |
  84813. | long unsigned int
  84814. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  84815. 2535 | unsigned int gup_flags, struct page **pages);
  84816. | ~~~~~~~~~~~~~~^~~~~
  84817. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  84818. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84819. | ^~~~~~~~~~~~~~ ~~~~~
  84820. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  84821. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84822. | ^~~~~~~~~~~~~~
  84823. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  84824. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  84825. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  84826. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  84827. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  84828. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  84829. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84830. 8 | #define NULL ((void *)0)
  84831. | ^~~~~~~~~~~
  84832. | |
  84833. | void *
  84834. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  84835. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84836. | ^~~~
  84837. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  84838. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84839. | ~~~~~~~~~~~~~~^~~~~
  84840. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84841. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84842. | ^~
  84843. | |
  84844. | struct mm_struct *
  84845. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  84846. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84847. | ~~~~~~~~~~~~~~^~~~~~~~
  84848. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  84849. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84850. | ^~~~~~~~
  84851. | |
  84852. | long unsigned int
  84853. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  84854. 2535 | unsigned int gup_flags, struct page **pages);
  84855. | ~~~~~~~~~~~~~~^~~~~
  84856. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  84857. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84858. | ^~~~~~~~~~~~~~ ~~~~~
  84859. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  84860. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84861. | ^~~~~~~~~~~~~~
  84862. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  84863. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  84864. 237 | return (unsigned long)(vmf->virtual_address);
  84865. | ^~~~~~~~~~~~~~~
  84866. | real_address
  84867. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  84868. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84869. 246 | down_read(&mm->mmap_sem);
  84870. | ^~~~~~~~
  84871. | mmap_base
  84872. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  84873. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84874. 255 | up_read(&mm->mmap_sem);
  84875. | ^~~~~~~~
  84876. | mmap_base
  84877. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  84878. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84879. 264 | down_write(&mm->mmap_sem);
  84880. | ^~~~~~~~
  84881. | mmap_base
  84882. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  84883. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84884. 273 | up_write(&mm->mmap_sem);
  84885. | ^~~~~~~~
  84886. | mmap_base
  84887. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  84888. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84889. 282 | return rwsem_is_locked(&mm->mmap_sem);
  84890. | ^~~~~~~~
  84891. | mmap_base
  84892. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  84893. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  84894. 291 | return &mm->mmap_sem;
  84895. | ^~~~~~~~
  84896. | mmap_base
  84897. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  84898. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  84899. 300 | vma->vm_flags |= flags;
  84900. | ^~
  84901. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  84902. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  84903. 309 | vma->vm_flags &= ~flags;
  84904. | ^~
  84905. In file included from ././common/inc/nv-linux.h:34,
  84906. from nvidia-uvm/uvm_linux.h:40:
  84907. ././common/inc/nv-mm.h: At top level:
  84908. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  84909. 29 | typedef int vm_fault_t;
  84910. | ^~~~~~~~~~
  84911. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  84912. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  84913. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  84914. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  84915. from ././common/inc/nv-lock.h:35,
  84916. from ././common/inc/nv-linux.h:32:
  84917. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  84918. 1311 | typedef __bitwise unsigned int vm_fault_t;
  84919. | ^~~~~~~~~~
  84920. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  84921. from ././common/inc/nv-time.h:28:
  84922. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  84923. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84924. 52 | #define current get_current()
  84925. | ^~~~~~~~~~~~~
  84926. | |
  84927. | struct task_struct *
  84928. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  84929. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84930. | ^~~~~~~
  84931. In file included from ././common/inc/nv-pgprot.h:30,
  84932. from ././common/inc/nv-linux.h:33:
  84933. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  84934. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84935. | ~~~~~~~~~~~~~~^~~~~
  84936. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84937. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84938. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  84939. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84940. | ~~~~~~~~~~~~~~^~~~~~~~
  84941. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  84942. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84943. | ^~~~~~~~
  84944. | |
  84945. | long unsigned int
  84946. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  84947. 2535 | unsigned int gup_flags, struct page **pages);
  84948. | ~~~~~~~~~~~~~~^~~~~
  84949. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  84950. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  84951. | ^~~~~~~~~~~~~~ ~~~~~
  84952. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  84953. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84954. | ^~~~~~~~~~~~~~
  84955. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  84956. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  84957. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  84958. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  84959. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  84960. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  84961. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84962. 8 | #define NULL ((void *)0)
  84963. | ^~~~~~~~~~~
  84964. | |
  84965. | void *
  84966. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  84967. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84968. | ^~~~
  84969. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  84970. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84971. | ~~~~~~~~~~~~~~^~~~~
  84972. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  84973. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84974. | ^~
  84975. | |
  84976. | struct mm_struct *
  84977. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  84978. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84979. | ~~~~~~~~~~~~~~^~~~~~~~
  84980. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  84981. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84982. | ^~~~~~~~
  84983. | |
  84984. | long unsigned int
  84985. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  84986. 2535 | unsigned int gup_flags, struct page **pages);
  84987. | ~~~~~~~~~~~~~~^~~~~
  84988. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  84989. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  84990. | ^~~~~~~~~~~~~~ ~~~~~
  84991. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  84992. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  84993. | ^~~~~~~~~~~~~~
  84994. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  84995. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  84996. 237 | return (unsigned long)(vmf->virtual_address);
  84997. | ^~~~~~~~~~~~~~~
  84998. | real_address
  84999. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  85000. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85001. 246 | down_read(&mm->mmap_sem);
  85002. | ^~~~~~~~
  85003. | mmap_base
  85004. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  85005. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85006. 255 | up_read(&mm->mmap_sem);
  85007. | ^~~~~~~~
  85008. | mmap_base
  85009. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  85010. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85011. 264 | down_write(&mm->mmap_sem);
  85012. | ^~~~~~~~
  85013. | mmap_base
  85014. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  85015. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85016. 273 | up_write(&mm->mmap_sem);
  85017. | ^~~~~~~~
  85018. | mmap_base
  85019. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-connector.o] Error 1
  85020. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  85021. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85022. 282 | return rwsem_is_locked(&mm->mmap_sem);
  85023. | ^~~~~~~~
  85024. | mmap_base
  85025. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  85026. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85027. 291 | return &mm->mmap_sem;
  85028. | ^~~~~~~~
  85029. | mmap_base
  85030. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  85031. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  85032. 300 | vma->vm_flags |= flags;
  85033. | ^~
  85034. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  85035. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  85036. 309 | vma->vm_flags &= ~flags;
  85037. | ^~
  85038. CC [M] nvidia-drm/nvidia-drm-gem.o
  85039. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  85040. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  85041. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  85042. | ^~~~~~~~~~~~~~~~~~~~~~~
  85043. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  85044. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85045. 520 | NV_MEMDBG_ADD(ptr, size);
  85046. | ^
  85047. In file included from ././common/inc/nv-linux.h:34,
  85048. from nvidia-uvm/uvm_linux.h:40:
  85049. ././common/inc/nv-mm.h: At top level:
  85050. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  85051. 29 | typedef int vm_fault_t;
  85052. | ^~~~~~~~~~
  85053. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  85054. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  85055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  85056. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  85057. from ././common/inc/nv-lock.h:35,
  85058. from ././common/inc/nv-linux.h:32:
  85059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  85060. 1311 | typedef __bitwise unsigned int vm_fault_t;
  85061. | ^~~~~~~~~~
  85062. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  85063. from ././common/inc/nv-time.h:28:
  85064. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  85065. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85066. 52 | #define current get_current()
  85067. | ^~~~~~~~~~~~~
  85068. | |
  85069. | struct task_struct *
  85070. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  85071. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85072. | ^~~~~~~
  85073. In file included from ././common/inc/nv-pgprot.h:30,
  85074. from ././common/inc/nv-linux.h:33:
  85075. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  85076. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85077. | ~~~~~~~~~~~~~~^~~~~
  85078. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85079. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85081. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85082. | ~~~~~~~~~~~~~~^~~~~~~~
  85083. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85084. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85085. | ^~~~~~~~
  85086. | |
  85087. | long unsigned int
  85088. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85089. 2535 | unsigned int gup_flags, struct page **pages);
  85090. | ~~~~~~~~~~~~~~^~~~~
  85091. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85092. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85093. | ^~~~~~~~~~~~~~ ~~~~~
  85094. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85095. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85096. | ^~~~~~~~~~~~~~
  85097. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  85098. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  85099. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  85100. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  85101. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  85102. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  85103. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85104. 8 | #define NULL ((void *)0)
  85105. | ^~~~~~~~~~~
  85106. | |
  85107. | void *
  85108. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  85109. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85110. | ^~~~
  85111. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  85112. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85113. | ~~~~~~~~~~~~~~^~~~~
  85114. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85115. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85116. | ^~
  85117. | |
  85118. | struct mm_struct *
  85119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85120. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85121. | ~~~~~~~~~~~~~~^~~~~~~~
  85122. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85123. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85124. | ^~~~~~~~
  85125. | |
  85126. | long unsigned int
  85127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85128. 2535 | unsigned int gup_flags, struct page **pages);
  85129. | ~~~~~~~~~~~~~~^~~~~
  85130. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85131. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85132. | ^~~~~~~~~~~~~~ ~~~~~
  85133. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85134. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85135. | ^~~~~~~~~~~~~~
  85136. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  85137. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  85138. 237 | return (unsigned long)(vmf->virtual_address);
  85139. | ^~~~~~~~~~~~~~~
  85140. | real_address
  85141. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  85142. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85143. 246 | down_read(&mm->mmap_sem);
  85144. | ^~~~~~~~
  85145. | mmap_base
  85146. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  85147. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85148. 255 | up_read(&mm->mmap_sem);
  85149. | ^~~~~~~~
  85150. | mmap_base
  85151. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  85152. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85153. 264 | down_write(&mm->mmap_sem);
  85154. | ^~~~~~~~
  85155. | mmap_base
  85156. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  85157. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85158. 273 | up_write(&mm->mmap_sem);
  85159. | ^~~~~~~~
  85160. | mmap_base
  85161. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  85162. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85163. 282 | return rwsem_is_locked(&mm->mmap_sem);
  85164. | ^~~~~~~~
  85165. | mmap_base
  85166. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  85167. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85168. 291 | return &mm->mmap_sem;
  85169. | ^~~~~~~~
  85170. | mmap_base
  85171. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  85172. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  85173. 300 | vma->vm_flags |= flags;
  85174. | ^~
  85175. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  85176. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  85177. 309 | vma->vm_flags &= ~flags;
  85178. | ^~
  85179. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  85180. 40 | struct timespec64 {
  85181. | ^~~~~~~~~~
  85182. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  85183. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  85184. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14,
  85185. from ././common/inc/nv-time.h:29:
  85186. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  85187. 13 | struct timespec64 {
  85188. | ^~~~~~~~~~
  85189. In file included from nvidia-uvm/uvm_perf_events.h:31,
  85190. from nvidia-uvm/uvm_perf_module.h:29,
  85191. from nvidia-uvm/uvm_va_block.h:32,
  85192. from nvidia-uvm/uvm_perf_utils_test.c:25:
  85193. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  85194. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  85195. 77 | static inline struct timespec64 timespec64_add
  85196. | ^~~~~~~~~~~~~~
  85197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  85198. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  85199. | ^~~~~~~~~~~~~~
  85200. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  85201. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  85202. | ^~~~~~~~~~~~~~~~~~~~
  85203. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  85204. 95 | static inline struct timespec64 timespec64_sub
  85205. | ^~~~~~~~~~~~~~
  85206. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  85207. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  85208. | ^~~~~~~~~~~~~~
  85209. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  85210. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  85211. | ^~~~~~~~~~~~~~~~
  85212. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  85213. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  85214. | ^~~~~~~~~~~~~~~~
  85215. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  85216. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  85217. 122 | ktime_get_raw_ts64(&ts);
  85218. | ^~~
  85219. | |
  85220. | struct timespec64 *
  85221. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  85222. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  85223. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  85224. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13,
  85225. from ././common/inc/nv-time.h:30:
  85226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  85227. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  85228. | ~~~~~~~~~~~~~~~~~~~^~
  85229. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  85230. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  85231. 185 | ktime_get_raw_ts64(&tm_aux);
  85232. | ^~~~~~~
  85233. | |
  85234. | struct timespec64 *
  85235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  85236. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  85237. | ~~~~~~~~~~~~~~~~~~~^~
  85238. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  85239. 221 | ktime_get_raw_ts64(&tm_aux);
  85240. | ^~~~~~~
  85241. | |
  85242. | struct timespec64 *
  85243. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  85244. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  85245. | ~~~~~~~~~~~~~~~~~~~^~
  85246. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  85247. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  85248. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  85249. | ^~~~~~~~~~~~~~~~~~~~~~~
  85250. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  85251. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85252. 520 | NV_MEMDBG_ADD(ptr, size);
  85253. | ^
  85254. In file included from ././common/inc/conftest.h:28,
  85255. from ././common/inc/nv-kthread-q.h:33,
  85256. from nvidia-modeset/nv-kthread-q.c:24:
  85257. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  85258. 74 | #error dma_buf_export() conftest failed!
  85259. | ^~~~~
  85260. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  85261. 87 | #error wait_on_bit_lock() conftest failed!
  85262. | ^~~~~
  85263. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  85264. 90 | #error radix_tree_replace_slot() conftest failed!
  85265. | ^~~~~
  85266. In file included from ././common/inc/conftest.h:28,
  85267. from nvidia-drm/nvidia-drm-conftest.h:26,
  85268. from nvidia-drm/nvidia-drm-gem.c:23:
  85269. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  85270. 74 | #error dma_buf_export() conftest failed!
  85271. | ^~~~~
  85272. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  85273. 87 | #error wait_on_bit_lock() conftest failed!
  85274. | ^~~~~
  85275. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  85276. 90 | #error radix_tree_replace_slot() conftest failed!
  85277. | ^~~~~
  85278. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  85279. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  85280. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  85281. | ^~~~~~~~~~~~~~~~~~~~~~~
  85282. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  85283. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85284. 520 | NV_MEMDBG_ADD(ptr, size);
  85285. | ^
  85286. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem.o] Error 1
  85287. CC [M] nvidia-drm/nvidia-drm-fb.o
  85288. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  85289. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  85290. 533 | ptr = ioremap_cache_shared(phys, size);
  85291. | ^~~~~~~~~~~~~~~~~~~~
  85292. | ioremap_cache
  85293. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  85294. 533 | ptr = ioremap_cache_shared(phys, size);
  85295. | ^
  85296. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85297. 556 | NV_MEMDBG_ADD(ptr, size);
  85298. | ^
  85299. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  85300. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  85301. 533 | ptr = ioremap_cache_shared(phys, size);
  85302. | ^~~~~~~~~~~~~~~~~~~~
  85303. | ioremap_cache
  85304. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  85305. 533 | ptr = ioremap_cache_shared(phys, size);
  85306. | ^
  85307. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85308. 556 | NV_MEMDBG_ADD(ptr, size);
  85309. | ^
  85310. In file included from ././common/inc/conftest.h:28,
  85311. from nvidia-drm/nvidia-drm-conftest.h:26,
  85312. from nvidia-drm/nvidia-drm-fb.c:23:
  85313. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  85314. 74 | #error dma_buf_export() conftest failed!
  85315. | ^~~~~
  85316. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  85317. 87 | #error wait_on_bit_lock() conftest failed!
  85318. | ^~~~~
  85319. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  85320. 90 | #error radix_tree_replace_slot() conftest failed!
  85321. | ^~~~~
  85322. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-fb.o] Error 1
  85323. CC [M] nvidia-drm/nvidia-drm-modeset.o
  85324. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  85325. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  85326. 533 | ptr = ioremap_cache_shared(phys, size);
  85327. | ^~~~~~~~~~~~~~~~~~~~
  85328. | ioremap_cache
  85329. In file included from ././common/inc/nv-linux.h:34,
  85330. from nvidia-uvm/uvm_linux.h:40:
  85331. ././common/inc/nv-mm.h: At top level:
  85332. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  85333. 29 | typedef int vm_fault_t;
  85334. | ^~~~~~~~~~
  85335. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  85336. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  85337. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  85338. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  85339. from ././common/inc/nv-lock.h:35,
  85340. from ././common/inc/nv-linux.h:32:
  85341. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  85342. 1311 | typedef __bitwise unsigned int vm_fault_t;
  85343. | ^~~~~~~~~~
  85344. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  85345. from ././common/inc/nv-time.h:28:
  85346. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  85347. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85348. 52 | #define current get_current()
  85349. | ^~~~~~~~~~~~~
  85350. | |
  85351. | struct task_struct *
  85352. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  85353. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85354. | ^~~~~~~
  85355. In file included from ././common/inc/nv-pgprot.h:30,
  85356. from ././common/inc/nv-linux.h:33:
  85357. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  85358. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85359. | ~~~~~~~~~~~~~~^~~~~
  85360. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85361. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85362. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85363. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85364. | ~~~~~~~~~~~~~~^~~~~~~~
  85365. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85366. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85367. | ^~~~~~~~
  85368. | |
  85369. | long unsigned int
  85370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85371. 2535 | unsigned int gup_flags, struct page **pages);
  85372. | ~~~~~~~~~~~~~~^~~~~
  85373. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85374. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85375. | ^~~~~~~~~~~~~~ ~~~~~
  85376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85377. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85378. | ^~~~~~~~~~~~~~
  85379. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  85380. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  85381. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  85382. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  85383. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  85384. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  85385. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85386. 8 | #define NULL ((void *)0)
  85387. | ^~~~~~~~~~~
  85388. | |
  85389. | void *
  85390. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  85391. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85392. | ^~~~
  85393. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  85394. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85395. | ~~~~~~~~~~~~~~^~~~~
  85396. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85397. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85398. | ^~
  85399. | |
  85400. | struct mm_struct *
  85401. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85402. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85403. | ~~~~~~~~~~~~~~^~~~~~~~
  85404. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85405. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85406. | ^~~~~~~~
  85407. | |
  85408. | long unsigned int
  85409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85410. 2535 | unsigned int gup_flags, struct page **pages);
  85411. | ~~~~~~~~~~~~~~^~~~~
  85412. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85413. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85414. | ^~~~~~~~~~~~~~ ~~~~~
  85415. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85416. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85417. | ^~~~~~~~~~~~~~
  85418. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  85419. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  85420. 237 | return (unsigned long)(vmf->virtual_address);
  85421. | ^~~~~~~~~~~~~~~
  85422. | real_address
  85423. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  85424. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  85425. 533 | ptr = ioremap_cache_shared(phys, size);
  85426. | ^
  85427. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85428. 246 | down_read(&mm->mmap_sem);
  85429. | ^~~~~~~~
  85430. | mmap_base
  85431. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  85432. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85433. 556 | NV_MEMDBG_ADD(ptr, size);
  85434. | ^
  85435. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85436. 255 | up_read(&mm->mmap_sem);
  85437. | ^~~~~~~~
  85438. | mmap_base
  85439. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  85440. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85441. 264 | down_write(&mm->mmap_sem);
  85442. | ^~~~~~~~
  85443. | mmap_base
  85444. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  85445. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85446. 273 | up_write(&mm->mmap_sem);
  85447. | ^~~~~~~~
  85448. | mmap_base
  85449. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  85450. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85451. 282 | return rwsem_is_locked(&mm->mmap_sem);
  85452. | ^~~~~~~~
  85453. | mmap_base
  85454. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  85455. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85456. 291 | return &mm->mmap_sem;
  85457. | ^~~~~~~~
  85458. | mmap_base
  85459. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  85460. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  85461. 300 | vma->vm_flags |= flags;
  85462. | ^~
  85463. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  85464. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  85465. 309 | vma->vm_flags &= ~flags;
  85466. | ^~
  85467. In file included from ././common/inc/conftest.h:28,
  85468. from nvidia-drm/nvidia-drm-conftest.h:26,
  85469. from nvidia-drm/nvidia-drm-modeset.c:23:
  85470. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  85471. 74 | #error dma_buf_export() conftest failed!
  85472. | ^~~~~
  85473. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  85474. 87 | #error wait_on_bit_lock() conftest failed!
  85475. | ^~~~~
  85476. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  85477. 90 | #error radix_tree_replace_slot() conftest failed!
  85478. | ^~~~~
  85479. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-modeset.o] Error 1
  85480. CC [M] nvidia-drm/nvidia-drm-fence.o
  85481. In file included from ././common/inc/nv-linux.h:34,
  85482. from nvidia-uvm/uvm_linux.h:40:
  85483. ././common/inc/nv-mm.h: At top level:
  85484. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  85485. 29 | typedef int vm_fault_t;
  85486. | ^~~~~~~~~~
  85487. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  85488. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  85489. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  85490. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  85491. from ././common/inc/nv-lock.h:35,
  85492. from ././common/inc/nv-linux.h:32:
  85493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  85494. 1311 | typedef __bitwise unsigned int vm_fault_t;
  85495. | ^~~~~~~~~~
  85496. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  85497. from ././common/inc/nv-time.h:28:
  85498. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  85499. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85500. 52 | #define current get_current()
  85501. | ^~~~~~~~~~~~~
  85502. | |
  85503. | struct task_struct *
  85504. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  85505. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85506. | ^~~~~~~
  85507. In file included from ././common/inc/nv-pgprot.h:30,
  85508. from ././common/inc/nv-linux.h:33:
  85509. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  85510. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85511. | ~~~~~~~~~~~~~~^~~~~
  85512. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85513. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85515. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85516. | ~~~~~~~~~~~~~~^~~~~~~~
  85517. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85518. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85519. | ^~~~~~~~
  85520. | |
  85521. | long unsigned int
  85522. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85523. 2535 | unsigned int gup_flags, struct page **pages);
  85524. | ~~~~~~~~~~~~~~^~~~~
  85525. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85526. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85527. | ^~~~~~~~~~~~~~ ~~~~~
  85528. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85529. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85530. | ^~~~~~~~~~~~~~
  85531. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  85532. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  85533. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  85534. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  85535. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  85536. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  85537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85538. 8 | #define NULL ((void *)0)
  85539. | ^~~~~~~~~~~
  85540. | |
  85541. | void *
  85542. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  85543. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85544. | ^~~~
  85545. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  85546. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85547. | ~~~~~~~~~~~~~~^~~~~
  85548. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85549. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85550. | ^~
  85551. | |
  85552. | struct mm_struct *
  85553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85554. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85555. | ~~~~~~~~~~~~~~^~~~~~~~
  85556. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85557. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85558. | ^~~~~~~~
  85559. | |
  85560. | long unsigned int
  85561. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85562. 2535 | unsigned int gup_flags, struct page **pages);
  85563. | ~~~~~~~~~~~~~~^~~~~
  85564. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85565. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85566. | ^~~~~~~~~~~~~~ ~~~~~
  85567. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85568. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85569. | ^~~~~~~~~~~~~~
  85570. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  85571. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  85572. 237 | return (unsigned long)(vmf->virtual_address);
  85573. | ^~~~~~~~~~~~~~~
  85574. | real_address
  85575. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  85576. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85577. 246 | down_read(&mm->mmap_sem);
  85578. | ^~~~~~~~
  85579. | mmap_base
  85580. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  85581. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85582. 255 | up_read(&mm->mmap_sem);
  85583. | ^~~~~~~~
  85584. | mmap_base
  85585. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  85586. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85587. 264 | down_write(&mm->mmap_sem);
  85588. | ^~~~~~~~
  85589. | mmap_base
  85590. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  85591. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85592. 273 | up_write(&mm->mmap_sem);
  85593. | ^~~~~~~~
  85594. | mmap_base
  85595. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  85596. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85597. 282 | return rwsem_is_locked(&mm->mmap_sem);
  85598. | ^~~~~~~~
  85599. | mmap_base
  85600. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  85601. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85602. 291 | return &mm->mmap_sem;
  85603. | ^~~~~~~~
  85604. | mmap_base
  85605. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  85606. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  85607. 300 | vma->vm_flags |= flags;
  85608. | ^~
  85609. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  85610. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  85611. 309 | vma->vm_flags &= ~flags;
  85612. | ^~
  85613. In file included from ././common/inc/conftest.h:28,
  85614. from nvidia-drm/nvidia-drm-conftest.h:26,
  85615. from nvidia-drm/nvidia-drm-fence.c:23:
  85616. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  85617. 74 | #error dma_buf_export() conftest failed!
  85618. | ^~~~~
  85619. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  85620. 87 | #error wait_on_bit_lock() conftest failed!
  85621. | ^~~~~
  85622. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  85623. 90 | #error radix_tree_replace_slot() conftest failed!
  85624. | ^~~~~
  85625. In file included from ././common/inc/nv-linux.h:34,
  85626. from nvidia-uvm/uvm_linux.h:40:
  85627. ././common/inc/nv-mm.h: At top level:
  85628. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  85629. 29 | typedef int vm_fault_t;
  85630. | ^~~~~~~~~~
  85631. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  85632. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  85633. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  85634. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  85635. from ././common/inc/nv-lock.h:35,
  85636. from ././common/inc/nv-linux.h:32:
  85637. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  85638. 1311 | typedef __bitwise unsigned int vm_fault_t;
  85639. | ^~~~~~~~~~
  85640. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  85641. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  85642. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  85643. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  85644. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  85645. from ././common/inc/nv-time.h:28:
  85646. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  85647. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  85648. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  85649. | ^
  85650. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85651. 52 | #define current get_current()
  85652. | ^~~~~~~~~~~~~
  85653. | |
  85654. | struct task_struct *
  85655. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  85656. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85657. | ^~~~~~~
  85658. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85659. 573 | NV_MEMDBG_ADD(ptr, size);
  85660. | ^
  85661. In file included from ././common/inc/nv-pgprot.h:30,
  85662. from ././common/inc/nv-linux.h:33:
  85663. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  85664. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85665. | ~~~~~~~~~~~~~~^~~~~
  85666. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85667. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85669. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85670. | ~~~~~~~~~~~~~~^~~~~~~~
  85671. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85672. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85673. | ^~~~~~~~
  85674. | |
  85675. | long unsigned int
  85676. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85677. 2535 | unsigned int gup_flags, struct page **pages);
  85678. | ~~~~~~~~~~~~~~^~~~~
  85679. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85680. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85681. | ^~~~~~~~~~~~~~ ~~~~~
  85682. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85683. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85684. | ^~~~~~~~~~~~~~
  85685. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  85686. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  85687. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  85688. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  85689. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  85690. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  85691. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85692. 8 | #define NULL ((void *)0)
  85693. | ^~~~~~~~~~~
  85694. | |
  85695. | void *
  85696. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  85697. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85698. | ^~~~
  85699. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  85700. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85701. | ~~~~~~~~~~~~~~^~~~~
  85702. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85703. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85704. | ^~
  85705. | |
  85706. | struct mm_struct *
  85707. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85708. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85709. | ~~~~~~~~~~~~~~^~~~~~~~
  85710. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85711. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85712. | ^~~~~~~~
  85713. | |
  85714. | long unsigned int
  85715. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85716. 2535 | unsigned int gup_flags, struct page **pages);
  85717. | ~~~~~~~~~~~~~~^~~~~
  85718. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85719. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85720. | ^~~~~~~~~~~~~~ ~~~~~
  85721. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85722. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85723. | ^~~~~~~~~~~~~~
  85724. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  85725. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  85726. 237 | return (unsigned long)(vmf->virtual_address);
  85727. | ^~~~~~~~~~~~~~~
  85728. | real_address
  85729. ././common/inc/nv-linux.h: In function 'nv_vmap':
  85730. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85731. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  85732. | ^
  85733. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  85734. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85735. 246 | down_read(&mm->mmap_sem);
  85736. | ^~~~~~~~
  85737. | mmap_base
  85738. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  85739. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85740. 255 | up_read(&mm->mmap_sem);
  85741. | ^~~~~~~~
  85742. | mmap_base
  85743. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  85744. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85745. 264 | down_write(&mm->mmap_sem);
  85746. | ^~~~~~~~
  85747. | mmap_base
  85748. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  85749. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85750. 273 | up_write(&mm->mmap_sem);
  85751. | ^~~~~~~~
  85752. | mmap_base
  85753. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  85754. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85755. 282 | return rwsem_is_locked(&mm->mmap_sem);
  85756. | ^~~~~~~~
  85757. | mmap_base
  85758. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  85759. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85760. 291 | return &mm->mmap_sem;
  85761. | ^~~~~~~~
  85762. | mmap_base
  85763. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  85764. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  85765. 300 | vma->vm_flags |= flags;
  85766. | ^~
  85767. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  85768. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  85769. 309 | vma->vm_flags &= ~flags;
  85770. | ^~
  85771. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-fence.o] Error 1
  85772. CC [M] nvidia-drm/nvidia-drm-linux.o
  85773. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  85774. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  85775. 736 | return phys_to_dma(dev, pa);
  85776. | ^~~~~~~~~~~
  85777. | nv_phys_to_dma
  85778. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  85779. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  85780. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  85781. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  85782. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  85783. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  85784. | ^
  85785. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85786. 573 | NV_MEMDBG_ADD(ptr, size);
  85787. | ^
  85788. In file included from ././common/inc/nv-linux.h:34,
  85789. from nvidia-uvm/uvm_linux.h:40:
  85790. ././common/inc/nv-mm.h: At top level:
  85791. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  85792. 29 | typedef int vm_fault_t;
  85793. | ^~~~~~~~~~
  85794. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  85795. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  85796. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  85797. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  85798. from ././common/inc/nv-lock.h:35,
  85799. from ././common/inc/nv-linux.h:32:
  85800. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  85801. 1311 | typedef __bitwise unsigned int vm_fault_t;
  85802. | ^~~~~~~~~~
  85803. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  85804. from ././common/inc/nv-time.h:28:
  85805. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  85806. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85807. 52 | #define current get_current()
  85808. | ^~~~~~~~~~~~~
  85809. | |
  85810. | struct task_struct *
  85811. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  85812. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85813. | ^~~~~~~
  85814. In file included from ././common/inc/nv-pgprot.h:30,
  85815. from ././common/inc/nv-linux.h:33:
  85816. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  85817. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85818. | ~~~~~~~~~~~~~~^~~~~
  85819. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85820. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85821. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85822. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85823. | ~~~~~~~~~~~~~~^~~~~~~~
  85824. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85825. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85826. | ^~~~~~~~
  85827. | |
  85828. | long unsigned int
  85829. ././common/inc/nv-linux.h: In function 'nv_vmap':
  85830. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85831. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  85832. | ^
  85833. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85834. 2535 | unsigned int gup_flags, struct page **pages);
  85835. | ~~~~~~~~~~~~~~^~~~~
  85836. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85837. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85838. | ^~~~~~~~~~~~~~ ~~~~~
  85839. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85840. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85841. | ^~~~~~~~~~~~~~
  85842. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  85843. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  85844. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  85845. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  85846. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  85847. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  85848. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85849. 8 | #define NULL ((void *)0)
  85850. | ^~~~~~~~~~~
  85851. | |
  85852. | void *
  85853. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  85854. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85855. | ^~~~
  85856. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  85857. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85858. | ~~~~~~~~~~~~~~^~~~~
  85859. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85860. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85861. | ^~
  85862. | |
  85863. | struct mm_struct *
  85864. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85865. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85866. | ~~~~~~~~~~~~~~^~~~~~~~
  85867. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85868. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85869. | ^~~~~~~~
  85870. | |
  85871. | long unsigned int
  85872. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85873. 2535 | unsigned int gup_flags, struct page **pages);
  85874. | ~~~~~~~~~~~~~~^~~~~
  85875. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85876. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  85877. | ^~~~~~~~~~~~~~ ~~~~~
  85878. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85879. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85880. | ^~~~~~~~~~~~~~
  85881. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  85882. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  85883. 237 | return (unsigned long)(vmf->virtual_address);
  85884. | ^~~~~~~~~~~~~~~
  85885. | real_address
  85886. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  85887. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85888. 246 | down_read(&mm->mmap_sem);
  85889. | ^~~~~~~~
  85890. | mmap_base
  85891. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  85892. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85893. 255 | up_read(&mm->mmap_sem);
  85894. | ^~~~~~~~
  85895. | mmap_base
  85896. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  85897. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85898. 264 | down_write(&mm->mmap_sem);
  85899. | ^~~~~~~~
  85900. | mmap_base
  85901. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  85902. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85903. 273 | up_write(&mm->mmap_sem);
  85904. | ^~~~~~~~
  85905. | mmap_base
  85906. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  85907. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85908. 282 | return rwsem_is_locked(&mm->mmap_sem);
  85909. | ^~~~~~~~
  85910. | mmap_base
  85911. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  85912. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  85913. 291 | return &mm->mmap_sem;
  85914. | ^~~~~~~~
  85915. | mmap_base
  85916. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  85917. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  85918. 300 | vma->vm_flags |= flags;
  85919. | ^~
  85920. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  85921. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  85922. 309 | vma->vm_flags &= ~flags;
  85923. | ^~
  85924. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  85925. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  85926. 736 | return phys_to_dma(dev, pa);
  85927. | ^~~~~~~~~~~
  85928. | nv_phys_to_dma
  85929. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  85930. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  85931. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  85932. | ^~~~~~~~~~~~~
  85933. | d_is_dir
  85934. cc1: some warnings being treated as errors
  85935. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  85936. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  85937. 502 | NV_MEMDBG_ADD(ptr, size);
  85938. | ^
  85939. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_utils_test.o] Error 1
  85940. CC [M] nvidia-drm/nvidia-drm-helper.o
  85941. In file included from ././common/inc/nv-linux.h:34,
  85942. from nvidia-uvm/uvm_linux.h:40:
  85943. ././common/inc/nv-mm.h: At top level:
  85944. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  85945. 29 | typedef int vm_fault_t;
  85946. | ^~~~~~~~~~
  85947. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  85948. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  85949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  85950. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  85951. from ././common/inc/nv-lock.h:35,
  85952. from ././common/inc/nv-linux.h:32:
  85953. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  85954. 1311 | typedef __bitwise unsigned int vm_fault_t;
  85955. | ^~~~~~~~~~
  85956. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  85957. from ././common/inc/nv-time.h:28:
  85958. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  85959. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  85960. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85961. 52 | #define current get_current()
  85962. | ^~~~~~~~~~~~~
  85963. | |
  85964. | struct task_struct *
  85965. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  85966. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85967. | ^~~~~~~
  85968. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  85969. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  85970. | ^~~~~~~~~~~~~
  85971. | d_is_dir
  85972. In file included from ././common/inc/nv-pgprot.h:30,
  85973. from ././common/inc/nv-linux.h:33:
  85974. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  85975. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85976. | ~~~~~~~~~~~~~~^~~~~
  85977. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  85978. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  85980. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85981. | ~~~~~~~~~~~~~~^~~~~~~~
  85982. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  85983. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85984. | ^~~~~~~~
  85985. | |
  85986. | long unsigned int
  85987. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  85988. 2535 | unsigned int gup_flags, struct page **pages);
  85989. | ~~~~~~~~~~~~~~^~~~~
  85990. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  85991. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  85992. | ^~~~~~~~~~~~~~ ~~~~~
  85993. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  85994. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  85995. | ^~~~~~~~~~~~~~
  85996. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  85997. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  85998. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  85999. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  86000. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  86001. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  86002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  86003. 8 | #define NULL ((void *)0)
  86004. | ^~~~~~~~~~~
  86005. | |
  86006. | void *
  86007. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  86008. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  86009. | ^~~~
  86010. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  86011. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  86012. | ~~~~~~~~~~~~~~^~~~~
  86013. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  86014. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  86015. | ^~
  86016. | |
  86017. | struct mm_struct *
  86018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  86019. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  86020. | ~~~~~~~~~~~~~~^~~~~~~~
  86021. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  86022. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  86023. | ^~~~~~~~
  86024. | |
  86025. | long unsigned int
  86026. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  86027. 2535 | unsigned int gup_flags, struct page **pages);
  86028. | ~~~~~~~~~~~~~~^~~~~
  86029. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  86030. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  86031. | ^~~~~~~~~~~~~~ ~~~~~
  86032. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  86033. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  86034. | ^~~~~~~~~~~~~~
  86035. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  86036. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  86037. 237 | return (unsigned long)(vmf->virtual_address);
  86038. | ^~~~~~~~~~~~~~~
  86039. | real_address
  86040. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  86041. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86042. 246 | down_read(&mm->mmap_sem);
  86043. | ^~~~~~~~
  86044. | mmap_base
  86045. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  86046. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86047. 255 | up_read(&mm->mmap_sem);
  86048. | ^~~~~~~~
  86049. | mmap_base
  86050. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  86051. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86052. 264 | down_write(&mm->mmap_sem);
  86053. | ^~~~~~~~
  86054. | mmap_base
  86055. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  86056. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86057. 273 | up_write(&mm->mmap_sem);
  86058. | ^~~~~~~~
  86059. | mmap_base
  86060. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  86061. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86062. 282 | return rwsem_is_locked(&mm->mmap_sem);
  86063. | ^~~~~~~~
  86064. | mmap_base
  86065. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  86066. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86067. 291 | return &mm->mmap_sem;
  86068. | ^~~~~~~~
  86069. | mmap_base
  86070. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  86071. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  86072. 300 | vma->vm_flags |= flags;
  86073. | ^~
  86074. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  86075. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  86076. 309 | vma->vm_flags &= ~flags;
  86077. | ^~
  86078. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  86079. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86080. 287 | ktime_get_raw_ts64(&tm);
  86081. | ^~~
  86082. | |
  86083. | struct timespec64 *
  86084. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86085. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86086. | ~~~~~~~~~~~~~~~~~~~^~
  86087. nvidia-uvm/uvm_linux.h: At top level:
  86088. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86089. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  86090. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86091. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86092. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  86093. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86094. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  86095. 449 | #error "Unknown number of arguments"
  86096. | ^~~~~
  86097. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86098. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  86099. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86100. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86101. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  86102. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86103. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  86104. 485 | #error "Unknown number of arguments"
  86105. | ^~~~~
  86106. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  86107. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86108. 502 | NV_MEMDBG_ADD(ptr, size);
  86109. | ^
  86110. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  86111. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  86112. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86113. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  86114. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86115. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86116. | ^
  86117. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86118. 573 | NV_MEMDBG_ADD(ptr, size);
  86119. | ^
  86120. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  86121. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86122. 287 | ktime_get_raw_ts64(&tm);
  86123. | ^~~
  86124. | |
  86125. | struct timespec64 *
  86126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86127. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86128. | ~~~~~~~~~~~~~~~~~~~^~
  86129. nvidia-uvm/uvm_linux.h: At top level:
  86130. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86131. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  86132. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86133. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86134. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  86135. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86136. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  86137. 449 | #error "Unknown number of arguments"
  86138. | ^~~~~
  86139. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86140. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  86141. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86142. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86143. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  86144. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86145. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  86146. 485 | #error "Unknown number of arguments"
  86147. | ^~~~~
  86148. ././common/inc/nv-linux.h: In function 'nv_vmap':
  86149. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86150. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  86151. | ^
  86152. In file included from ././common/inc/conftest.h:28,
  86153. from nvidia-drm/nvidia-drm-conftest.h:26,
  86154. from nvidia-drm/nvidia-drm-helper.h:26,
  86155. from nvidia-drm/nvidia-drm-helper.c:30:
  86156. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  86157. 74 | #error dma_buf_export() conftest failed!
  86158. | ^~~~~
  86159. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  86160. 87 | #error wait_on_bit_lock() conftest failed!
  86161. | ^~~~~
  86162. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  86163. 90 | #error radix_tree_replace_slot() conftest failed!
  86164. | ^~~~~
  86165. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  86166. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  86167. 736 | return phys_to_dma(dev, pa);
  86168. | ^~~~~~~~~~~
  86169. | nv_phys_to_dma
  86170. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  86171. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86172. 502 | NV_MEMDBG_ADD(ptr, size);
  86173. | ^
  86174. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-helper.o] Error 1
  86175. cc1: some warnings being treated as errors
  86176. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  86177. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  86178. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  86179. | ^~~~~~~~~~~~~~~~~~~~~~~
  86180. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86181. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86182. 520 | NV_MEMDBG_ADD(ptr, size);
  86183. | ^
  86184. CC [M] nvidia-drm/nv-pci-table.o
  86185. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_kvmalloc_test.o] Error 1
  86186. CC [M] nvidia-drm/nvidia-drm-gem-nvkms-memory.o
  86187. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  86188. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  86189. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  86190. | ^~~~~~~~~~~~~
  86191. | d_is_dir
  86192. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  86193. In file included from ././common/inc/nv-linux.h:34,
  86194. from nvidia-uvm/uvm_linux.h:40:
  86195. ././common/inc/nv-mm.h: At top level:
  86196. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  86197. 29 | typedef int vm_fault_t;
  86198. | ^~~~~~~~~~
  86199. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  86200. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  86201. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  86202. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  86203. from ././common/inc/nv-lock.h:35,
  86204. from ././common/inc/nv-linux.h:32:
  86205. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  86206. 1311 | typedef __bitwise unsigned int vm_fault_t;
  86207. | ^~~~~~~~~~
  86208. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  86209. from ././common/inc/nv-time.h:28:
  86210. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  86211. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  86212. 52 | #define current get_current()
  86213. | ^~~~~~~~~~~~~
  86214. | |
  86215. | struct task_struct *
  86216. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  86217. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  86218. | ^~~~~~~
  86219. In file included from ././common/inc/nv-pgprot.h:30,
  86220. from ././common/inc/nv-linux.h:33:
  86221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  86222. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  86223. | ~~~~~~~~~~~~~~^~~~~
  86224. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  86225. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  86226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  86227. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  86228. | ~~~~~~~~~~~~~~^~~~~~~~
  86229. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  86230. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  86231. | ^~~~~~~~
  86232. | |
  86233. | long unsigned int
  86234. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  86235. 2535 | unsigned int gup_flags, struct page **pages);
  86236. | ~~~~~~~~~~~~~~^~~~~
  86237. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  86238. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  86239. | ^~~~~~~~~~~~~~ ~~~~~
  86240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  86241. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  86242. | ^~~~~~~~~~~~~~
  86243. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  86244. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  86245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  86246. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5,
  86247. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10:
  86248. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  86249. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  86250. 8 | #define NULL ((void *)0)
  86251. | ^~~~~~~~~~~
  86252. | |
  86253. | void *
  86254. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  86255. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  86256. | ^~~~
  86257. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  86258. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  86259. | ~~~~~~~~~~~~~~^~~~~
  86260. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  86261. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  86262. | ^~
  86263. | |
  86264. | struct mm_struct *
  86265. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  86266. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  86267. | ~~~~~~~~~~~~~~^~~~~~~~
  86268. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  86269. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  86270. | ^~~~~~~~
  86271. | |
  86272. | long unsigned int
  86273. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  86274. 2535 | unsigned int gup_flags, struct page **pages);
  86275. | ~~~~~~~~~~~~~~^~~~~
  86276. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  86277. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  86278. | ^~~~~~~~~~~~~~ ~~~~~
  86279. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  86280. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  86281. | ^~~~~~~~~~~~~~
  86282. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  86283. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  86284. 237 | return (unsigned long)(vmf->virtual_address);
  86285. | ^~~~~~~~~~~~~~~
  86286. | real_address
  86287. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  86288. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86289. 246 | down_read(&mm->mmap_sem);
  86290. | ^~~~~~~~
  86291. | mmap_base
  86292. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  86293. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86294. 255 | up_read(&mm->mmap_sem);
  86295. | ^~~~~~~~
  86296. | mmap_base
  86297. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  86298. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86299. 264 | down_write(&mm->mmap_sem);
  86300. | ^~~~~~~~
  86301. | mmap_base
  86302. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  86303. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86304. 273 | up_write(&mm->mmap_sem);
  86305. | ^~~~~~~~
  86306. | mmap_base
  86307. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  86308. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86309. 282 | return rwsem_is_locked(&mm->mmap_sem);
  86310. | ^~~~~~~~
  86311. | mmap_base
  86312. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  86313. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  86314. 291 | return &mm->mmap_sem;
  86315. | ^~~~~~~~
  86316. | mmap_base
  86317. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  86318. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  86319. 300 | vma->vm_flags |= flags;
  86320. | ^~
  86321. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  86322. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  86323. 309 | vma->vm_flags &= ~flags;
  86324. | ^~
  86325. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  86326. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  86327. | ^~~~~~~~~~~~~~~~~~~~~~~
  86328. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86329. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86330. 520 | NV_MEMDBG_ADD(ptr, size);
  86331. | ^
  86332. In file included from ././common/inc/conftest.h:28,
  86333. from nvidia-drm/nvidia-drm-conftest.h:26,
  86334. from nvidia-drm/nvidia-drm-gem-nvkms-memory.c:23:
  86335. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  86336. 74 | #error dma_buf_export() conftest failed!
  86337. | ^~~~~
  86338. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  86339. 87 | #error wait_on_bit_lock() conftest failed!
  86340. | ^~~~~
  86341. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  86342. 90 | #error radix_tree_replace_slot() conftest failed!
  86343. | ^~~~~
  86344. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  86345. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86346. 287 | ktime_get_raw_ts64(&tm);
  86347. | ^~~
  86348. | |
  86349. | struct timespec64 *
  86350. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86351. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86352. | ~~~~~~~~~~~~~~~~~~~^~
  86353. nvidia-uvm/uvm_linux.h: At top level:
  86354. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86355. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  86356. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86357. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86358. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  86359. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86360. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  86361. 449 | #error "Unknown number of arguments"
  86362. | ^~~~~
  86363. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86364. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  86365. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86366. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86367. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  86368. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86369. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  86370. 485 | #error "Unknown number of arguments"
  86371. | ^~~~~
  86372. 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
  86373. CC [M] nvidia-drm/nvidia-drm-gem-user-memory.o
  86374. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  86375. from nvidia-uvm/uvm_pmm_test.c:25:
  86376. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  86377. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  86378. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  86379. | ^~~~~~~~~~~~~~~~~~~~
  86380. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  86381. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  86382. 533 | ptr = ioremap_cache_shared(phys, size);
  86383. | ^~~~~~~~~~~~~~~~~~~~
  86384. | ioremap_cache
  86385. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86386. 533 | ptr = ioremap_cache_shared(phys, size);
  86387. | ^
  86388. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86389. 556 | NV_MEMDBG_ADD(ptr, size);
  86390. | ^
  86391. In file included from ././common/inc/conftest.h:28,
  86392. from ././common/inc/nv_stdarg.h:29,
  86393. from nvidia-modeset/nvidia-modeset-os-interface.h:40,
  86394. from nvidia-modeset/nvidia-modeset-linux.c:47:
  86395. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  86396. 74 | #error dma_buf_export() conftest failed!
  86397. | ^~~~~
  86398. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  86399. 87 | #error wait_on_bit_lock() conftest failed!
  86400. | ^~~~~
  86401. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  86402. 90 | #error radix_tree_replace_slot() conftest failed!
  86403. | ^~~~~
  86404. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  86405. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  86406. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  86407. | ^~~~~~~~~~~~~~~~~~~~~~~
  86408. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86409. In file included from ././common/inc/conftest.h:28,
  86410. from nvidia-drm/nvidia-drm-conftest.h:26,
  86411. from nvidia-drm/nvidia-drm-gem-user-memory.c:23:
  86412. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  86413. 74 | #error dma_buf_export() conftest failed!
  86414. | ^~~~~
  86415. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  86416. 87 | #error wait_on_bit_lock() conftest failed!
  86417. | ^~~~~
  86418. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86419. 520 | NV_MEMDBG_ADD(ptr, size);
  86420. | ^
  86421. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  86422. 90 | #error radix_tree_replace_slot() conftest failed!
  86423. | ^~~~~
  86424. 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
  86425. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  86426. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86427. 502 | NV_MEMDBG_ADD(ptr, size);
  86428. | ^
  86429. CC [M] nvidia-drm/nvidia-drm-gem-dma-buf.o
  86430. In file included from nvidia-modeset/nvidia-modeset-linux.c:54:
  86431. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  86432. 40 | struct timespec64 {
  86433. | ^~~~~~~~~~
  86434. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  86435. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  86436. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13,
  86437. from nvidia-modeset/nvidia-modeset-linux.c:24:
  86438. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  86439. 13 | struct timespec64 {
  86440. | ^~~~~~~~~~
  86441. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  86442. 77 | static inline struct timespec64 timespec64_add
  86443. | ^~~~~~~~~~~~~~
  86444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  86445. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  86446. | ^~~~~~~~~~~~~~
  86447. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  86448. 95 | static inline struct timespec64 timespec64_sub
  86449. | ^~~~~~~~~~~~~~
  86450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  86451. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  86452. | ^~~~~~~~~~~~~~
  86453. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  86454. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  86455. | ^~~~~~~~~~~~~~~~
  86456. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  86457. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  86458. | ^~~~~~~~~~~~~~~~
  86459. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  86460. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86461. 122 | ktime_get_raw_ts64(&ts);
  86462. | ^~~
  86463. | |
  86464. | struct timespec64 *
  86465. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  86466. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  86467. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  86468. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16,
  86469. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  86470. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  86471. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4,
  86472. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9,
  86473. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17:
  86474. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86475. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86476. | ~~~~~~~~~~~~~~~~~~~^~
  86477. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  86478. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86479. 185 | ktime_get_raw_ts64(&tm_aux);
  86480. | ^~~~~~~
  86481. | |
  86482. | struct timespec64 *
  86483. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86484. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86485. | ~~~~~~~~~~~~~~~~~~~^~
  86486. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86487. 221 | ktime_get_raw_ts64(&tm_aux);
  86488. | ^~~~~~~
  86489. | |
  86490. | struct timespec64 *
  86491. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86492. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86493. | ~~~~~~~~~~~~~~~~~~~^~
  86494. In file included from ././common/inc/conftest.h:28,
  86495. from nvidia-drm/nvidia-drm-conftest.h:26,
  86496. from nvidia-drm/nvidia-drm-gem-dma-buf.c:23:
  86497. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  86498. 74 | #error dma_buf_export() conftest failed!
  86499. | ^~~~~
  86500. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  86501. 87 | #error wait_on_bit_lock() conftest failed!
  86502. | ^~~~~
  86503. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  86504. 90 | #error radix_tree_replace_slot() conftest failed!
  86505. | ^~~~~
  86506. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  86507. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86508. 502 | NV_MEMDBG_ADD(ptr, size);
  86509. | ^
  86510. 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
  86511. CC [M] nvidia-drm/nvidia-drm-format.o
  86512. nvidia-modeset/nv-kthread-q.c: In function 'thread_create_on_node':
  86513. nvidia-modeset/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  86514. 179 | const static unsigned attempts = 3;
  86515. | ^~~~~
  86516. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  86517. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86518. 502 | NV_MEMDBG_ADD(ptr, size);
  86519. | ^
  86520. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  86521. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86522. 502 | NV_MEMDBG_ADD(ptr, size);
  86523. | ^
  86524. In file included from ././common/inc/conftest.h:28,
  86525. from nvidia-drm/nvidia-drm-conftest.h:26,
  86526. from nvidia-drm/nvidia-drm-format.c:23:
  86527. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  86528. 74 | #error dma_buf_export() conftest failed!
  86529. | ^~~~~
  86530. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  86531. 87 | #error wait_on_bit_lock() conftest failed!
  86532. | ^~~~~
  86533. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  86534. 90 | #error radix_tree_replace_slot() conftest failed!
  86535. | ^~~~~
  86536. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-modeset/nv-kthread-q.o] Error 1
  86537. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  86538. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  86539. 533 | ptr = ioremap_cache_shared(phys, size);
  86540. | ^~~~~~~~~~~~~~~~~~~~
  86541. | ioremap_cache
  86542. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86543. 533 | ptr = ioremap_cache_shared(phys, size);
  86544. | ^
  86545. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86546. 556 | NV_MEMDBG_ADD(ptr, size);
  86547. | ^
  86548. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-format.o] Error 1
  86549. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  86550. from nvidia-uvm/uvm_gpu.h:37,
  86551. from nvidia-uvm/uvm_global.h:32,
  86552. from nvidia-uvm/uvm_pmm_sysmem_test.c:27:
  86553. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  86554. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  86555. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  86556. | ^~~~~~~~~~~~~~~~~~~~
  86557. CC [M] nvidia-peermem/nvidia-peermem.o
  86558. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  86559. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  86560. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86561. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  86562. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86563. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86564. | ^
  86565. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86566. 573 | NV_MEMDBG_ADD(ptr, size);
  86567. | ^
  86568. ././common/inc/nv-linux.h: In function 'nv_vmap':
  86569. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86570. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  86571. | ^
  86572. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  86573. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  86574. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  86575. | ^~~~~~~~~~~~~~~~~~~~~~~
  86576. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86577. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86578. 520 | NV_MEMDBG_ADD(ptr, size);
  86579. | ^
  86580. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  86581. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  86582. 533 | ptr = ioremap_cache_shared(phys, size);
  86583. | ^~~~~~~~~~~~~~~~~~~~
  86584. | ioremap_cache
  86585. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86586. 533 | ptr = ioremap_cache_shared(phys, size);
  86587. | ^
  86588. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86589. 556 | NV_MEMDBG_ADD(ptr, size);
  86590. | ^
  86591. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  86592. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  86593. 736 | return phys_to_dma(dev, pa);
  86594. | ^~~~~~~~~~~
  86595. | nv_phys_to_dma
  86596. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  86597. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  86598. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  86599. | ^~~~~~~~~~~~~~~~~~~~~~~
  86600. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86601. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86602. 520 | NV_MEMDBG_ADD(ptr, size);
  86603. | ^
  86604. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  86605. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  86606. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  86607. | ^~~~~~~~~~~~~
  86608. | d_is_dir
  86609. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  86610. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  86611. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  86612. | ^~~~~~~~~~~~~~~~~~~~~~~
  86613. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86614. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86615. 520 | NV_MEMDBG_ADD(ptr, size);
  86616. | ^
  86617. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  86618. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86619. 502 | NV_MEMDBG_ADD(ptr, size);
  86620. | ^
  86621. nvidia-uvm/uvm_pmm_test.c: At top level:
  86622. nvidia-uvm/uvm_pmm_test.c:909:11: warning: no previous prototype for '__test_pmm_async_alloc_type' [-Wmissing-prototypes]
  86623. 909 | NV_STATUS __test_pmm_async_alloc_type(uvm_va_space_t *va_space,
  86624. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  86625. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  86626. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86627. 287 | ktime_get_raw_ts64(&tm);
  86628. | ^~~
  86629. | |
  86630. | struct timespec64 *
  86631. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86632. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86633. | ~~~~~~~~~~~~~~~~~~~^~
  86634. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  86635. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  86636. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  86637. | ^~~~~~~~~~~~~~~~~~~~~~~
  86638. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86639. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86640. 520 | NV_MEMDBG_ADD(ptr, size);
  86641. | ^
  86642. nvidia-uvm/uvm_linux.h: At top level:
  86643. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86644. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  86645. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86646. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86647. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  86648. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86649. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  86650. 449 | #error "Unknown number of arguments"
  86651. | ^~~~~
  86652. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86653. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  86654. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86655. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86656. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  86657. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86658. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  86659. 485 | #error "Unknown number of arguments"
  86660. | ^~~~~
  86661. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  86662. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  86663. 533 | ptr = ioremap_cache_shared(phys, size);
  86664. | ^~~~~~~~~~~~~~~~~~~~
  86665. | ioremap_cache
  86666. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86667. 533 | ptr = ioremap_cache_shared(phys, size);
  86668. | ^
  86669. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86670. 556 | NV_MEMDBG_ADD(ptr, size);
  86671. | ^
  86672. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  86673. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  86674. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86675. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  86676. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86677. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86678. | ^
  86679. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86680. 573 | NV_MEMDBG_ADD(ptr, size);
  86681. | ^
  86682. ././common/inc/nv-linux.h: In function 'nv_vmap':
  86683. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86684. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  86685. | ^
  86686. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  86687. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  86688. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86689. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  86690. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86691. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86692. | ^
  86693. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86694. 573 | NV_MEMDBG_ADD(ptr, size);
  86695. | ^
  86696. ././common/inc/nv-linux.h: In function 'nv_vmap':
  86697. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86698. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  86699. | ^
  86700. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  86701. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  86702. 736 | return phys_to_dma(dev, pa);
  86703. | ^~~~~~~~~~~
  86704. | nv_phys_to_dma
  86705. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  86706. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  86707. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  86708. 533 | ptr = ioremap_cache_shared(phys, size);
  86709. | ^~~~~~~~~~~~~~~~~~~~
  86710. | ioremap_cache
  86711. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86712. 533 | ptr = ioremap_cache_shared(phys, size);
  86713. | ^
  86714. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86715. 556 | NV_MEMDBG_ADD(ptr, size);
  86716. | ^
  86717. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  86718. 533 | ptr = ioremap_cache_shared(phys, size);
  86719. | ^~~~~~~~~~~~~~~~~~~~
  86720. | ioremap_cache
  86721. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86722. 533 | ptr = ioremap_cache_shared(phys, size);
  86723. | ^
  86724. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86725. 556 | NV_MEMDBG_ADD(ptr, size);
  86726. | ^
  86727. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  86728. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  86729. 736 | return phys_to_dma(dev, pa);
  86730. | ^~~~~~~~~~~
  86731. | nv_phys_to_dma
  86732. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  86733. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  86734. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  86735. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  86736. | ^~~~~~~~~~~~~~~~~~~~~~~
  86737. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86738. 502 | NV_MEMDBG_ADD(ptr, size);
  86739. | ^
  86740. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86741. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86742. 520 | NV_MEMDBG_ADD(ptr, size);
  86743. | ^
  86744. cc1: some warnings being treated as errors
  86745. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  86746. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  86747. 533 | ptr = ioremap_cache_shared(phys, size);
  86748. | ^~~~~~~~~~~~~~~~~~~~
  86749. | ioremap_cache
  86750. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86751. 533 | ptr = ioremap_cache_shared(phys, size);
  86752. | ^
  86753. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86754. 556 | NV_MEMDBG_ADD(ptr, size);
  86755. | ^
  86756. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_test.o] Error 1
  86757. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  86758. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  86759. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  86760. | ^~~~~~~~~~~~~
  86761. | d_is_dir
  86762. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  86763. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  86764. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  86765. | ^~~~~~~~~~~~~
  86766. | d_is_dir
  86767. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  86768. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  86769. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86770. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  86771. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86772. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86773. | ^
  86774. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86775. 573 | NV_MEMDBG_ADD(ptr, size);
  86776. | ^
  86777. ././common/inc/nv-linux.h: In function 'nv_vmap':
  86778. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86779. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  86780. | ^
  86781. nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_get_usec':
  86782. nvidia-modeset/nvidia-modeset-linux.c:360:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86783. 360 | ktime_get_real_ts64(&ts);
  86784. | ^~~
  86785. | |
  86786. | struct timespec64 *
  86787. /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 *'
  86788. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  86789. | ~~~~~~~~~~~~~~~~~~~^~
  86790. nvidia-modeset/nvidia-modeset-linux.c: At top level:
  86791. nvidia-modeset/nvidia-modeset-linux.c:1080:24: warning: no previous prototype for 'nvkms_open_common' [-Wmissing-prototypes]
  86792. 1080 | struct nvkms_per_open *nvkms_open_common(enum NvKmsClientType type,
  86793. | ^~~~~~~~~~~~~~~~~
  86794. nvidia-modeset/nvidia-modeset-linux.c:1132:6: warning: no previous prototype for 'nvkms_close_pm_locked' [-Wmissing-prototypes]
  86795. 1132 | void nvkms_close_pm_locked(struct nvkms_per_open *popen)
  86796. | ^~~~~~~~~~~~~~~~~~~~~
  86797. nvidia-modeset/nvidia-modeset-linux.c:1195:5: warning: no previous prototype for 'nvkms_ioctl_common' [-Wmissing-prototypes]
  86798. 1195 | int nvkms_ioctl_common
  86799. | ^~~~~~~~~~~~~~~~~~
  86800. nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_add_proc_file':
  86801. nvidia-modeset/nvidia-modeset-linux.c:1359:37: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  86802. 1359 | &nv_procfs_nvkms_proc_fops, file->func);
  86803. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  86804. | |
  86805. | const nv_proc_ops_t * {aka const struct file_operations *}
  86806. In file included from ././common/inc/nv-procfs-utils.h:29,
  86807. from ././common/inc/nv-procfs.h:26,
  86808. from nvidia-modeset/nvidia-modeset-linux.c:52:
  86809. /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 *'}
  86810. 111 | const struct proc_ops *,
  86811. | ^~~~~~~~~~~~~~~~~~~~~~~
  86812. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  86813. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  86814. 736 | return phys_to_dma(dev, pa);
  86815. | ^~~~~~~~~~~
  86816. | nv_phys_to_dma
  86817. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  86818. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86819. 287 | ktime_get_raw_ts64(&tm);
  86820. | ^~~
  86821. | |
  86822. | struct timespec64 *
  86823. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86824. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86825. | ~~~~~~~~~~~~~~~~~~~^~
  86826. nvidia-uvm/uvm_linux.h: At top level:
  86827. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86828. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  86829. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86830. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86831. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  86832. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86833. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  86834. 449 | #error "Unknown number of arguments"
  86835. | ^~~~~
  86836. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86837. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  86838. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86839. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86840. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  86841. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86842. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  86843. 485 | #error "Unknown number of arguments"
  86844. | ^~~~~
  86845. nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_config_file_open':
  86846. nvidia-modeset/nvidia-modeset-linux.c:1465:41: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  86847. 1465 | ssize_t ret = kernel_read(file, read_size,
  86848. | ^~~~~~~~~
  86849. | |
  86850. | size_t {aka long unsigned int}
  86851. nvidia-uvm/uvm_pmm_sysmem_test.c: At top level:
  86852. nvidia-uvm/uvm_pmm_sysmem_test.c:1070:11: warning: no previous prototype for 'do_test_cpu_chunk_free' [-Wmissing-prototypes]
  86853. 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)
  86854. | ^~~~~~~~~~~~~~~~~~~~~~
  86855. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compat.h:17,
  86856. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ia32.h:7,
  86857. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/elf.h:10,
  86858. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/elf.h:6,
  86859. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:19:
  86860. /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'}
  86861. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  86862. | ^~~~~~
  86863. nvidia-modeset/nvidia-modeset-linux.c:1466:41: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion]
  86864. 1466 | *buff + read_size,
  86865. | ~~~~~~^~~~~~~~~~~
  86866. | |
  86867. | char *
  86868. /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 *'
  86869. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  86870. | ^~~~~~
  86871. nvidia-modeset/nvidia-modeset-linux.c:1467:45: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  86872. 1467 | file_size - read_size);
  86873. | ~~~~~~~~~~^~~~~~~~~~~
  86874. | |
  86875. | size_t {aka long unsigned int}
  86876. /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'}
  86877. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  86878. | ^~~~~~~~
  86879. nvidia-uvm/uvm_pmm_sysmem_test.c:1166:11: warning: no previous prototype for 'test_cpu_chunk_free' [-Wmissing-prototypes]
  86880. 1166 | NV_STATUS test_cpu_chunk_free(uvm_va_space_t *va_space, uvm_processor_mask_t *test_gpus)
  86881. | ^~~~~~~~~~~~~~~~~~~
  86882. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  86883. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86884. 287 | ktime_get_raw_ts64(&tm);
  86885. | ^~~
  86886. | |
  86887. | struct timespec64 *
  86888. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86889. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86890. | ~~~~~~~~~~~~~~~~~~~^~
  86891. In file included from nvidia-uvm/uvm_perf_events.h:31,
  86892. from nvidia-uvm/uvm_perf_module.h:29,
  86893. from nvidia-uvm/uvm_perf_module_test.c:25:
  86894. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  86895. nvidia-uvm/uvm_linux.h: At top level:
  86896. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  86897. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  86898. | ^~~~~~~~~~~~~~~~~~~~
  86899. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86900. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  86901. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86902. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86903. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  86904. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86905. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  86906. 449 | #error "Unknown number of arguments"
  86907. | ^~~~~
  86908. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86909. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  86910. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86911. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86912. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  86913. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86914. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  86915. 485 | #error "Unknown number of arguments"
  86916. | ^~~~~
  86917. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  86918. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  86919. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86920. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  86921. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86922. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86923. | ^
  86924. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86925. 573 | NV_MEMDBG_ADD(ptr, size);
  86926. | ^
  86927. ././common/inc/nv-linux.h: In function 'nv_vmap':
  86928. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86929. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  86930. | ^
  86931. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  86932. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  86933. 533 | ptr = ioremap_cache_shared(phys, size);
  86934. | ^~~~~~~~~~~~~~~~~~~~
  86935. | ioremap_cache
  86936. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86937. 533 | ptr = ioremap_cache_shared(phys, size);
  86938. | ^
  86939. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86940. 556 | NV_MEMDBG_ADD(ptr, size);
  86941. | ^
  86942. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  86943. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  86944. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  86945. | ^~~~~~~~~~~~~
  86946. | d_is_dir
  86947. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  86948. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  86949. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86950. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  86951. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86952. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  86953. | ^
  86954. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86955. 573 | NV_MEMDBG_ADD(ptr, size);
  86956. | ^
  86957. ././common/inc/nv-linux.h: In function 'nv_vmap':
  86958. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86959. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  86960. | ^
  86961. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  86962. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  86963. 736 | return phys_to_dma(dev, pa);
  86964. | ^~~~~~~~~~~
  86965. | nv_phys_to_dma
  86966. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-modeset/nvidia-modeset-linux.o] Error 1
  86967. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  86968. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  86969. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  86970. | ^~~~~~~~~~~~~~~~~~~~~~~
  86971. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  86972. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  86973. 520 | NV_MEMDBG_ADD(ptr, size);
  86974. | ^
  86975. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  86976. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  86977. 736 | return phys_to_dma(dev, pa);
  86978. | ^~~~~~~~~~~
  86979. | nv_phys_to_dma
  86980. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  86981. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  86982. 287 | ktime_get_raw_ts64(&tm);
  86983. | ^~~
  86984. | |
  86985. | struct timespec64 *
  86986. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  86987. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  86988. | ~~~~~~~~~~~~~~~~~~~^~
  86989. nvidia-uvm/uvm_linux.h: At top level:
  86990. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86991. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  86992. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86993. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  86994. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  86995. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86996. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  86997. 449 | #error "Unknown number of arguments"
  86998. | ^~~~~
  86999. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87000. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  87001. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87002. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87003. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  87004. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87005. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  87006. 485 | #error "Unknown number of arguments"
  87007. | ^~~~~
  87008. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  87009. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  87010. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  87011. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  87012. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  87013. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  87014. | ^
  87015. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  87016. 573 | NV_MEMDBG_ADD(ptr, size);
  87017. | ^
  87018. cc1: some warnings being treated as errors
  87019. ././common/inc/nv-linux.h: In function 'nv_vmap':
  87020. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  87021. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  87022. | ^
  87023. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  87024. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  87025. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  87026. | ^~~~~~~~~~~~~
  87027. | d_is_dir
  87028. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_sysmem_test.o] Error 1
  87029. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  87030. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  87031. 736 | return phys_to_dma(dev, pa);
  87032. | ^~~~~~~~~~~
  87033. | nv_phys_to_dma
  87034. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  87035. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  87036. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  87037. | ^~~~~~~~~~~~~
  87038. | d_is_dir
  87039. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  87040. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  87041. 287 | ktime_get_raw_ts64(&tm);
  87042. | ^~~
  87043. | |
  87044. | struct timespec64 *
  87045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  87046. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  87047. | ~~~~~~~~~~~~~~~~~~~^~
  87048. nvidia-uvm/uvm_linux.h: At top level:
  87049. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87050. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  87051. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87052. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87053. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  87054. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87055. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  87056. from nvidia-uvm/uvm_gpu.h:37,
  87057. from nvidia-uvm/uvm_global.h:32,
  87058. from nvidia-uvm/uvm_fault_buffer_flush_test.c:26:
  87059. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  87060. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  87061. 449 | #error "Unknown number of arguments"
  87062. | ^~~~~
  87063. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87064. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  87065. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87066. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87067. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  87068. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87069. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  87070. 485 | #error "Unknown number of arguments"
  87071. | ^~~~~
  87072. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  87073. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  87074. | ^~~~~~~~~~~~~~~~~~~~
  87075. In file included from nvidia-uvm/uvm_perf_events.h:31:
  87076. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  87077. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  87078. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  87079. | ^~~~~~~~~~~~~~~~~~~~
  87080. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  87081. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  87082. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  87083. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  87084. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  87085. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  87086. | ^
  87087. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  87088. 573 | NV_MEMDBG_ADD(ptr, size);
  87089. | ^
  87090. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  87091. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  87092. 287 | ktime_get_raw_ts64(&tm);
  87093. | ^~~
  87094. | |
  87095. | struct timespec64 *
  87096. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  87097. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  87098. | ~~~~~~~~~~~~~~~~~~~^~
  87099. nvidia-uvm/uvm_linux.h: At top level:
  87100. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87101. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  87102. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87103. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87104. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  87105. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87106. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  87107. 449 | #error "Unknown number of arguments"
  87108. | ^~~~~
  87109. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87110. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  87111. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87112. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87113. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  87114. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87115. ././common/inc/nv-linux.h: In function 'nv_vmap':
  87116. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  87117. 485 | #error "Unknown number of arguments"
  87118. | ^~~~~
  87119. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  87120. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  87121. | ^
  87122. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  87123. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  87124. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  87125. | ^~~~~~~~~~~~~
  87126. | d_is_dir
  87127. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  87128. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  87129. 533 | ptr = ioremap_cache_shared(phys, size);
  87130. | ^~~~~~~~~~~~~~~~~~~~
  87131. | ioremap_cache
  87132. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  87133. 533 | ptr = ioremap_cache_shared(phys, size);
  87134. | ^
  87135. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  87136. 556 | NV_MEMDBG_ADD(ptr, size);
  87137. | ^
  87138. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  87139. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  87140. 736 | return phys_to_dma(dev, pa);
  87141. | ^~~~~~~~~~~
  87142. | nv_phys_to_dma
  87143. cc1: some warnings being treated as errors
  87144. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  87145. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  87146. 287 | ktime_get_raw_ts64(&tm);
  87147. | ^~~
  87148. | |
  87149. | struct timespec64 *
  87150. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  87151. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  87152. | ~~~~~~~~~~~~~~~~~~~^~
  87153. nvidia-uvm/uvm_linux.h: At top level:
  87154. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87155. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  87156. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87157. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87158. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  87159. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87160. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  87161. 449 | #error "Unknown number of arguments"
  87162. | ^~~~~
  87163. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87164. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  87165. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87166. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87167. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  87168. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87169. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  87170. 485 | #error "Unknown number of arguments"
  87171. | ^~~~~
  87172. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_module_test.o] Error 1
  87173. In file included from nvidia-uvm/uvm_perf_events.h:31,
  87174. from nvidia-uvm/uvm_perf_module.h:29,
  87175. from nvidia-uvm/uvm_va_block.h:32,
  87176. from nvidia-uvm/uvm_va_block_test.c:28:
  87177. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  87178. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  87179. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  87180. | ^~~~~~~~~~~~~~~~~~~~
  87181. In file included from ././common/inc/conftest.h:28,
  87182. from nvidia-drm/nvidia-drm-conftest.h:26,
  87183. from nvidia-drm/nvidia-drm-os-interface.h:26,
  87184. from nvidia-drm/nvidia-drm-linux.c:27:
  87185. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87186. 74 | #error dma_buf_export() conftest failed!
  87187. | ^~~~~
  87188. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87189. 87 | #error wait_on_bit_lock() conftest failed!
  87190. | ^~~~~
  87191. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87192. 90 | #error radix_tree_replace_slot() conftest failed!
  87193. | ^~~~~
  87194. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  87195. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  87196. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  87197. | ^~~~~~~~~~~~~
  87198. | d_is_dir
  87199. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-linux.o] Error 1
  87200. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  87201. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  87202. 287 | ktime_get_raw_ts64(&tm);
  87203. | ^~~
  87204. | |
  87205. | struct timespec64 *
  87206. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  87207. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  87208. | ~~~~~~~~~~~~~~~~~~~^~
  87209. nvidia-uvm/uvm_linux.h: At top level:
  87210. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87211. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  87212. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87213. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87214. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  87215. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87216. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  87217. 449 | #error "Unknown number of arguments"
  87218. | ^~~~~
  87219. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87220. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  87221. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87222. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87223. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  87224. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87225. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  87226. 485 | #error "Unknown number of arguments"
  87227. | ^~~~~
  87228. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  87229. from nvidia-uvm/uvm_gpu.h:37,
  87230. from nvidia-uvm/uvm_global.h:32,
  87231. from nvidia-uvm/uvm_va_space.h:28,
  87232. from nvidia-uvm/uvm_range_group_tree_test.c:26:
  87233. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  87234. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  87235. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  87236. | ^~~~~~~~~~~~~~~~~~~~
  87237. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  87238. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  87239. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  87240. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  87241. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  87242. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  87243. | ^
  87244. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  87245. 573 | NV_MEMDBG_ADD(ptr, size);
  87246. | ^
  87247. ././common/inc/nv-linux.h: In function 'nv_vmap':
  87248. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  87249. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  87250. | ^
  87251. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  87252. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  87253. 736 | return phys_to_dma(dev, pa);
  87254. | ^~~~~~~~~~~
  87255. | nv_phys_to_dma
  87256. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  87257. from nvidia-uvm/uvm_gpu.h:37,
  87258. from nvidia-uvm/uvm_global.h:32,
  87259. from nvidia-uvm/uvm_get_rm_ptes_test.c:25:
  87260. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  87261. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  87262. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  87263. | ^~~~~~~~~~~~~~~~~~~~
  87264. cc1: some warnings being treated as errors
  87265. 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
  87266. cc1: some warnings being treated as errors
  87267. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_events_test.o] Error 1
  87268. In file included from nvidia-uvm/uvm_pmm_gpu.h:55,
  87269. from nvidia-uvm/uvm_gpu.h:37,
  87270. from nvidia-uvm/uvm_global.h:32,
  87271. from nvidia-uvm/uvm_va_space.h:28,
  87272. from nvidia-uvm/uvm_peer_identity_mappings_test.c:25:
  87273. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  87274. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  87275. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  87276. | ^~~~~~~~~~~~~~~~~~~~
  87277. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  87278. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  87279. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  87280. | ^~~~~~~~~~~~~
  87281. | d_is_dir
  87282. cc1: some warnings being treated as errors
  87283. In file included from nvidia-uvm/uvm_api.h:31:
  87284. nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock':
  87285. nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration]
  87286. 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE);
  87287. | ^~~~~~~~~~~~~~~~~~~~
  87288. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_block_test.o] Error 1
  87289. nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME':
  87290. nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  87291. 287 | ktime_get_raw_ts64(&tm);
  87292. | ^~~
  87293. | |
  87294. | struct timespec64 *
  87295. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  87296. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  87297. | ~~~~~~~~~~~~~~~~~~~^~
  87298. nvidia-uvm/uvm_linux.h: At top level:
  87299. nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87300. 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3)
  87301. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87302. nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87303. 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4)
  87304. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87305. nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments"
  87306. 449 | #error "Unknown number of arguments"
  87307. | ^~~~~
  87308. nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87309. 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2)
  87310. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87311. nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef]
  87312. 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3)
  87313. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  87314. nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments"
  87315. 485 | #error "Unknown number of arguments"
  87316. | ^~~~~
  87317. cc1: some warnings being treated as errors
  87318. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rb_tree_test.o] Error 1
  87319. cc1: some warnings being treated as errors
  87320. cc1: some warnings being treated as errors
  87321. 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
  87322. 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
  87323. cc1: some warnings being treated as errors
  87324. 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
  87325. cc1: some warnings being treated as errors
  87326. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_thread_context_test.o] Error 1
  87327. In file included from ././common/inc/conftest.h:28,
  87328. from nvidia-peermem/nvidia-peermem.c:39:
  87329. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87330. 74 | #error dma_buf_export() conftest failed!
  87331. | ^~~~~
  87332. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87333. 87 | #error wait_on_bit_lock() conftest failed!
  87334. | ^~~~~
  87335. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87336. 90 | #error radix_tree_replace_slot() conftest failed!
  87337. | ^~~~~
  87338. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-peermem/nvidia-peermem.o] Error 1
  87339. make[4]: Target './' not remade because of errors.
  87340. make[3]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:1997: .] Error 2
  87341. make[3]: Target 'modules' not remade because of errors.
  87342. make[2]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:251: __sub-make] Error 2
  87343. make[2]: Target 'modules' not remade because of errors.
  87344. make[2]: Leaving directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel'
  87345. make[1]: *** [Makefile:251: __sub-make] Error 2
  87346. make[1]: Target 'modules' not remade because of errors.
  87347. make[1]: Leaving directory '/usr/lib/modules/6.14.6-arch1-1/build'
  87348. make: *** [Makefile:82: modules] Error 2
  87349. -> Checking to see whether the nvidia kernel module was successfully built
  87350. 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"'...
  87351. make[1]: Entering directory '/usr/lib/modules/6.14.6-arch1-1/build'
  87352. make[2]: Entering directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel'
  87353. warning: the compiler differs from the one used to build the kernel
  87354. The kernel was built by: gcc (GCC) 15.1.1 20250425
  87355. You are using: cc (GCC) 15.1.1 20250425
  87356. SYMLINK nvidia/nv-kernel.o
  87357. CC [M] nvidia/nv.o
  87358. CC [M] nvidia/nv-pci.o
  87359. CC [M] nvidia/nv-dmabuf.o
  87360. CC [M] nvidia/nv-nano-timer.o
  87361. CC [M] nvidia/nv-acpi.o
  87362. CC [M] nvidia/nv-cray.o
  87363. CC [M] nvidia/nv-dma.o
  87364. CC [M] nvidia/nv-i2c.o
  87365. CC [M] nvidia/nv-mmap.o
  87366. CC [M] nvidia/nv-p2p.o
  87367. CC [M] nvidia/nv-pat.o
  87368. CC [M] nvidia/nv-procfs.o
  87369. CC [M] nvidia/nv-usermap.o
  87370. CC [M] nvidia/nv-vm.o
  87371. CC [M] nvidia/nv-vtophys.o
  87372. CC [M] nvidia/os-interface.o
  87373. In file included from ././common/inc/conftest.h:28,
  87374. from ././common/inc/nv_stdarg.h:29,
  87375. from ././common/inc/os-interface.h:40,
  87376. from nvidia/nv-dma.c:26:
  87377. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87378. 74 | #error dma_buf_export() conftest failed!
  87379. | ^~~~~
  87380. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87381. 87 | #error wait_on_bit_lock() conftest failed!
  87382. | ^~~~~
  87383. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87384. 90 | #error radix_tree_replace_slot() conftest failed!
  87385. | ^~~~~
  87386. In file included from ././common/inc/conftest.h:28,
  87387. from ././common/inc/nv_stdarg.h:29,
  87388. from ././common/inc/os-interface.h:40,
  87389. from nvidia/nv-cray.c:26:
  87390. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87391. 74 | #error dma_buf_export() conftest failed!
  87392. | ^~~~~
  87393. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87394. 87 | #error wait_on_bit_lock() conftest failed!
  87395. | ^~~~~
  87396. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87397. 90 | #error radix_tree_replace_slot() conftest failed!
  87398. | ^~~~~
  87399. In file included from ././common/inc/conftest.h:28,
  87400. from ././common/inc/nv_stdarg.h:29,
  87401. from ././common/inc/os-interface.h:40,
  87402. from nvidia/nv-acpi.c:26:
  87403. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87404. 74 | #error dma_buf_export() conftest failed!
  87405. | ^~~~~
  87406. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87407. 87 | #error wait_on_bit_lock() conftest failed!
  87408. | ^~~~~
  87409. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87410. 90 | #error radix_tree_replace_slot() conftest failed!
  87411. | ^~~~~
  87412. In file included from ././common/inc/conftest.h:28,
  87413. from ././common/inc/nv_stdarg.h:29,
  87414. from ././common/inc/os-interface.h:40,
  87415. from nvidia/nv-mmap.c:26:
  87416. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87417. 74 | #error dma_buf_export() conftest failed!
  87418. | ^~~~~
  87419. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87420. 87 | #error wait_on_bit_lock() conftest failed!
  87421. | ^~~~~
  87422. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87423. 90 | #error radix_tree_replace_slot() conftest failed!
  87424. | ^~~~~
  87425. In file included from ././common/inc/conftest.h:28,
  87426. from ././common/inc/nv_stdarg.h:29,
  87427. from ././common/inc/os-interface.h:40,
  87428. from nvidia/nv-p2p.c:26:
  87429. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87430. 74 | #error dma_buf_export() conftest failed!
  87431. | ^~~~~
  87432. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87433. 87 | #error wait_on_bit_lock() conftest failed!
  87434. | ^~~~~
  87435. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87436. 90 | #error radix_tree_replace_slot() conftest failed!
  87437. | ^~~~~
  87438. In file included from ././common/inc/conftest.h:28,
  87439. from ././common/inc/nv_stdarg.h:29,
  87440. from ././common/inc/os-interface.h:40,
  87441. from nvidia/nv-usermap.c:26:
  87442. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87443. 74 | #error dma_buf_export() conftest failed!
  87444. | ^~~~~
  87445. In file included from ././common/inc/conftest.h:28,
  87446. from ././common/inc/nv_stdarg.h:29,
  87447. from ././common/inc/os-interface.h:40,
  87448. from nvidia/nv-pat.c:26:
  87449. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87450. 74 | #error dma_buf_export() conftest failed!
  87451. | ^~~~~
  87452. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87453. 87 | #error wait_on_bit_lock() conftest failed!
  87454. | ^~~~~
  87455. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87456. 90 | #error radix_tree_replace_slot() conftest failed!
  87457. | ^~~~~
  87458. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87459. 87 | #error wait_on_bit_lock() conftest failed!
  87460. | ^~~~~
  87461. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87462. 90 | #error radix_tree_replace_slot() conftest failed!
  87463. | ^~~~~
  87464. In file included from ././common/inc/conftest.h:28,
  87465. from ././common/inc/nv_stdarg.h:29,
  87466. from ././common/inc/os-interface.h:40,
  87467. from nvidia/nv-vm.c:24:
  87468. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87469. 74 | #error dma_buf_export() conftest failed!
  87470. | ^~~~~
  87471. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87472. 87 | #error wait_on_bit_lock() conftest failed!
  87473. | ^~~~~
  87474. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87475. 90 | #error radix_tree_replace_slot() conftest failed!
  87476. | ^~~~~
  87477. In file included from ././common/inc/conftest.h:28,
  87478. from ././common/inc/nv_stdarg.h:29,
  87479. from ././common/inc/os-interface.h:40,
  87480. from nvidia/os-interface.c:26:
  87481. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87482. 74 | #error dma_buf_export() conftest failed!
  87483. | ^~~~~
  87484. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87485. 87 | #error wait_on_bit_lock() conftest failed!
  87486. | ^~~~~
  87487. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87488. 90 | #error radix_tree_replace_slot() conftest failed!
  87489. | ^~~~~
  87490. In file included from ././common/inc/conftest.h:28,
  87491. from ././common/inc/nv_stdarg.h:29,
  87492. from ././common/inc/os-interface.h:40,
  87493. from nvidia/nv-vtophys.c:26:
  87494. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87495. 74 | #error dma_buf_export() conftest failed!
  87496. | ^~~~~
  87497. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87498. 87 | #error wait_on_bit_lock() conftest failed!
  87499. | ^~~~~
  87500. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87501. 90 | #error radix_tree_replace_slot() conftest failed!
  87502. | ^~~~~
  87503. In file included from ././common/inc/conftest.h:28,
  87504. from ././common/inc/nv_stdarg.h:29,
  87505. from ././common/inc/os-interface.h:40,
  87506. from nvidia/nv-procfs.c:26:
  87507. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87508. 74 | #error dma_buf_export() conftest failed!
  87509. | ^~~~~
  87510. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87511. 87 | #error wait_on_bit_lock() conftest failed!
  87512. | ^~~~~
  87513. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87514. 90 | #error radix_tree_replace_slot() conftest failed!
  87515. | ^~~~~
  87516. In file included from ././common/inc/conftest.h:28,
  87517. from ././common/inc/nv_stdarg.h:29,
  87518. from ././common/inc/os-interface.h:40,
  87519. from nvidia/nv-nano-timer.c:30:
  87520. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87521. 74 | #error dma_buf_export() conftest failed!
  87522. | ^~~~~
  87523. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87524. 87 | #error wait_on_bit_lock() conftest failed!
  87525. | ^~~~~
  87526. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87527. 90 | #error radix_tree_replace_slot() conftest failed!
  87528. | ^~~~~
  87529. In file included from ././common/inc/conftest.h:28,
  87530. from ././common/inc/nv_stdarg.h:29,
  87531. from ././common/inc/os-interface.h:40,
  87532. from nvidia/nv.c:33:
  87533. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  87534. 74 | #error dma_buf_export() conftest failed!
  87535. | ^~~~~
  87536. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  87537. 87 | #error wait_on_bit_lock() conftest failed!
  87538. | ^~~~~
  87539. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  87540. 90 | #error radix_tree_replace_slot() conftest failed!
  87541. | ^~~~~
  87542. In file included from ././common/inc/nv-linux.h:34,
  87543. from nvidia/nv-nano-timer.c:31:
  87544. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  87545. 29 | typedef int vm_fault_t;
  87546. | ^~~~~~~~~~
  87547. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  87548. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  87549. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  87550. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  87551. from ././common/inc/nv-lock.h:35,
  87552. from ././common/inc/nv-linux.h:32:
  87553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  87554. 1311 | typedef __bitwise unsigned int vm_fault_t;
  87555. | ^~~~~~~~~~
  87556. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  87557. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12,
  87558. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175,
  87559. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5,
  87560. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13,
  87561. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5,
  87562. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67,
  87563. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13,
  87564. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60,
  87565. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  87566. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  87567. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  87568. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  87569. from nvidia/nv-nano-timer.c:27:
  87570. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  87571. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87572. 52 | #define current get_current()
  87573. | ^~~~~~~~~~~~~
  87574. | |
  87575. | struct task_struct *
  87576. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  87577. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87578. | ^~~~~~~
  87579. In file included from ././common/inc/nv-pgprot.h:30,
  87580. from ././common/inc/nv-linux.h:33:
  87581. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  87582. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87583. | ~~~~~~~~~~~~~~^~~~~
  87584. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87585. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  87587. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87588. | ~~~~~~~~~~~~~~^~~~~~~~
  87589. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  87590. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87591. | ^~~~~~~~
  87592. | |
  87593. | long unsigned int
  87594. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  87595. 2535 | unsigned int gup_flags, struct page **pages);
  87596. | ~~~~~~~~~~~~~~^~~~~
  87597. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  87598. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87599. | ^~~~~~~~~~~~~~ ~~~~~
  87600. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  87601. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87602. | ^~~~~~~~~~~~~~
  87603. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  87604. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  87605. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  87606. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  87607. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  87608. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  87609. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  87610. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/array_size.h:5,
  87611. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernel.h:16,
  87612. from nvidia/nv-nano-timer.c:26:
  87613. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  87614. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87615. 8 | #define NULL ((void *)0)
  87616. | ^~~~~~~~~~~
  87617. | |
  87618. | void *
  87619. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  87620. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87621. | ^~~~
  87622. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  87623. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87624. | ~~~~~~~~~~~~~~^~~~~
  87625. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87626. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87627. | ^~
  87628. | |
  87629. | struct mm_struct *
  87630. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  87631. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87632. | ~~~~~~~~~~~~~~^~~~~~~~
  87633. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  87634. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87635. | ^~~~~~~~
  87636. | |
  87637. | long unsigned int
  87638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  87639. 2535 | unsigned int gup_flags, struct page **pages);
  87640. | ~~~~~~~~~~~~~~^~~~~
  87641. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  87642. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87643. | ^~~~~~~~~~~~~~ ~~~~~
  87644. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  87645. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87646. | ^~~~~~~~~~~~~~
  87647. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  87648. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  87649. 237 | return (unsigned long)(vmf->virtual_address);
  87650. | ^~~~~~~~~~~~~~~
  87651. | real_address
  87652. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  87653. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87654. 246 | down_read(&mm->mmap_sem);
  87655. | ^~~~~~~~
  87656. | mmap_base
  87657. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  87658. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87659. 255 | up_read(&mm->mmap_sem);
  87660. | ^~~~~~~~
  87661. | mmap_base
  87662. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  87663. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87664. 264 | down_write(&mm->mmap_sem);
  87665. | ^~~~~~~~
  87666. | mmap_base
  87667. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  87668. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87669. 273 | up_write(&mm->mmap_sem);
  87670. | ^~~~~~~~
  87671. | mmap_base
  87672. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  87673. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87674. 282 | return rwsem_is_locked(&mm->mmap_sem);
  87675. | ^~~~~~~~
  87676. | mmap_base
  87677. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  87678. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87679. 291 | return &mm->mmap_sem;
  87680. | ^~~~~~~~
  87681. | mmap_base
  87682. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  87683. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  87684. 300 | vma->vm_flags |= flags;
  87685. | ^~
  87686. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  87687. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  87688. 309 | vma->vm_flags &= ~flags;
  87689. | ^~
  87690. In file included from ././common/inc/nv-linux.h:34,
  87691. from nvidia/nv-usermap.c:27:
  87692. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  87693. 29 | typedef int vm_fault_t;
  87694. | ^~~~~~~~~~
  87695. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  87696. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  87697. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  87698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  87699. from ././common/inc/nv-lock.h:35,
  87700. from ././common/inc/nv-linux.h:32:
  87701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  87702. 1311 | typedef __bitwise unsigned int vm_fault_t;
  87703. | ^~~~~~~~~~
  87704. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  87705. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  87706. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  87707. from ././common/inc/nv-lock.h:29:
  87708. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  87709. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87710. 52 | #define current get_current()
  87711. | ^~~~~~~~~~~~~
  87712. | |
  87713. | struct task_struct *
  87714. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  87715. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87716. | ^~~~~~~
  87717. In file included from ././common/inc/nv-pgprot.h:30,
  87718. from ././common/inc/nv-linux.h:33:
  87719. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  87720. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87721. | ~~~~~~~~~~~~~~^~~~~
  87722. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87723. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  87725. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87726. | ~~~~~~~~~~~~~~^~~~~~~~
  87727. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  87728. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87729. | ^~~~~~~~
  87730. | |
  87731. | long unsigned int
  87732. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  87733. 2535 | unsigned int gup_flags, struct page **pages);
  87734. | ~~~~~~~~~~~~~~^~~~~
  87735. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  87736. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87737. | ^~~~~~~~~~~~~~ ~~~~~
  87738. In file included from ././common/inc/nv-linux.h:37:
  87739. ././common/inc/nv-time.h: At top level:
  87740. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  87741. 40 | struct timespec64 {
  87742. | ^~~~~~~~~~
  87743. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7:
  87744. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  87745. 13 | struct timespec64 {
  87746. | ^~~~~~~~~~
  87747. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  87748. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87749. | ^~~~~~~~~~~~~~
  87750. In file included from ././common/inc/nv.h:35,
  87751. from ././common/inc/nv-linux.h:28:
  87752. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  87753. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  87754. 77 | static inline struct timespec64 timespec64_add
  87755. | ^~~~~~~~~~~~~~
  87756. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  87757. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  87758. | ^~~~~~~~~~~~~~
  87759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87760. 8 | #define NULL ((void *)0)
  87761. | ^~~~~~~~~~~
  87762. | |
  87763. | void *
  87764. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  87765. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87766. | ^~~~
  87767. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  87768. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87769. | ~~~~~~~~~~~~~~^~~~~
  87770. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87771. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87772. | ^~
  87773. | |
  87774. | struct mm_struct *
  87775. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  87776. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87777. | ~~~~~~~~~~~~~~^~~~~~~~
  87778. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  87779. 95 | static inline struct timespec64 timespec64_sub
  87780. | ^~~~~~~~~~~~~~
  87781. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  87782. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87783. | ^~~~~~~~
  87784. | |
  87785. | long unsigned int
  87786. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  87787. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  87788. | ^~~~~~~~~~~~~~
  87789. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  87790. 2535 | unsigned int gup_flags, struct page **pages);
  87791. | ~~~~~~~~~~~~~~^~~~~
  87792. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  87793. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87794. | ^~~~~~~~~~~~~~ ~~~~~
  87795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  87796. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87797. | ^~~~~~~~~~~~~~
  87798. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  87799. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  87800. | ^~~~~~~~~~~~~~~~
  87801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  87802. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  87803. | ^~~~~~~~~~~~~~~~
  87804. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  87805. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  87806. 122 | ktime_get_raw_ts64(&ts);
  87807. | ^~~
  87808. | |
  87809. | struct timespec64 *
  87810. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  87811. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  87812. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  87813. | ~~~~~~~~~~~~~~~~~~~^~
  87814. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  87815. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  87816. 185 | ktime_get_raw_ts64(&tm_aux);
  87817. | ^~~~~~~
  87818. | |
  87819. | struct timespec64 *
  87820. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  87821. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  87822. | ~~~~~~~~~~~~~~~~~~~^~
  87823. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  87824. 221 | ktime_get_raw_ts64(&tm_aux);
  87825. | ^~~~~~~
  87826. | |
  87827. | struct timespec64 *
  87828. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  87829. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  87830. | ~~~~~~~~~~~~~~~~~~~^~
  87831. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  87832. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  87833. 237 | return (unsigned long)(vmf->virtual_address);
  87834. | ^~~~~~~~~~~~~~~
  87835. | real_address
  87836. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  87837. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87838. 246 | down_read(&mm->mmap_sem);
  87839. | ^~~~~~~~
  87840. | mmap_base
  87841. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  87842. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87843. 255 | up_read(&mm->mmap_sem);
  87844. | ^~~~~~~~
  87845. | mmap_base
  87846. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  87847. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87848. 264 | down_write(&mm->mmap_sem);
  87849. | ^~~~~~~~
  87850. | mmap_base
  87851. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  87852. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87853. 273 | up_write(&mm->mmap_sem);
  87854. | ^~~~~~~~
  87855. | mmap_base
  87856. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  87857. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87858. 282 | return rwsem_is_locked(&mm->mmap_sem);
  87859. | ^~~~~~~~
  87860. | mmap_base
  87861. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  87862. In file included from ././common/inc/nv-linux.h:34,
  87863. from nvidia/nv.c:34:
  87864. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  87865. 29 | typedef int vm_fault_t;
  87866. | ^~~~~~~~~~
  87867. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87868. 291 | return &mm->mmap_sem;
  87869. | ^~~~~~~~
  87870. | mmap_base
  87871. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  87872. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  87873. 300 | vma->vm_flags |= flags;
  87874. | ^~
  87875. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  87876. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  87877. 309 | vma->vm_flags &= ~flags;
  87878. | ^~
  87879. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  87880. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  87881. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4,
  87882. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9,
  87883. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17,
  87884. from nvidia/nv.c:24:
  87885. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  87886. 1311 | typedef __bitwise unsigned int vm_fault_t;
  87887. | ^~~~~~~~~~
  87888. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  87889. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12,
  87890. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175,
  87891. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5,
  87892. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13,
  87893. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5,
  87894. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67,
  87895. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13,
  87896. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60,
  87897. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  87898. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13:
  87899. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  87900. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87901. 52 | #define current get_current()
  87902. | ^~~~~~~~~~~~~
  87903. | |
  87904. | struct task_struct *
  87905. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  87906. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87907. | ^~~~~~~
  87908. In file included from ././common/inc/nv-pgprot.h:30,
  87909. from ././common/inc/nv-linux.h:33:
  87910. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  87911. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87912. | ~~~~~~~~~~~~~~^~~~~
  87913. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87914. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87915. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  87916. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87917. | ~~~~~~~~~~~~~~^~~~~~~~
  87918. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  87919. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87920. | ^~~~~~~~
  87921. | |
  87922. | long unsigned int
  87923. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  87924. 2535 | unsigned int gup_flags, struct page **pages);
  87925. | ~~~~~~~~~~~~~~^~~~~
  87926. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  87927. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  87928. | ^~~~~~~~~~~~~~ ~~~~~
  87929. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  87930. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87931. | ^~~~~~~~~~~~~~
  87932. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  87933. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  87934. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  87935. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  87936. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  87937. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  87938. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  87939. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  87940. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/container_of.h:5,
  87941. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list.h:5,
  87942. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:12:
  87943. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  87944. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87945. 8 | #define NULL ((void *)0)
  87946. | ^~~~~~~~~~~
  87947. | |
  87948. | void *
  87949. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  87950. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87951. | ^~~~
  87952. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  87953. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87954. | ~~~~~~~~~~~~~~^~~~~
  87955. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  87956. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87957. | ^~
  87958. | |
  87959. | struct mm_struct *
  87960. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  87961. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87962. | ~~~~~~~~~~~~~~^~~~~~~~
  87963. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  87964. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87965. | ^~~~~~~~
  87966. | |
  87967. | long unsigned int
  87968. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  87969. 2535 | unsigned int gup_flags, struct page **pages);
  87970. | ~~~~~~~~~~~~~~^~~~~
  87971. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  87972. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  87973. | ^~~~~~~~~~~~~~ ~~~~~
  87974. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  87975. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  87976. | ^~~~~~~~~~~~~~
  87977. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  87978. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  87979. 237 | return (unsigned long)(vmf->virtual_address);
  87980. | ^~~~~~~~~~~~~~~
  87981. | real_address
  87982. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  87983. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87984. 246 | down_read(&mm->mmap_sem);
  87985. | ^~~~~~~~
  87986. | mmap_base
  87987. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  87988. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87989. 255 | up_read(&mm->mmap_sem);
  87990. | ^~~~~~~~
  87991. | mmap_base
  87992. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  87993. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87994. 264 | down_write(&mm->mmap_sem);
  87995. | ^~~~~~~~
  87996. | mmap_base
  87997. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  87998. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  87999. 273 | up_write(&mm->mmap_sem);
  88000. | ^~~~~~~~
  88001. | mmap_base
  88002. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  88003. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88004. 282 | return rwsem_is_locked(&mm->mmap_sem);
  88005. | ^~~~~~~~
  88006. | mmap_base
  88007. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  88008. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88009. 291 | return &mm->mmap_sem;
  88010. | ^~~~~~~~
  88011. | mmap_base
  88012. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  88013. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  88014. 300 | vma->vm_flags |= flags;
  88015. | ^~
  88016. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  88017. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  88018. 309 | vma->vm_flags &= ~flags;
  88019. | ^~
  88020. In file included from ././common/inc/nv-linux.h:34,
  88021. from nvidia/nv-pat.c:27:
  88022. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  88023. 29 | typedef int vm_fault_t;
  88024. | ^~~~~~~~~~
  88025. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  88026. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  88027. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  88028. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  88029. from ././common/inc/nv-lock.h:35,
  88030. from ././common/inc/nv-linux.h:32:
  88031. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  88032. 1311 | typedef __bitwise unsigned int vm_fault_t;
  88033. | ^~~~~~~~~~
  88034. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  88035. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  88036. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  88037. from ././common/inc/nv-lock.h:29:
  88038. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  88039. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88040. 52 | #define current get_current()
  88041. | ^~~~~~~~~~~~~
  88042. | |
  88043. | struct task_struct *
  88044. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  88045. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88046. | ^~~~~~~
  88047. In file included from ././common/inc/nv-linux.h:37:
  88048. ././common/inc/nv-time.h: At top level:
  88049. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  88050. 40 | struct timespec64 {
  88051. | ^~~~~~~~~~
  88052. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7:
  88053. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  88054. 13 | struct timespec64 {
  88055. | ^~~~~~~~~~
  88056. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88057. 77 | static inline struct timespec64 timespec64_add
  88058. | ^~~~~~~~~~~~~~
  88059. In file included from ././common/inc/nv-pgprot.h:30,
  88060. from ././common/inc/nv-linux.h:33:
  88061. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  88062. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88063. | ~~~~~~~~~~~~~~^~~~~
  88064. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88065. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  88066. | ^~~~~~~~~~~~~~
  88067. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88068. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88069. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88070. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88071. | ~~~~~~~~~~~~~~^~~~~~~~
  88072. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88073. 95 | static inline struct timespec64 timespec64_sub
  88074. | ^~~~~~~~~~~~~~
  88075. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88076. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88077. | ^~~~~~~~
  88078. | |
  88079. | long unsigned int
  88080. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88081. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  88082. | ^~~~~~~~~~~~~~
  88083. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88084. 2535 | unsigned int gup_flags, struct page **pages);
  88085. | ~~~~~~~~~~~~~~^~~~~
  88086. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  88087. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  88088. | ^~~~~~~~~~~~~~~~
  88089. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  88090. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  88091. | ^~~~~~~~~~~~~~~~
  88092. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88093. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88094. | ^~~~~~~~~~~~~~ ~~~~~
  88095. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88096. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88097. | ^~~~~~~~~~~~~~
  88098. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  88099. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88100. 122 | ktime_get_raw_ts64(&ts);
  88101. | ^~~
  88102. | |
  88103. | struct timespec64 *
  88104. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  88105. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  88106. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  88107. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  88108. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88109. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88110. | ~~~~~~~~~~~~~~~~~~~^~
  88111. In file included from ././common/inc/nv.h:35,
  88112. from ././common/inc/nv-linux.h:28:
  88113. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  88114. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88115. 8 | #define NULL ((void *)0)
  88116. | ^~~~~~~~~~~
  88117. | |
  88118. | void *
  88119. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  88120. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88121. | ^~~~
  88122. In file included from ././common/inc/nv-linux.h:37:
  88123. ././common/inc/nv-time.h: At top level:
  88124. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  88125. 40 | struct timespec64 {
  88126. | ^~~~~~~~~~
  88127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  88128. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88129. | ~~~~~~~~~~~~~~^~~~~
  88130. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88131. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88132. | ^~
  88133. | |
  88134. | struct mm_struct *
  88135. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  88136. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  88137. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  88138. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  88139. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  88140. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  88141. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  88142. 13 | struct timespec64 {
  88143. | ^~~~~~~~~~
  88144. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88145. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88146. | ~~~~~~~~~~~~~~^~~~~~~~
  88147. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88148. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88149. | ^~~~~~~~
  88150. | |
  88151. | long unsigned int
  88152. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88153. 2535 | unsigned int gup_flags, struct page **pages);
  88154. | ~~~~~~~~~~~~~~^~~~~
  88155. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88156. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88157. | ^~~~~~~~~~~~~~ ~~~~~
  88158. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  88159. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88160. 77 | static inline struct timespec64 timespec64_add
  88161. | ^~~~~~~~~~~~~~
  88162. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88163. 185 | ktime_get_raw_ts64(&tm_aux);
  88164. | ^~~~~~~
  88165. | |
  88166. | struct timespec64 *
  88167. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88168. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88169. | ^~~~~~~~~~~~~~
  88170. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88171. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88172. | ~~~~~~~~~~~~~~~~~~~^~
  88173. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88174. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  88175. | ^~~~~~~~~~~~~~
  88176. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  88177. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  88178. 237 | return (unsigned long)(vmf->virtual_address);
  88179. | ^~~~~~~~~~~~~~~
  88180. | real_address
  88181. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88182. 95 | static inline struct timespec64 timespec64_sub
  88183. | ^~~~~~~~~~~~~~
  88184. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  88185. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88186. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  88187. | ^~~~~~~~~~~~~~
  88188. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88189. 246 | down_read(&mm->mmap_sem);
  88190. | ^~~~~~~~
  88191. | mmap_base
  88192. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  88193. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88194. 255 | up_read(&mm->mmap_sem);
  88195. | ^~~~~~~~
  88196. | mmap_base
  88197. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  88198. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  88199. | ^~~~~~~~~~~~~~~~
  88200. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  88201. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  88202. | ^~~~~~~~~~~~~~~~
  88203. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  88204. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88205. 264 | down_write(&mm->mmap_sem);
  88206. | ^~~~~~~~
  88207. | mmap_base
  88208. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  88209. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  88210. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88211. 122 | ktime_get_raw_ts64(&ts);
  88212. | ^~~
  88213. | |
  88214. | struct timespec64 *
  88215. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88216. 273 | up_write(&mm->mmap_sem);
  88217. | ^~~~~~~~
  88218. | mmap_base
  88219. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  88220. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88221. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88222. | ~~~~~~~~~~~~~~~~~~~^~
  88223. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  88224. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88225. 282 | return rwsem_is_locked(&mm->mmap_sem);
  88226. | ^~~~~~~~
  88227. | mmap_base
  88228. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  88229. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88230. 291 | return &mm->mmap_sem;
  88231. | ^~~~~~~~
  88232. | mmap_base
  88233. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  88234. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  88235. 300 | vma->vm_flags |= flags;
  88236. | ^~
  88237. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  88238. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  88239. 309 | vma->vm_flags &= ~flags;
  88240. | ^~
  88241. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  88242. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88243. 185 | ktime_get_raw_ts64(&tm_aux);
  88244. | ^~~~~~~
  88245. | |
  88246. | struct timespec64 *
  88247. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88248. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88249. | ~~~~~~~~~~~~~~~~~~~^~
  88250. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88251. 221 | ktime_get_raw_ts64(&tm_aux);
  88252. | ^~~~~~~
  88253. | |
  88254. | struct timespec64 *
  88255. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88256. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88257. | ~~~~~~~~~~~~~~~~~~~^~
  88258. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88259. 221 | ktime_get_raw_ts64(&tm_aux);
  88260. | ^~~~~~~
  88261. | |
  88262. | struct timespec64 *
  88263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88264. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88265. | ~~~~~~~~~~~~~~~~~~~^~
  88266. In file included from ././common/inc/nv-linux.h:34,
  88267. from nvidia/nv-mmap.c:27:
  88268. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  88269. 29 | typedef int vm_fault_t;
  88270. | ^~~~~~~~~~
  88271. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  88272. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  88273. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  88274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  88275. from ././common/inc/nv-lock.h:35,
  88276. from ././common/inc/nv-linux.h:32:
  88277. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  88278. 1311 | typedef __bitwise unsigned int vm_fault_t;
  88279. | ^~~~~~~~~~
  88280. In file included from ././common/inc/nv-linux.h:37:
  88281. ././common/inc/nv-time.h: At top level:
  88282. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  88283. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  88284. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  88285. from ././common/inc/nv-lock.h:29:
  88286. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  88287. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  88288. 40 | struct timespec64 {
  88289. | ^~~~~~~~~~
  88290. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  88291. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  88292. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  88293. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  88294. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  88295. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  88296. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  88297. 13 | struct timespec64 {
  88298. | ^~~~~~~~~~
  88299. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88300. 52 | #define current get_current()
  88301. | ^~~~~~~~~~~~~
  88302. | |
  88303. | struct task_struct *
  88304. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  88305. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88306. | ^~~~~~~
  88307. In file included from ././common/inc/nv-pgprot.h:30,
  88308. from ././common/inc/nv-linux.h:33:
  88309. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  88310. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88311. | ~~~~~~~~~~~~~~^~~~~
  88312. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88313. 77 | static inline struct timespec64 timespec64_add
  88314. | ^~~~~~~~~~~~~~
  88315. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88316. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88317. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88318. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  88319. | ^~~~~~~~~~~~~~
  88320. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88321. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88322. | ~~~~~~~~~~~~~~^~~~~~~~
  88323. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88324. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88325. | ^~~~~~~~
  88326. | |
  88327. | long unsigned int
  88328. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88329. 95 | static inline struct timespec64 timespec64_sub
  88330. | ^~~~~~~~~~~~~~
  88331. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88332. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  88333. | ^~~~~~~~~~~~~~
  88334. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88335. 2535 | unsigned int gup_flags, struct page **pages);
  88336. | ~~~~~~~~~~~~~~^~~~~
  88337. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88338. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88339. | ^~~~~~~~~~~~~~ ~~~~~
  88340. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  88341. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  88342. | ^~~~~~~~~~~~~~~~
  88343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  88344. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  88345. | ^~~~~~~~~~~~~~~~
  88346. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88347. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88348. | ^~~~~~~~~~~~~~
  88349. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  88350. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88351. 122 | ktime_get_raw_ts64(&ts);
  88352. | ^~~
  88353. | |
  88354. | struct timespec64 *
  88355. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  88356. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88357. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88358. | ~~~~~~~~~~~~~~~~~~~^~
  88359. In file included from ././common/inc/nv.h:35,
  88360. from ././common/inc/nv-linux.h:28:
  88361. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  88362. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  88363. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88364. 185 | ktime_get_raw_ts64(&tm_aux);
  88365. | ^~~~~~~
  88366. | |
  88367. | struct timespec64 *
  88368. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88369. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88370. | ~~~~~~~~~~~~~~~~~~~^~
  88371. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88372. 221 | ktime_get_raw_ts64(&tm_aux);
  88373. | ^~~~~~~
  88374. | |
  88375. | struct timespec64 *
  88376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88377. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88378. | ~~~~~~~~~~~~~~~~~~~^~
  88379. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88380. 8 | #define NULL ((void *)0)
  88381. | ^~~~~~~~~~~
  88382. | |
  88383. | void *
  88384. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  88385. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88386. | ^~~~
  88387. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  88388. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88389. | ~~~~~~~~~~~~~~^~~~~
  88390. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88391. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88392. | ^~
  88393. | |
  88394. | struct mm_struct *
  88395. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88396. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88397. | ~~~~~~~~~~~~~~^~~~~~~~
  88398. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88399. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88400. | ^~~~~~~~
  88401. | |
  88402. | long unsigned int
  88403. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88404. 2535 | unsigned int gup_flags, struct page **pages);
  88405. | ~~~~~~~~~~~~~~^~~~~
  88406. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88407. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88408. | ^~~~~~~~~~~~~~ ~~~~~
  88409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88410. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88411. | ^~~~~~~~~~~~~~
  88412. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  88413. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  88414. 237 | return (unsigned long)(vmf->virtual_address);
  88415. | ^~~~~~~~~~~~~~~
  88416. | real_address
  88417. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  88418. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88419. 246 | down_read(&mm->mmap_sem);
  88420. | ^~~~~~~~
  88421. | mmap_base
  88422. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  88423. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88424. 255 | up_read(&mm->mmap_sem);
  88425. | ^~~~~~~~
  88426. | mmap_base
  88427. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  88428. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88429. 264 | down_write(&mm->mmap_sem);
  88430. | ^~~~~~~~
  88431. | mmap_base
  88432. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  88433. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88434. 273 | up_write(&mm->mmap_sem);
  88435. | ^~~~~~~~
  88436. | mmap_base
  88437. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  88438. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88439. 282 | return rwsem_is_locked(&mm->mmap_sem);
  88440. | ^~~~~~~~
  88441. | mmap_base
  88442. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  88443. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88444. 291 | return &mm->mmap_sem;
  88445. | ^~~~~~~~
  88446. | mmap_base
  88447. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  88448. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  88449. 300 | vma->vm_flags |= flags;
  88450. | ^~
  88451. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  88452. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  88453. 309 | vma->vm_flags &= ~flags;
  88454. | ^~
  88455. In file included from ././common/inc/nv-linux.h:37:
  88456. ././common/inc/nv-time.h: At top level:
  88457. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  88458. 40 | struct timespec64 {
  88459. | ^~~~~~~~~~
  88460. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  88461. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  88462. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  88463. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  88464. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  88465. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  88466. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  88467. 13 | struct timespec64 {
  88468. | ^~~~~~~~~~
  88469. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88470. 77 | static inline struct timespec64 timespec64_add
  88471. | ^~~~~~~~~~~~~~
  88472. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88473. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  88474. | ^~~~~~~~~~~~~~
  88475. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88476. 95 | static inline struct timespec64 timespec64_sub
  88477. | ^~~~~~~~~~~~~~
  88478. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88479. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  88480. | ^~~~~~~~~~~~~~
  88481. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  88482. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  88483. | ^~~~~~~~~~~~~~~~
  88484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  88485. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  88486. | ^~~~~~~~~~~~~~~~
  88487. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  88488. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88489. 122 | ktime_get_raw_ts64(&ts);
  88490. | ^~~
  88491. | |
  88492. | struct timespec64 *
  88493. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  88494. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88495. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88496. | ~~~~~~~~~~~~~~~~~~~^~
  88497. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  88498. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88499. 185 | ktime_get_raw_ts64(&tm_aux);
  88500. | ^~~~~~~
  88501. | |
  88502. | struct timespec64 *
  88503. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88504. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88505. | ~~~~~~~~~~~~~~~~~~~^~
  88506. In file included from ././common/inc/nv-linux.h:34,
  88507. from nvidia/nv-procfs.c:27:
  88508. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  88509. 29 | typedef int vm_fault_t;
  88510. | ^~~~~~~~~~
  88511. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88512. 221 | ktime_get_raw_ts64(&tm_aux);
  88513. | ^~~~~~~
  88514. | |
  88515. | struct timespec64 *
  88516. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88517. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88518. | ~~~~~~~~~~~~~~~~~~~^~
  88519. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  88520. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  88521. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  88522. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  88523. from ././common/inc/nv-lock.h:35,
  88524. from ././common/inc/nv-linux.h:32:
  88525. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  88526. 1311 | typedef __bitwise unsigned int vm_fault_t;
  88527. | ^~~~~~~~~~
  88528. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  88529. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  88530. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  88531. from ././common/inc/nv-lock.h:29:
  88532. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  88533. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88534. 52 | #define current get_current()
  88535. | ^~~~~~~~~~~~~
  88536. | |
  88537. | struct task_struct *
  88538. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  88539. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88540. | ^~~~~~~
  88541. In file included from ././common/inc/nv-pgprot.h:30,
  88542. from ././common/inc/nv-linux.h:33:
  88543. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  88544. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88545. | ~~~~~~~~~~~~~~^~~~~
  88546. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88547. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88548. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88549. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88550. | ~~~~~~~~~~~~~~^~~~~~~~
  88551. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88552. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88553. | ^~~~~~~~
  88554. | |
  88555. | long unsigned int
  88556. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88557. 2535 | unsigned int gup_flags, struct page **pages);
  88558. | ~~~~~~~~~~~~~~^~~~~
  88559. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88560. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88561. | ^~~~~~~~~~~~~~ ~~~~~
  88562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88563. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88564. | ^~~~~~~~~~~~~~
  88565. In file included from ././common/inc/nv.h:35,
  88566. from ././common/inc/nv-linux.h:28:
  88567. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  88568. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88569. 8 | #define NULL ((void *)0)
  88570. | ^~~~~~~~~~~
  88571. | |
  88572. | void *
  88573. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  88574. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88575. | ^~~~
  88576. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  88577. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88578. | ~~~~~~~~~~~~~~^~~~~
  88579. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88580. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88581. | ^~
  88582. | |
  88583. | struct mm_struct *
  88584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88585. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88586. | ~~~~~~~~~~~~~~^~~~~~~~
  88587. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88588. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88589. | ^~~~~~~~
  88590. | |
  88591. | long unsigned int
  88592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88593. 2535 | unsigned int gup_flags, struct page **pages);
  88594. | ~~~~~~~~~~~~~~^~~~~
  88595. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88596. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88597. | ^~~~~~~~~~~~~~ ~~~~~
  88598. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88599. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88600. | ^~~~~~~~~~~~~~
  88601. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  88602. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  88603. 237 | return (unsigned long)(vmf->virtual_address);
  88604. | ^~~~~~~~~~~~~~~
  88605. | real_address
  88606. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  88607. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88608. 246 | down_read(&mm->mmap_sem);
  88609. | ^~~~~~~~
  88610. | mmap_base
  88611. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  88612. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88613. 255 | up_read(&mm->mmap_sem);
  88614. | ^~~~~~~~
  88615. | mmap_base
  88616. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  88617. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88618. 264 | down_write(&mm->mmap_sem);
  88619. | ^~~~~~~~
  88620. | mmap_base
  88621. In file included from ././common/inc/conftest.h:28,
  88622. from ././common/inc/nv-pci-types.h:28,
  88623. from nvidia/nv-pci.c:25:
  88624. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  88625. 74 | #error dma_buf_export() conftest failed!
  88626. | ^~~~~
  88627. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  88628. 87 | #error wait_on_bit_lock() conftest failed!
  88629. | ^~~~~
  88630. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  88631. 90 | #error radix_tree_replace_slot() conftest failed!
  88632. | ^~~~~
  88633. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  88634. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88635. 273 | up_write(&mm->mmap_sem);
  88636. | ^~~~~~~~
  88637. | mmap_base
  88638. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  88639. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88640. 282 | return rwsem_is_locked(&mm->mmap_sem);
  88641. | ^~~~~~~~
  88642. | mmap_base
  88643. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  88644. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88645. 291 | return &mm->mmap_sem;
  88646. | ^~~~~~~~
  88647. | mmap_base
  88648. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  88649. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  88650. 300 | vma->vm_flags |= flags;
  88651. | ^~
  88652. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  88653. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  88654. 309 | vma->vm_flags &= ~flags;
  88655. | ^~
  88656. In file included from ././common/inc/conftest.h:28,
  88657. from ././common/inc/nv_stdarg.h:29,
  88658. from ././common/inc/nv.h:41,
  88659. from ././common/inc/nv-linux.h:28,
  88660. from ././common/inc/nv-dmabuf.h:27,
  88661. from nvidia/nv-dmabuf.c:24:
  88662. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  88663. 74 | #error dma_buf_export() conftest failed!
  88664. | ^~~~~
  88665. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  88666. 87 | #error wait_on_bit_lock() conftest failed!
  88667. | ^~~~~
  88668. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  88669. 90 | #error radix_tree_replace_slot() conftest failed!
  88670. | ^~~~~
  88671. In file included from ././common/inc/nv-linux.h:34,
  88672. from ././common/inc/nv-pci.h:28,
  88673. from nvidia/nv-pci.c:26:
  88674. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  88675. 29 | typedef int vm_fault_t;
  88676. | ^~~~~~~~~~
  88677. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  88678. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  88679. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16,
  88680. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/radix-tree.h:21,
  88681. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/idr.h:15,
  88682. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:12,
  88683. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sysfs.h:16,
  88684. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kobject.h:20,
  88685. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:35,
  88686. from nvidia/nv-pci-table.h:27,
  88687. from nvidia/nv-pci.c:24:
  88688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  88689. 1311 | typedef __bitwise unsigned int vm_fault_t;
  88690. | ^~~~~~~~~~
  88691. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mutex.h:14,
  88692. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:11:
  88693. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  88694. In file included from ././common/inc/nv-linux.h:34:
  88695. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  88696. 29 | typedef int vm_fault_t;
  88697. | ^~~~~~~~~~
  88698. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88699. 52 | #define current get_current()
  88700. | ^~~~~~~~~~~~~
  88701. | |
  88702. | struct task_struct *
  88703. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  88704. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88705. | ^~~~~~~
  88706. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8,
  88707. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dmapool.h:14,
  88708. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:1662:
  88709. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  88710. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88711. | ~~~~~~~~~~~~~~^~~~~
  88712. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88713. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88714. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88715. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88716. | ~~~~~~~~~~~~~~^~~~~~~~
  88717. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88718. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88719. | ^~~~~~~~
  88720. | |
  88721. | long unsigned int
  88722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88723. 2535 | unsigned int gup_flags, struct page **pages);
  88724. | ~~~~~~~~~~~~~~^~~~~
  88725. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88726. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88727. | ^~~~~~~~~~~~~~ ~~~~~
  88728. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88729. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88730. | ^~~~~~~~~~~~~~
  88731. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  88732. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  88733. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  88734. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei_uuid.h:12,
  88735. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei.h:10,
  88736. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mod_devicetable.h:12,
  88737. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:27:
  88738. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  88739. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88740. 8 | #define NULL ((void *)0)
  88741. | ^~~~~~~~~~~
  88742. | |
  88743. | void *
  88744. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  88745. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88746. | ^~~~
  88747. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  88748. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88749. | ~~~~~~~~~~~~~~^~~~~
  88750. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88751. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88752. | ^~
  88753. | |
  88754. | struct mm_struct *
  88755. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88756. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88757. | ~~~~~~~~~~~~~~^~~~~~~~
  88758. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88759. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88760. | ^~~~~~~~
  88761. | |
  88762. | long unsigned int
  88763. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88764. 2535 | unsigned int gup_flags, struct page **pages);
  88765. | ~~~~~~~~~~~~~~^~~~~
  88766. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88767. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88768. | ^~~~~~~~~~~~~~ ~~~~~
  88769. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88770. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88771. | ^~~~~~~~~~~~~~
  88772. In file included from ././common/inc/nv-linux.h:37:
  88773. ././common/inc/nv-time.h: At top level:
  88774. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  88775. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  88776. 40 | struct timespec64 {
  88777. | ^~~~~~~~~~
  88778. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  88779. 237 | return (unsigned long)(vmf->virtual_address);
  88780. | ^~~~~~~~~~~~~~~
  88781. | real_address
  88782. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  88783. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  88784. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  88785. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  88786. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  88787. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  88788. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  88789. 13 | struct timespec64 {
  88790. | ^~~~~~~~~~
  88791. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  88792. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88793. 246 | down_read(&mm->mmap_sem);
  88794. | ^~~~~~~~
  88795. | mmap_base
  88796. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  88797. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88798. 255 | up_read(&mm->mmap_sem);
  88799. | ^~~~~~~~
  88800. | mmap_base
  88801. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88802. 77 | static inline struct timespec64 timespec64_add
  88803. | ^~~~~~~~~~~~~~
  88804. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  88805. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88806. 264 | down_write(&mm->mmap_sem);
  88807. | ^~~~~~~~
  88808. | mmap_base
  88809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88810. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  88811. | ^~~~~~~~~~~~~~
  88812. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  88813. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88814. 273 | up_write(&mm->mmap_sem);
  88815. | ^~~~~~~~
  88816. | mmap_base
  88817. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  88818. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88819. 282 | return rwsem_is_locked(&mm->mmap_sem);
  88820. | ^~~~~~~~
  88821. | mmap_base
  88822. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88823. 95 | static inline struct timespec64 timespec64_sub
  88824. | ^~~~~~~~~~~~~~
  88825. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  88826. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  88827. 291 | return &mm->mmap_sem;
  88828. | ^~~~~~~~
  88829. | mmap_base
  88830. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88831. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  88832. | ^~~~~~~~~~~~~~
  88833. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  88834. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  88835. 300 | vma->vm_flags |= flags;
  88836. | ^~
  88837. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  88838. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  88839. 309 | vma->vm_flags &= ~flags;
  88840. | ^~
  88841. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  88842. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  88843. | ^~~~~~~~~~~~~~~~
  88844. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  88845. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  88846. | ^~~~~~~~~~~~~~~~
  88847. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  88848. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88849. 122 | ktime_get_raw_ts64(&ts);
  88850. | ^~~
  88851. | |
  88852. | struct timespec64 *
  88853. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  88854. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88855. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88856. | ~~~~~~~~~~~~~~~~~~~^~
  88857. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  88858. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88859. 185 | ktime_get_raw_ts64(&tm_aux);
  88860. | ^~~~~~~
  88861. | |
  88862. | struct timespec64 *
  88863. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88864. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88865. | ~~~~~~~~~~~~~~~~~~~^~
  88866. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  88867. 221 | ktime_get_raw_ts64(&tm_aux);
  88868. | ^~~~~~~
  88869. | |
  88870. | struct timespec64 *
  88871. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  88872. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  88873. | ~~~~~~~~~~~~~~~~~~~^~
  88874. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  88875. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  88876. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:7,
  88877. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8,
  88878. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:19,
  88879. from nvidia/nv-dmabuf.c:23:
  88880. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  88881. 1311 | typedef __bitwise unsigned int vm_fault_t;
  88882. | ^~~~~~~~~~
  88883. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  88884. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:9,
  88885. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18,
  88886. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/special_insns.h:10,
  88887. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/io.h:45,
  88888. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:14,
  88889. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/iosys-map.h:10,
  88890. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:16:
  88891. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  88892. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88893. 52 | #define current get_current()
  88894. | ^~~~~~~~~~~~~
  88895. | |
  88896. | struct task_struct *
  88897. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  88898. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88899. | ^~~~~~~
  88900. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  88901. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88902. | ~~~~~~~~~~~~~~^~~~~
  88903. In file included from ././common/inc/nv-linux.h:37:
  88904. ././common/inc/nv-time.h: At top level:
  88905. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88906. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88907. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88908. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88909. | ~~~~~~~~~~~~~~^~~~~~~~
  88910. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  88911. 40 | struct timespec64 {
  88912. | ^~~~~~~~~~
  88913. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  88914. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  88915. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  88916. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  88917. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  88918. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  88919. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  88920. 13 | struct timespec64 {
  88921. | ^~~~~~~~~~
  88922. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88923. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88924. | ^~~~~~~~
  88925. | |
  88926. | long unsigned int
  88927. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88928. 2535 | unsigned int gup_flags, struct page **pages);
  88929. | ~~~~~~~~~~~~~~^~~~~
  88930. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88931. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  88932. | ^~~~~~~~~~~~~~ ~~~~~
  88933. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88934. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88935. | ^~~~~~~~~~~~~~
  88936. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88937. 77 | static inline struct timespec64 timespec64_add
  88938. | ^~~~~~~~~~~~~~
  88939. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88940. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  88941. | ^~~~~~~~~~~~~~
  88942. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  88943. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  88944. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  88945. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:10:
  88946. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  88947. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88948. 8 | #define NULL ((void *)0)
  88949. | ^~~~~~~~~~~
  88950. | |
  88951. | void *
  88952. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  88953. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88954. | ^~~~
  88955. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  88956. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88957. | ~~~~~~~~~~~~~~^~~~~
  88958. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  88959. 95 | static inline struct timespec64 timespec64_sub
  88960. | ^~~~~~~~~~~~~~
  88961. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  88962. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88963. | ^~
  88964. | |
  88965. | struct mm_struct *
  88966. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  88967. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88968. | ~~~~~~~~~~~~~~^~~~~~~~
  88969. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  88970. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  88971. | ^~~~~~~~~~~~~~
  88972. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  88973. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88974. | ^~~~~~~~
  88975. | |
  88976. | long unsigned int
  88977. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  88978. 2535 | unsigned int gup_flags, struct page **pages);
  88979. | ~~~~~~~~~~~~~~^~~~~
  88980. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  88981. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  88982. | ^~~~~~~~~~~~~~ ~~~~~
  88983. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  88984. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  88985. | ^~~~~~~~~~~~~~
  88986. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  88987. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  88988. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  88989. | ^~~~~~~~~~~~~~~~
  88990. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  88991. 237 | return (unsigned long)(vmf->virtual_address);
  88992. | ^~~~~~~~~~~~~~~
  88993. | real_address
  88994. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  88995. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  88996. | ^~~~~~~~~~~~~~~~
  88997. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  88998. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  88999. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89000. 246 | down_read(&mm->mmap_sem);
  89001. | ^~~~~~~~
  89002. | mmap_base
  89003. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89004. 122 | ktime_get_raw_ts64(&ts);
  89005. | ^~~
  89006. | |
  89007. | struct timespec64 *
  89008. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  89009. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89010. 255 | up_read(&mm->mmap_sem);
  89011. | ^~~~~~~~
  89012. | mmap_base
  89013. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  89014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89015. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89016. | ~~~~~~~~~~~~~~~~~~~^~
  89017. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  89018. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89019. 264 | down_write(&mm->mmap_sem);
  89020. | ^~~~~~~~
  89021. | mmap_base
  89022. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  89023. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89024. 273 | up_write(&mm->mmap_sem);
  89025. | ^~~~~~~~
  89026. | mmap_base
  89027. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  89028. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89029. 282 | return rwsem_is_locked(&mm->mmap_sem);
  89030. | ^~~~~~~~
  89031. | mmap_base
  89032. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  89033. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89034. 291 | return &mm->mmap_sem;
  89035. | ^~~~~~~~
  89036. | mmap_base
  89037. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  89038. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89039. 185 | ktime_get_raw_ts64(&tm_aux);
  89040. | ^~~~~~~
  89041. | |
  89042. | struct timespec64 *
  89043. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89044. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89045. | ~~~~~~~~~~~~~~~~~~~^~
  89046. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89047. 221 | ktime_get_raw_ts64(&tm_aux);
  89048. | ^~~~~~~
  89049. | |
  89050. | struct timespec64 *
  89051. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89052. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89053. | ~~~~~~~~~~~~~~~~~~~^~
  89054. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  89055. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  89056. 300 | vma->vm_flags |= flags;
  89057. | ^~
  89058. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  89059. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  89060. 309 | vma->vm_flags &= ~flags;
  89061. | ^~
  89062. In file included from ././common/inc/nv-linux.h:37:
  89063. ././common/inc/nv-time.h: At top level:
  89064. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  89065. 40 | struct timespec64 {
  89066. | ^~~~~~~~~~
  89067. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  89068. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  89069. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  89070. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  89071. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  89072. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  89073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  89074. 13 | struct timespec64 {
  89075. | ^~~~~~~~~~
  89076. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89077. 77 | static inline struct timespec64 timespec64_add
  89078. | ^~~~~~~~~~~~~~
  89079. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89080. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  89081. | ^~~~~~~~~~~~~~
  89082. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89083. 95 | static inline struct timespec64 timespec64_sub
  89084. | ^~~~~~~~~~~~~~
  89085. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89086. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  89087. | ^~~~~~~~~~~~~~
  89088. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  89089. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  89090. | ^~~~~~~~~~~~~~~~
  89091. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  89092. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  89093. | ^~~~~~~~~~~~~~~~
  89094. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  89095. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89096. 122 | ktime_get_raw_ts64(&ts);
  89097. | ^~~
  89098. | |
  89099. | struct timespec64 *
  89100. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  89101. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89102. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89103. | ~~~~~~~~~~~~~~~~~~~^~
  89104. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  89105. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89106. 185 | ktime_get_raw_ts64(&tm_aux);
  89107. | ^~~~~~~
  89108. | |
  89109. | struct timespec64 *
  89110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89111. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89112. | ~~~~~~~~~~~~~~~~~~~^~
  89113. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89114. 221 | ktime_get_raw_ts64(&tm_aux);
  89115. | ^~~~~~~
  89116. | |
  89117. | struct timespec64 *
  89118. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89119. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89120. | ~~~~~~~~~~~~~~~~~~~^~
  89121. In file included from ././common/inc/nv-linux.h:34,
  89122. from nvidia/nv-vm.c:26:
  89123. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  89124. 29 | typedef int vm_fault_t;
  89125. | ^~~~~~~~~~
  89126. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  89127. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  89128. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  89129. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  89130. from ././common/inc/nv-lock.h:35,
  89131. from ././common/inc/nv-linux.h:32:
  89132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  89133. 1311 | typedef __bitwise unsigned int vm_fault_t;
  89134. | ^~~~~~~~~~
  89135. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  89136. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  89137. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  89138. from ././common/inc/nv-lock.h:29:
  89139. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  89140. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89141. 52 | #define current get_current()
  89142. | ^~~~~~~~~~~~~
  89143. | |
  89144. | struct task_struct *
  89145. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  89146. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89147. | ^~~~~~~
  89148. In file included from ././common/inc/nv-pgprot.h:30,
  89149. from ././common/inc/nv-linux.h:33:
  89150. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  89151. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89152. | ~~~~~~~~~~~~~~^~~~~
  89153. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89154. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89155. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89156. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89157. | ~~~~~~~~~~~~~~^~~~~~~~
  89158. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89159. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89160. | ^~~~~~~~
  89161. | |
  89162. | long unsigned int
  89163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89164. 2535 | unsigned int gup_flags, struct page **pages);
  89165. | ~~~~~~~~~~~~~~^~~~~
  89166. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89167. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89168. | ^~~~~~~~~~~~~~ ~~~~~
  89169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89170. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89171. | ^~~~~~~~~~~~~~
  89172. In file included from ././common/inc/nv.h:35,
  89173. from nvidia/nv-vm.c:25:
  89174. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  89175. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89176. 8 | #define NULL ((void *)0)
  89177. | ^~~~~~~~~~~
  89178. | |
  89179. | void *
  89180. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  89181. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89182. | ^~~~
  89183. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  89184. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89185. | ~~~~~~~~~~~~~~^~~~~
  89186. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89187. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89188. | ^~
  89189. | |
  89190. | struct mm_struct *
  89191. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89192. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89193. | ~~~~~~~~~~~~~~^~~~~~~~
  89194. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89195. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89196. | ^~~~~~~~
  89197. | |
  89198. | long unsigned int
  89199. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89200. 2535 | unsigned int gup_flags, struct page **pages);
  89201. | ~~~~~~~~~~~~~~^~~~~
  89202. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89203. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89204. | ^~~~~~~~~~~~~~ ~~~~~
  89205. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89206. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89207. | ^~~~~~~~~~~~~~
  89208. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  89209. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  89210. 237 | return (unsigned long)(vmf->virtual_address);
  89211. | ^~~~~~~~~~~~~~~
  89212. | real_address
  89213. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  89214. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89215. 246 | down_read(&mm->mmap_sem);
  89216. | ^~~~~~~~
  89217. | mmap_base
  89218. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  89219. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89220. 255 | up_read(&mm->mmap_sem);
  89221. | ^~~~~~~~
  89222. | mmap_base
  89223. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  89224. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89225. 264 | down_write(&mm->mmap_sem);
  89226. | ^~~~~~~~
  89227. | mmap_base
  89228. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  89229. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89230. 273 | up_write(&mm->mmap_sem);
  89231. | ^~~~~~~~
  89232. | mmap_base
  89233. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  89234. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89235. 282 | return rwsem_is_locked(&mm->mmap_sem);
  89236. | ^~~~~~~~
  89237. | mmap_base
  89238. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  89239. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89240. 291 | return &mm->mmap_sem;
  89241. | ^~~~~~~~
  89242. | mmap_base
  89243. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  89244. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  89245. 300 | vma->vm_flags |= flags;
  89246. | ^~
  89247. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  89248. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  89249. 309 | vma->vm_flags &= ~flags;
  89250. | ^~
  89251. In file included from ././common/inc/nv-linux.h:34,
  89252. from nvidia/nv-p2p.c:27:
  89253. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  89254. 29 | typedef int vm_fault_t;
  89255. | ^~~~~~~~~~
  89256. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  89257. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  89258. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  89259. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  89260. from ././common/inc/nv-lock.h:35,
  89261. from ././common/inc/nv-linux.h:32:
  89262. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  89263. 1311 | typedef __bitwise unsigned int vm_fault_t;
  89264. | ^~~~~~~~~~
  89265. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  89266. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  89267. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  89268. from ././common/inc/nv-lock.h:29:
  89269. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  89270. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89271. 52 | #define current get_current()
  89272. | ^~~~~~~~~~~~~
  89273. | |
  89274. | struct task_struct *
  89275. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  89276. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89277. | ^~~~~~~
  89278. In file included from ././common/inc/nv-pgprot.h:30,
  89279. from ././common/inc/nv-linux.h:33:
  89280. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  89281. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89282. | ~~~~~~~~~~~~~~^~~~~
  89283. In file included from ././common/inc/nv-linux.h:37:
  89284. ././common/inc/nv-time.h: At top level:
  89285. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  89286. 40 | struct timespec64 {
  89287. | ^~~~~~~~~~
  89288. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  89289. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  89290. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  89291. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  89292. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  89293. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  89294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  89295. 13 | struct timespec64 {
  89296. | ^~~~~~~~~~
  89297. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89298. 77 | static inline struct timespec64 timespec64_add
  89299. | ^~~~~~~~~~~~~~
  89300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89301. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  89302. | ^~~~~~~~~~~~~~
  89303. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89304. 95 | static inline struct timespec64 timespec64_sub
  89305. | ^~~~~~~~~~~~~~
  89306. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89307. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89309. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  89310. | ^~~~~~~~~~~~~~
  89311. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89312. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89313. | ~~~~~~~~~~~~~~^~~~~~~~
  89314. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  89315. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  89316. | ^~~~~~~~~~~~~~~~
  89317. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89318. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89319. | ^~~~~~~~
  89320. | |
  89321. | long unsigned int
  89322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  89323. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  89324. | ^~~~~~~~~~~~~~~~
  89325. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89326. 2535 | unsigned int gup_flags, struct page **pages);
  89327. | ~~~~~~~~~~~~~~^~~~~
  89328. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  89329. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89330. 122 | ktime_get_raw_ts64(&ts);
  89331. | ^~~
  89332. | |
  89333. | struct timespec64 *
  89334. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89335. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89336. | ^~~~~~~~~~~~~~ ~~~~~
  89337. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  89338. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89339. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89340. | ~~~~~~~~~~~~~~~~~~~^~
  89341. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89342. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89343. | ^~~~~~~~~~~~~~
  89344. In file included from ././common/inc/nv.h:35,
  89345. from ././common/inc/nv-linux.h:28:
  89346. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  89347. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89348. 8 | #define NULL ((void *)0)
  89349. | ^~~~~~~~~~~
  89350. | |
  89351. | void *
  89352. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  89353. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89354. | ^~~~
  89355. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  89356. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89357. 185 | ktime_get_raw_ts64(&tm_aux);
  89358. | ^~~~~~~
  89359. | |
  89360. | struct timespec64 *
  89361. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  89362. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89363. | ~~~~~~~~~~~~~~^~~~~
  89364. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89365. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89366. | ^~
  89367. | |
  89368. | struct mm_struct *
  89369. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89370. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89371. | ~~~~~~~~~~~~~~~~~~~^~
  89372. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89373. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89374. | ~~~~~~~~~~~~~~^~~~~~~~
  89375. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89376. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89377. | ^~~~~~~~
  89378. | |
  89379. | long unsigned int
  89380. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89381. 2535 | unsigned int gup_flags, struct page **pages);
  89382. | ~~~~~~~~~~~~~~^~~~~
  89383. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89384. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89385. | ^~~~~~~~~~~~~~ ~~~~~
  89386. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89387. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89388. | ^~~~~~~~~~~~~~
  89389. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  89390. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  89391. 237 | return (unsigned long)(vmf->virtual_address);
  89392. | ^~~~~~~~~~~~~~~
  89393. | real_address
  89394. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  89395. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89396. 246 | down_read(&mm->mmap_sem);
  89397. | ^~~~~~~~
  89398. | mmap_base
  89399. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  89400. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89401. 255 | up_read(&mm->mmap_sem);
  89402. | ^~~~~~~~
  89403. | mmap_base
  89404. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  89405. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89406. 264 | down_write(&mm->mmap_sem);
  89407. | ^~~~~~~~
  89408. | mmap_base
  89409. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  89410. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89411. 273 | up_write(&mm->mmap_sem);
  89412. | ^~~~~~~~
  89413. | mmap_base
  89414. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  89415. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89416. 282 | return rwsem_is_locked(&mm->mmap_sem);
  89417. | ^~~~~~~~
  89418. | mmap_base
  89419. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  89420. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89421. 291 | return &mm->mmap_sem;
  89422. | ^~~~~~~~
  89423. | mmap_base
  89424. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89425. 221 | ktime_get_raw_ts64(&tm_aux);
  89426. | ^~~~~~~
  89427. | |
  89428. | struct timespec64 *
  89429. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89430. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89431. | ~~~~~~~~~~~~~~~~~~~^~
  89432. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  89433. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  89434. 300 | vma->vm_flags |= flags;
  89435. | ^~
  89436. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  89437. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  89438. 309 | vma->vm_flags &= ~flags;
  89439. | ^~
  89440. In file included from ././common/inc/nv-linux.h:37:
  89441. ././common/inc/nv-time.h: At top level:
  89442. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  89443. 40 | struct timespec64 {
  89444. | ^~~~~~~~~~
  89445. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  89446. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  89447. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  89448. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  89449. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  89450. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  89451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  89452. 13 | struct timespec64 {
  89453. | ^~~~~~~~~~
  89454. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89455. 77 | static inline struct timespec64 timespec64_add
  89456. | ^~~~~~~~~~~~~~
  89457. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89458. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  89459. | ^~~~~~~~~~~~~~
  89460. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89461. 95 | static inline struct timespec64 timespec64_sub
  89462. | ^~~~~~~~~~~~~~
  89463. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89464. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  89465. | ^~~~~~~~~~~~~~
  89466. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  89467. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  89468. | ^~~~~~~~~~~~~~~~
  89469. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  89470. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  89471. | ^~~~~~~~~~~~~~~~
  89472. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  89473. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89474. 122 | ktime_get_raw_ts64(&ts);
  89475. | ^~~
  89476. | |
  89477. | struct timespec64 *
  89478. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  89479. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89480. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89481. | ~~~~~~~~~~~~~~~~~~~^~
  89482. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  89483. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89484. 185 | ktime_get_raw_ts64(&tm_aux);
  89485. | ^~~~~~~
  89486. | |
  89487. | struct timespec64 *
  89488. In file included from ././common/inc/nv-linux.h:34,
  89489. from nvidia/nv-cray.c:27:
  89490. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  89491. 29 | typedef int vm_fault_t;
  89492. | ^~~~~~~~~~
  89493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89494. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89495. | ~~~~~~~~~~~~~~~~~~~^~
  89496. In file included from ././common/inc/nv-linux.h:34,
  89497. from nvidia/os-interface.c:27:
  89498. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  89499. 29 | typedef int vm_fault_t;
  89500. | ^~~~~~~~~~
  89501. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  89502. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  89503. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  89504. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  89505. from ././common/inc/nv-lock.h:35,
  89506. from ././common/inc/nv-linux.h:32:
  89507. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  89508. 1311 | typedef __bitwise unsigned int vm_fault_t;
  89509. | ^~~~~~~~~~
  89510. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  89511. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  89512. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  89513. from ././common/inc/nv-lock.h:29:
  89514. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  89515. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89516. 52 | #define current get_current()
  89517. | ^~~~~~~~~~~~~
  89518. | |
  89519. | struct task_struct *
  89520. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  89521. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89522. | ^~~~~~~
  89523. In file included from ././common/inc/nv-pgprot.h:30,
  89524. from ././common/inc/nv-linux.h:33:
  89525. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  89526. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89527. | ~~~~~~~~~~~~~~^~~~~
  89528. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89529. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89531. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89532. | ~~~~~~~~~~~~~~^~~~~~~~
  89533. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89534. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89535. | ^~~~~~~~
  89536. | |
  89537. | long unsigned int
  89538. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89539. 2535 | unsigned int gup_flags, struct page **pages);
  89540. | ~~~~~~~~~~~~~~^~~~~
  89541. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89542. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89543. | ^~~~~~~~~~~~~~ ~~~~~
  89544. In file included from ././common/inc/nv-linux.h:34,
  89545. from nvidia/nv-dma.c:27:
  89546. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  89547. 29 | typedef int vm_fault_t;
  89548. | ^~~~~~~~~~
  89549. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89550. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89551. | ^~~~~~~~~~~~~~
  89552. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  89553. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  89554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  89555. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  89556. from ././common/inc/nv-lock.h:35,
  89557. from ././common/inc/nv-linux.h:32:
  89558. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  89559. 1311 | typedef __bitwise unsigned int vm_fault_t;
  89560. | ^~~~~~~~~~
  89561. In file included from ././common/inc/nv.h:35,
  89562. from ././common/inc/nv-linux.h:28:
  89563. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  89564. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89565. 221 | ktime_get_raw_ts64(&tm_aux);
  89566. | ^~~~~~~
  89567. | |
  89568. | struct timespec64 *
  89569. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89570. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89571. | ~~~~~~~~~~~~~~~~~~~^~
  89572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89573. 8 | #define NULL ((void *)0)
  89574. | ^~~~~~~~~~~
  89575. | |
  89576. | void *
  89577. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  89578. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89579. | ^~~~
  89580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  89581. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89582. | ~~~~~~~~~~~~~~^~~~~
  89583. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89584. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89585. | ^~
  89586. | |
  89587. | struct mm_struct *
  89588. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  89589. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  89590. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  89591. from ././common/inc/nv-lock.h:29:
  89592. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  89593. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89594. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89595. | ~~~~~~~~~~~~~~^~~~~~~~
  89596. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89597. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89598. | ^~~~~~~~
  89599. | |
  89600. | long unsigned int
  89601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89602. 2535 | unsigned int gup_flags, struct page **pages);
  89603. | ~~~~~~~~~~~~~~^~~~~
  89604. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89605. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89606. | ^~~~~~~~~~~~~~ ~~~~~
  89607. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89608. 52 | #define current get_current()
  89609. | ^~~~~~~~~~~~~
  89610. | |
  89611. | struct task_struct *
  89612. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  89613. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89614. | ^~~~~~~
  89615. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89616. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89617. | ^~~~~~~~~~~~~~
  89618. In file included from ././common/inc/nv-pgprot.h:30,
  89619. from ././common/inc/nv-linux.h:33:
  89620. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  89621. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89622. | ~~~~~~~~~~~~~~^~~~~
  89623. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  89624. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89625. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89626. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  89627. 237 | return (unsigned long)(vmf->virtual_address);
  89628. | ^~~~~~~~~~~~~~~
  89629. | real_address
  89630. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89631. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89632. | ~~~~~~~~~~~~~~^~~~~~~~
  89633. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  89634. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89635. 246 | down_read(&mm->mmap_sem);
  89636. | ^~~~~~~~
  89637. | mmap_base
  89638. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89639. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89640. | ^~~~~~~~
  89641. | |
  89642. | long unsigned int
  89643. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  89644. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89645. 255 | up_read(&mm->mmap_sem);
  89646. | ^~~~~~~~
  89647. | mmap_base
  89648. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89649. 2535 | unsigned int gup_flags, struct page **pages);
  89650. | ~~~~~~~~~~~~~~^~~~~
  89651. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  89652. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89653. 264 | down_write(&mm->mmap_sem);
  89654. | ^~~~~~~~
  89655. | mmap_base
  89656. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  89657. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89658. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89659. | ^~~~~~~~~~~~~~ ~~~~~
  89660. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89661. 273 | up_write(&mm->mmap_sem);
  89662. | ^~~~~~~~
  89663. | mmap_base
  89664. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89665. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89666. | ^~~~~~~~~~~~~~
  89667. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  89668. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89669. 282 | return rwsem_is_locked(&mm->mmap_sem);
  89670. | ^~~~~~~~
  89671. | mmap_base
  89672. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  89673. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89674. 291 | return &mm->mmap_sem;
  89675. | ^~~~~~~~
  89676. | mmap_base
  89677. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  89678. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  89679. 300 | vma->vm_flags |= flags;
  89680. | ^~
  89681. In file included from ././common/inc/nv.h:35,
  89682. from ././common/inc/nv-linux.h:28:
  89683. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  89684. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  89685. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  89686. 309 | vma->vm_flags &= ~flags;
  89687. | ^~
  89688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89689. 8 | #define NULL ((void *)0)
  89690. | ^~~~~~~~~~~
  89691. | |
  89692. | void *
  89693. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  89694. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89695. | ^~~~
  89696. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  89697. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89698. | ~~~~~~~~~~~~~~^~~~~
  89699. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89700. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89701. | ^~
  89702. | |
  89703. | struct mm_struct *
  89704. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89705. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89706. | ~~~~~~~~~~~~~~^~~~~~~~
  89707. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89708. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89709. | ^~~~~~~~
  89710. | |
  89711. | long unsigned int
  89712. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89713. 2535 | unsigned int gup_flags, struct page **pages);
  89714. | ~~~~~~~~~~~~~~^~~~~
  89715. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89716. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89717. | ^~~~~~~~~~~~~~ ~~~~~
  89718. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89719. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89720. | ^~~~~~~~~~~~~~
  89721. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  89722. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  89723. 237 | return (unsigned long)(vmf->virtual_address);
  89724. | ^~~~~~~~~~~~~~~
  89725. | real_address
  89726. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  89727. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89728. 246 | down_read(&mm->mmap_sem);
  89729. | ^~~~~~~~
  89730. | mmap_base
  89731. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  89732. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89733. 255 | up_read(&mm->mmap_sem);
  89734. | ^~~~~~~~
  89735. | mmap_base
  89736. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  89737. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89738. 264 | down_write(&mm->mmap_sem);
  89739. | ^~~~~~~~
  89740. | mmap_base
  89741. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  89742. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89743. 273 | up_write(&mm->mmap_sem);
  89744. | ^~~~~~~~
  89745. | mmap_base
  89746. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  89747. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89748. 282 | return rwsem_is_locked(&mm->mmap_sem);
  89749. | ^~~~~~~~
  89750. | mmap_base
  89751. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  89752. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89753. 291 | return &mm->mmap_sem;
  89754. | ^~~~~~~~
  89755. | mmap_base
  89756. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  89757. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  89758. 300 | vma->vm_flags |= flags;
  89759. | ^~
  89760. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  89761. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  89762. 309 | vma->vm_flags &= ~flags;
  89763. | ^~
  89764. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  89765. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  89766. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  89767. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  89768. from ././common/inc/nv-lock.h:35,
  89769. from ././common/inc/nv-linux.h:32:
  89770. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  89771. 1311 | typedef __bitwise unsigned int vm_fault_t;
  89772. | ^~~~~~~~~~
  89773. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  89774. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  89775. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  89776. from ././common/inc/nv-lock.h:29:
  89777. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  89778. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89779. 52 | #define current get_current()
  89780. | ^~~~~~~~~~~~~
  89781. | |
  89782. | struct task_struct *
  89783. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  89784. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89785. | ^~~~~~~
  89786. In file included from ././common/inc/nv-pgprot.h:30,
  89787. from ././common/inc/nv-linux.h:33:
  89788. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  89789. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89790. | ~~~~~~~~~~~~~~^~~~~
  89791. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89792. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89793. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89794. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89795. | ~~~~~~~~~~~~~~^~~~~~~~
  89796. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89797. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89798. | ^~~~~~~~
  89799. | |
  89800. | long unsigned int
  89801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89802. 2535 | unsigned int gup_flags, struct page **pages);
  89803. | ~~~~~~~~~~~~~~^~~~~
  89804. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89805. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  89806. | ^~~~~~~~~~~~~~ ~~~~~
  89807. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89808. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89809. | ^~~~~~~~~~~~~~
  89810. In file included from ././common/inc/nv.h:35,
  89811. from ././common/inc/nv-linux.h:28:
  89812. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  89813. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89814. 8 | #define NULL ((void *)0)
  89815. | ^~~~~~~~~~~
  89816. | |
  89817. | void *
  89818. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  89819. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89820. | ^~~~
  89821. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  89822. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89823. | ~~~~~~~~~~~~~~^~~~~
  89824. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  89825. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89826. | ^~
  89827. | |
  89828. | struct mm_struct *
  89829. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  89830. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89831. | ~~~~~~~~~~~~~~^~~~~~~~
  89832. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  89833. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89834. | ^~~~~~~~
  89835. | |
  89836. | long unsigned int
  89837. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  89838. 2535 | unsigned int gup_flags, struct page **pages);
  89839. | ~~~~~~~~~~~~~~^~~~~
  89840. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  89841. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  89842. | ^~~~~~~~~~~~~~ ~~~~~
  89843. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  89844. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  89845. | ^~~~~~~~~~~~~~
  89846. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  89847. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  89848. 237 | return (unsigned long)(vmf->virtual_address);
  89849. | ^~~~~~~~~~~~~~~
  89850. | real_address
  89851. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  89852. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89853. 246 | down_read(&mm->mmap_sem);
  89854. | ^~~~~~~~
  89855. | mmap_base
  89856. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  89857. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89858. 255 | up_read(&mm->mmap_sem);
  89859. | ^~~~~~~~
  89860. | mmap_base
  89861. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  89862. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89863. 264 | down_write(&mm->mmap_sem);
  89864. | ^~~~~~~~
  89865. | mmap_base
  89866. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  89867. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89868. 273 | up_write(&mm->mmap_sem);
  89869. | ^~~~~~~~
  89870. | mmap_base
  89871. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  89872. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89873. 282 | return rwsem_is_locked(&mm->mmap_sem);
  89874. | ^~~~~~~~
  89875. | mmap_base
  89876. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  89877. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  89878. 291 | return &mm->mmap_sem;
  89879. | ^~~~~~~~
  89880. | mmap_base
  89881. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  89882. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  89883. 300 | vma->vm_flags |= flags;
  89884. | ^~
  89885. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  89886. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  89887. 309 | vma->vm_flags &= ~flags;
  89888. | ^~
  89889. In file included from ././common/inc/nv-linux.h:37:
  89890. ././common/inc/nv-time.h: At top level:
  89891. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  89892. 40 | struct timespec64 {
  89893. | ^~~~~~~~~~
  89894. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  89895. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  89896. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  89897. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  89898. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  89899. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  89900. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  89901. 13 | struct timespec64 {
  89902. | ^~~~~~~~~~
  89903. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89904. 77 | static inline struct timespec64 timespec64_add
  89905. | ^~~~~~~~~~~~~~
  89906. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89907. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  89908. | ^~~~~~~~~~~~~~
  89909. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89910. 95 | static inline struct timespec64 timespec64_sub
  89911. | ^~~~~~~~~~~~~~
  89912. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89913. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  89914. | ^~~~~~~~~~~~~~
  89915. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  89916. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  89917. | ^~~~~~~~~~~~~~~~
  89918. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  89919. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  89920. | ^~~~~~~~~~~~~~~~
  89921. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  89922. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89923. 122 | ktime_get_raw_ts64(&ts);
  89924. | ^~~
  89925. | |
  89926. | struct timespec64 *
  89927. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  89928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89929. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89930. | ~~~~~~~~~~~~~~~~~~~^~
  89931. In file included from ././common/inc/nv-linux.h:37:
  89932. ././common/inc/nv-time.h: At top level:
  89933. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  89934. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89935. 185 | ktime_get_raw_ts64(&tm_aux);
  89936. | ^~~~~~~
  89937. | |
  89938. | struct timespec64 *
  89939. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  89940. 40 | struct timespec64 {
  89941. | ^~~~~~~~~~
  89942. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89943. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89944. | ~~~~~~~~~~~~~~~~~~~^~
  89945. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  89946. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  89947. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  89948. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  89949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  89950. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  89951. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  89952. 13 | struct timespec64 {
  89953. | ^~~~~~~~~~
  89954. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89955. 77 | static inline struct timespec64 timespec64_add
  89956. | ^~~~~~~~~~~~~~
  89957. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89958. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  89959. | ^~~~~~~~~~~~~~
  89960. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  89961. 95 | static inline struct timespec64 timespec64_sub
  89962. | ^~~~~~~~~~~~~~
  89963. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  89964. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  89965. | ^~~~~~~~~~~~~~
  89966. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  89967. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  89968. | ^~~~~~~~~~~~~~~~
  89969. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  89970. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  89971. | ^~~~~~~~~~~~~~~~
  89972. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  89973. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89974. 122 | ktime_get_raw_ts64(&ts);
  89975. | ^~~
  89976. | |
  89977. | struct timespec64 *
  89978. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  89979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89980. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89981. | ~~~~~~~~~~~~~~~~~~~^~
  89982. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89983. 221 | ktime_get_raw_ts64(&tm_aux);
  89984. | ^~~~~~~
  89985. | |
  89986. | struct timespec64 *
  89987. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89988. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89989. | ~~~~~~~~~~~~~~~~~~~^~
  89990. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  89991. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  89992. 185 | ktime_get_raw_ts64(&tm_aux);
  89993. | ^~~~~~~
  89994. | |
  89995. | struct timespec64 *
  89996. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  89997. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  89998. | ~~~~~~~~~~~~~~~~~~~^~
  89999. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90000. 221 | ktime_get_raw_ts64(&tm_aux);
  90001. | ^~~~~~~
  90002. | |
  90003. | struct timespec64 *
  90004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90005. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90006. | ~~~~~~~~~~~~~~~~~~~^~
  90007. In file included from ././common/inc/nv-linux.h:37:
  90008. ././common/inc/nv-time.h: At top level:
  90009. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  90010. 40 | struct timespec64 {
  90011. | ^~~~~~~~~~
  90012. In file included from ././common/inc/nv-linux.h:34,
  90013. from nvidia/nv-acpi.c:27:
  90014. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  90015. 29 | typedef int vm_fault_t;
  90016. | ^~~~~~~~~~
  90017. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  90018. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  90019. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  90020. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  90021. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  90022. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  90023. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  90024. 13 | struct timespec64 {
  90025. | ^~~~~~~~~~
  90026. In file included from ././common/inc/nv-linux.h:34,
  90027. from nvidia/nv-vtophys.c:27:
  90028. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  90029. 29 | typedef int vm_fault_t;
  90030. | ^~~~~~~~~~
  90031. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  90032. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  90033. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  90034. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  90035. from ././common/inc/nv-lock.h:35,
  90036. from ././common/inc/nv-linux.h:32:
  90037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  90038. 1311 | typedef __bitwise unsigned int vm_fault_t;
  90039. | ^~~~~~~~~~
  90040. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  90041. 77 | static inline struct timespec64 timespec64_add
  90042. | ^~~~~~~~~~~~~~
  90043. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  90044. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  90045. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  90046. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  90047. from ././common/inc/nv-lock.h:35,
  90048. from ././common/inc/nv-linux.h:32:
  90049. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  90050. 1311 | typedef __bitwise unsigned int vm_fault_t;
  90051. | ^~~~~~~~~~
  90052. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  90053. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  90054. | ^~~~~~~~~~~~~~
  90055. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  90056. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  90057. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  90058. from ././common/inc/nv-lock.h:29:
  90059. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  90060. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  90061. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  90062. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  90063. from ././common/inc/nv-lock.h:29:
  90064. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  90065. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  90066. 95 | static inline struct timespec64 timespec64_sub
  90067. | ^~~~~~~~~~~~~~
  90068. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90069. 52 | #define current get_current()
  90070. | ^~~~~~~~~~~~~
  90071. | |
  90072. | struct task_struct *
  90073. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  90074. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90075. | ^~~~~~~
  90076. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  90077. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  90078. | ^~~~~~~~~~~~~~
  90079. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90080. 52 | #define current get_current()
  90081. | ^~~~~~~~~~~~~
  90082. | |
  90083. | struct task_struct *
  90084. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  90085. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90086. | ^~~~~~~
  90087. In file included from ././common/inc/nv-pgprot.h:30,
  90088. from ././common/inc/nv-linux.h:33:
  90089. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  90090. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90091. | ~~~~~~~~~~~~~~^~~~~
  90092. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90093. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90094. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  90095. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  90096. | ^~~~~~~~~~~~~~~~
  90097. In file included from ././common/inc/nv-pgprot.h:30,
  90098. from ././common/inc/nv-linux.h:33:
  90099. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  90100. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90101. | ~~~~~~~~~~~~~~^~~~~
  90102. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  90103. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  90104. | ^~~~~~~~~~~~~~~~
  90105. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90106. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90107. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  90108. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90109. | ~~~~~~~~~~~~~~^~~~~~~~
  90110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  90111. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90112. | ~~~~~~~~~~~~~~^~~~~~~~
  90113. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  90114. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90115. | ^~~~~~~~
  90116. | |
  90117. | long unsigned int
  90118. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  90119. 2535 | unsigned int gup_flags, struct page **pages);
  90120. | ~~~~~~~~~~~~~~^~~~~
  90121. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  90122. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90123. | ^~~~~~~~
  90124. | |
  90125. | long unsigned int
  90126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  90127. 2535 | unsigned int gup_flags, struct page **pages);
  90128. | ~~~~~~~~~~~~~~^~~~~
  90129. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  90130. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90131. | ^~~~~~~~~~~~~~ ~~~~~
  90132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  90133. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90134. | ^~~~~~~~~~~~~~
  90135. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  90136. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90137. | ^~~~~~~~~~~~~~ ~~~~~
  90138. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  90139. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90140. | ^~~~~~~~~~~~~~
  90141. In file included from ././common/inc/nv.h:35,
  90142. from ././common/inc/nv-linux.h:28:
  90143. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  90144. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90145. 8 | #define NULL ((void *)0)
  90146. | ^~~~~~~~~~~
  90147. | |
  90148. | void *
  90149. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  90150. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90151. | ^~~~
  90152. In file included from ././common/inc/nv.h:35,
  90153. from ././common/inc/nv-linux.h:28:
  90154. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  90155. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90156. 8 | #define NULL ((void *)0)
  90157. | ^~~~~~~~~~~
  90158. | |
  90159. | void *
  90160. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  90161. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90162. | ^~~~
  90163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  90164. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90165. | ~~~~~~~~~~~~~~^~~~~
  90166. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90167. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90168. | ^~
  90169. | |
  90170. | struct mm_struct *
  90171. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  90172. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90173. | ~~~~~~~~~~~~~~^~~~~
  90174. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90175. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90176. | ^~
  90177. | |
  90178. | struct mm_struct *
  90179. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  90180. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90181. | ~~~~~~~~~~~~~~^~~~~~~~
  90182. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  90183. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90184. | ^~~~~~~~
  90185. | |
  90186. | long unsigned int
  90187. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  90188. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90189. | ~~~~~~~~~~~~~~^~~~~~~~
  90190. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  90191. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90192. | ^~~~~~~~
  90193. | |
  90194. | long unsigned int
  90195. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  90196. 2535 | unsigned int gup_flags, struct page **pages);
  90197. | ~~~~~~~~~~~~~~^~~~~
  90198. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  90199. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90200. | ^~~~~~~~~~~~~~ ~~~~~
  90201. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  90202. 2535 | unsigned int gup_flags, struct page **pages);
  90203. | ~~~~~~~~~~~~~~^~~~~
  90204. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  90205. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90206. | ^~~~~~~~~~~~~~
  90207. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  90208. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90209. | ^~~~~~~~~~~~~~ ~~~~~
  90210. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  90211. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90212. | ^~~~~~~~~~~~~~
  90213. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  90214. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  90215. 237 | return (unsigned long)(vmf->virtual_address);
  90216. | ^~~~~~~~~~~~~~~
  90217. | real_address
  90218. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  90219. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  90220. 237 | return (unsigned long)(vmf->virtual_address);
  90221. | ^~~~~~~~~~~~~~~
  90222. | real_address
  90223. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  90224. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90225. 246 | down_read(&mm->mmap_sem);
  90226. | ^~~~~~~~
  90227. | mmap_base
  90228. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  90229. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  90230. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90231. 246 | down_read(&mm->mmap_sem);
  90232. | ^~~~~~~~
  90233. | mmap_base
  90234. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90235. 255 | up_read(&mm->mmap_sem);
  90236. | ^~~~~~~~
  90237. | mmap_base
  90238. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  90239. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  90240. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90241. 255 | up_read(&mm->mmap_sem);
  90242. | ^~~~~~~~
  90243. | mmap_base
  90244. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90245. 264 | down_write(&mm->mmap_sem);
  90246. | ^~~~~~~~
  90247. | mmap_base
  90248. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  90249. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  90250. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90251. 264 | down_write(&mm->mmap_sem);
  90252. | ^~~~~~~~
  90253. | mmap_base
  90254. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90255. 273 | up_write(&mm->mmap_sem);
  90256. | ^~~~~~~~
  90257. | mmap_base
  90258. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  90259. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  90260. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90261. 273 | up_write(&mm->mmap_sem);
  90262. | ^~~~~~~~
  90263. | mmap_base
  90264. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90265. 282 | return rwsem_is_locked(&mm->mmap_sem);
  90266. | ^~~~~~~~
  90267. | mmap_base
  90268. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  90269. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  90270. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90271. 282 | return rwsem_is_locked(&mm->mmap_sem);
  90272. | ^~~~~~~~
  90273. | mmap_base
  90274. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90275. 291 | return &mm->mmap_sem;
  90276. | ^~~~~~~~
  90277. | mmap_base
  90278. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  90279. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  90280. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  90281. 300 | vma->vm_flags |= flags;
  90282. | ^~
  90283. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90284. 291 | return &mm->mmap_sem;
  90285. | ^~~~~~~~
  90286. | mmap_base
  90287. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  90288. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  90289. 309 | vma->vm_flags &= ~flags;
  90290. | ^~
  90291. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  90292. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  90293. 300 | vma->vm_flags |= flags;
  90294. | ^~
  90295. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  90296. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  90297. 309 | vma->vm_flags &= ~flags;
  90298. | ^~
  90299. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  90300. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90301. 122 | ktime_get_raw_ts64(&ts);
  90302. | ^~~
  90303. | |
  90304. | struct timespec64 *
  90305. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  90306. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90307. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90308. | ~~~~~~~~~~~~~~~~~~~^~
  90309. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  90310. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90311. 185 | ktime_get_raw_ts64(&tm_aux);
  90312. | ^~~~~~~
  90313. | |
  90314. | struct timespec64 *
  90315. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90316. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90317. | ~~~~~~~~~~~~~~~~~~~^~
  90318. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90319. 221 | ktime_get_raw_ts64(&tm_aux);
  90320. | ^~~~~~~
  90321. | |
  90322. | struct timespec64 *
  90323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90324. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90325. | ~~~~~~~~~~~~~~~~~~~^~
  90326. In file included from ././common/inc/nv-linux.h:37:
  90327. ././common/inc/nv-time.h: At top level:
  90328. In file included from ././common/inc/nv-linux.h:37:
  90329. ././common/inc/nv-time.h: At top level:
  90330. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  90331. 40 | struct timespec64 {
  90332. | ^~~~~~~~~~
  90333. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  90334. 40 | struct timespec64 {
  90335. | ^~~~~~~~~~
  90336. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  90337. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  90338. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  90339. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  90340. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  90341. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  90342. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  90343. 13 | struct timespec64 {
  90344. | ^~~~~~~~~~
  90345. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  90346. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  90347. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  90348. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  90349. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  90350. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  90351. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  90352. 13 | struct timespec64 {
  90353. | ^~~~~~~~~~
  90354. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  90355. 77 | static inline struct timespec64 timespec64_add
  90356. | ^~~~~~~~~~~~~~
  90357. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  90358. 77 | static inline struct timespec64 timespec64_add
  90359. | ^~~~~~~~~~~~~~
  90360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  90361. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  90362. | ^~~~~~~~~~~~~~
  90363. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  90364. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  90365. | ^~~~~~~~~~~~~~
  90366. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  90367. 95 | static inline struct timespec64 timespec64_sub
  90368. | ^~~~~~~~~~~~~~
  90369. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  90370. 95 | static inline struct timespec64 timespec64_sub
  90371. | ^~~~~~~~~~~~~~
  90372. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  90373. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  90374. | ^~~~~~~~~~~~~~
  90375. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  90376. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  90377. | ^~~~~~~~~~~~~~
  90378. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  90379. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  90380. | ^~~~~~~~~~~~~~~~
  90381. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  90382. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  90383. | ^~~~~~~~~~~~~~~~
  90384. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  90385. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  90386. | ^~~~~~~~~~~~~~~~
  90387. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  90388. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  90389. | ^~~~~~~~~~~~~~~~
  90390. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  90391. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  90392. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90393. 122 | ktime_get_raw_ts64(&ts);
  90394. | ^~~
  90395. | |
  90396. | struct timespec64 *
  90397. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90398. 122 | ktime_get_raw_ts64(&ts);
  90399. | ^~~
  90400. | |
  90401. | struct timespec64 *
  90402. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  90403. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90404. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90405. | ~~~~~~~~~~~~~~~~~~~^~
  90406. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  90407. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90408. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90409. | ~~~~~~~~~~~~~~~~~~~^~
  90410. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  90411. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  90412. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90413. 185 | ktime_get_raw_ts64(&tm_aux);
  90414. | ^~~~~~~
  90415. | |
  90416. | struct timespec64 *
  90417. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90418. 185 | ktime_get_raw_ts64(&tm_aux);
  90419. | ^~~~~~~
  90420. | |
  90421. | struct timespec64 *
  90422. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90423. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90424. | ~~~~~~~~~~~~~~~~~~~^~
  90425. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90426. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90427. | ~~~~~~~~~~~~~~~~~~~^~
  90428. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90429. 221 | ktime_get_raw_ts64(&tm_aux);
  90430. | ^~~~~~~
  90431. | |
  90432. | struct timespec64 *
  90433. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90434. 221 | ktime_get_raw_ts64(&tm_aux);
  90435. | ^~~~~~~
  90436. | |
  90437. | struct timespec64 *
  90438. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90439. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90440. | ~~~~~~~~~~~~~~~~~~~^~
  90441. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90442. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90443. | ~~~~~~~~~~~~~~~~~~~^~
  90444. In file included from ././common/inc/conftest.h:28,
  90445. from ././common/inc/nv_stdarg.h:29,
  90446. from ././common/inc/os-interface.h:40,
  90447. from nvidia/nv-i2c.c:28:
  90448. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  90449. 74 | #error dma_buf_export() conftest failed!
  90450. | ^~~~~
  90451. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  90452. 87 | #error wait_on_bit_lock() conftest failed!
  90453. | ^~~~~
  90454. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  90455. 90 | #error radix_tree_replace_slot() conftest failed!
  90456. | ^~~~~
  90457. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90458. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90459. 502 | NV_MEMDBG_ADD(ptr, size);
  90460. | ^
  90461. In file included from ././common/inc/nv-linux.h:34,
  90462. from nvidia/nv-i2c.c:29:
  90463. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  90464. 29 | typedef int vm_fault_t;
  90465. | ^~~~~~~~~~
  90466. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  90467. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  90468. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/slab.h:16,
  90469. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/resource_ext.h:11,
  90470. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:13,
  90471. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:13,
  90472. from nvidia/nv-i2c.c:26:
  90473. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  90474. 1311 | typedef __bitwise unsigned int vm_fault_t;
  90475. | ^~~~~~~~~~
  90476. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90477. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90478. 502 | NV_MEMDBG_ADD(ptr, size);
  90479. | ^
  90480. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  90481. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  90482. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  90483. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:8:
  90484. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  90485. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90486. 52 | #define current get_current()
  90487. | ^~~~~~~~~~~~~
  90488. | |
  90489. | struct task_struct *
  90490. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  90491. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90492. | ^~~~~~~
  90493. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/memcontrol.h:21,
  90494. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/swap.h:9,
  90495. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/suspend.h:5,
  90496. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/regulator/consumer.h:35,
  90497. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:19:
  90498. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  90499. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90500. | ~~~~~~~~~~~~~~^~~~~
  90501. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90502. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90503. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  90504. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90505. | ~~~~~~~~~~~~~~^~~~~~~~
  90506. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  90507. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90508. | ^~~~~~~~
  90509. | |
  90510. | long unsigned int
  90511. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  90512. 2535 | unsigned int gup_flags, struct page **pages);
  90513. | ~~~~~~~~~~~~~~^~~~~
  90514. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  90515. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  90516. | ^~~~~~~~~~~~~~ ~~~~~
  90517. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  90518. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90519. | ^~~~~~~~~~~~~~
  90520. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  90521. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  90522. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  90523. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  90524. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  90525. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  90526. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  90527. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  90528. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bits.h:22,
  90529. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ioport.h:13,
  90530. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:12:
  90531. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  90532. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90533. 8 | #define NULL ((void *)0)
  90534. | ^~~~~~~~~~~
  90535. | |
  90536. | void *
  90537. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  90538. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90539. | ^~~~
  90540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  90541. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90542. | ~~~~~~~~~~~~~~^~~~~
  90543. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  90544. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90545. | ^~
  90546. | |
  90547. | struct mm_struct *
  90548. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  90549. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90550. | ~~~~~~~~~~~~~~^~~~~~~~
  90551. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  90552. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90553. | ^~~~~~~~
  90554. | |
  90555. | long unsigned int
  90556. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  90557. 2535 | unsigned int gup_flags, struct page **pages);
  90558. | ~~~~~~~~~~~~~~^~~~~
  90559. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  90560. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  90561. | ^~~~~~~~~~~~~~ ~~~~~
  90562. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  90563. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  90564. | ^~~~~~~~~~~~~~
  90565. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  90566. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  90567. 237 | return (unsigned long)(vmf->virtual_address);
  90568. | ^~~~~~~~~~~~~~~
  90569. | real_address
  90570. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  90571. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90572. 246 | down_read(&mm->mmap_sem);
  90573. | ^~~~~~~~
  90574. | mmap_base
  90575. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  90576. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90577. 255 | up_read(&mm->mmap_sem);
  90578. | ^~~~~~~~
  90579. | mmap_base
  90580. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  90581. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90582. 264 | down_write(&mm->mmap_sem);
  90583. | ^~~~~~~~
  90584. | mmap_base
  90585. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  90586. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90587. 273 | up_write(&mm->mmap_sem);
  90588. | ^~~~~~~~
  90589. | mmap_base
  90590. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  90591. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90592. 282 | return rwsem_is_locked(&mm->mmap_sem);
  90593. | ^~~~~~~~
  90594. | mmap_base
  90595. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  90596. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  90597. 291 | return &mm->mmap_sem;
  90598. | ^~~~~~~~
  90599. | mmap_base
  90600. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  90601. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  90602. 300 | vma->vm_flags |= flags;
  90603. | ^~
  90604. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  90605. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  90606. 309 | vma->vm_flags &= ~flags;
  90607. | ^~
  90608. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90609. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90610. 502 | NV_MEMDBG_ADD(ptr, size);
  90611. | ^
  90612. In file included from ././common/inc/nv-linux.h:37:
  90613. ././common/inc/nv-time.h: At top level:
  90614. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  90615. 40 | struct timespec64 {
  90616. | ^~~~~~~~~~
  90617. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  90618. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  90619. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  90620. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  90621. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  90622. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  90623. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  90624. 13 | struct timespec64 {
  90625. | ^~~~~~~~~~
  90626. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  90627. 77 | static inline struct timespec64 timespec64_add
  90628. | ^~~~~~~~~~~~~~
  90629. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  90630. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  90631. | ^~~~~~~~~~~~~~
  90632. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  90633. 95 | static inline struct timespec64 timespec64_sub
  90634. | ^~~~~~~~~~~~~~
  90635. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  90636. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  90637. | ^~~~~~~~~~~~~~
  90638. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  90639. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  90640. | ^~~~~~~~~~~~~~~~
  90641. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  90642. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  90643. | ^~~~~~~~~~~~~~~~
  90644. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  90645. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90646. 122 | ktime_get_raw_ts64(&ts);
  90647. | ^~~
  90648. | |
  90649. | struct timespec64 *
  90650. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  90651. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90652. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90653. | ~~~~~~~~~~~~~~~~~~~^~
  90654. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  90655. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90656. 185 | ktime_get_raw_ts64(&tm_aux);
  90657. | ^~~~~~~
  90658. | |
  90659. | struct timespec64 *
  90660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90661. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90662. | ~~~~~~~~~~~~~~~~~~~^~
  90663. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  90664. 221 | ktime_get_raw_ts64(&tm_aux);
  90665. | ^~~~~~~
  90666. | |
  90667. | struct timespec64 *
  90668. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  90669. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  90670. | ~~~~~~~~~~~~~~~~~~~^~
  90671. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90672. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90673. 502 | NV_MEMDBG_ADD(ptr, size);
  90674. | ^
  90675. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90676. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90677. 502 | NV_MEMDBG_ADD(ptr, size);
  90678. | ^
  90679. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90680. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90681. 502 | NV_MEMDBG_ADD(ptr, size);
  90682. | ^
  90683. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90684. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90685. 502 | NV_MEMDBG_ADD(ptr, size);
  90686. | ^
  90687. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90688. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90689. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90690. | ^~~~~~~~~~~~~~~~~~~~~~~
  90691. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90692. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90693. 520 | NV_MEMDBG_ADD(ptr, size);
  90694. | ^
  90695. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90696. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90697. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90698. | ^~~~~~~~~~~~~~~~~~~~~~~
  90699. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90700. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90701. 520 | NV_MEMDBG_ADD(ptr, size);
  90702. | ^
  90703. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90704. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90705. 502 | NV_MEMDBG_ADD(ptr, size);
  90706. | ^
  90707. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90708. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90709. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90710. | ^~~~~~~~~~~~~~~~~~~~~~~
  90711. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90712. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90713. 520 | NV_MEMDBG_ADD(ptr, size);
  90714. | ^
  90715. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90716. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90717. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90718. | ^~~~~~~~~~~~~~~~~~~~~~~
  90719. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90720. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90721. 520 | NV_MEMDBG_ADD(ptr, size);
  90722. | ^
  90723. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90724. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90725. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90726. | ^~~~~~~~~~~~~~~~~~~~~~~
  90727. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90728. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90729. 520 | NV_MEMDBG_ADD(ptr, size);
  90730. | ^
  90731. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90732. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90733. 502 | NV_MEMDBG_ADD(ptr, size);
  90734. | ^
  90735. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90736. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90737. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90738. | ^~~~~~~~~~~~~~~~~~~~~~~
  90739. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90740. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90741. 520 | NV_MEMDBG_ADD(ptr, size);
  90742. | ^
  90743. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  90744. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  90745. 533 | ptr = ioremap_cache_shared(phys, size);
  90746. | ^~~~~~~~~~~~~~~~~~~~
  90747. | ioremap_cache
  90748. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90749. 533 | ptr = ioremap_cache_shared(phys, size);
  90750. | ^
  90751. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90752. 556 | NV_MEMDBG_ADD(ptr, size);
  90753. | ^
  90754. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  90755. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  90756. 533 | ptr = ioremap_cache_shared(phys, size);
  90757. | ^~~~~~~~~~~~~~~~~~~~
  90758. | ioremap_cache
  90759. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90760. 533 | ptr = ioremap_cache_shared(phys, size);
  90761. | ^
  90762. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90763. 556 | NV_MEMDBG_ADD(ptr, size);
  90764. | ^
  90765. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  90766. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  90767. 533 | ptr = ioremap_cache_shared(phys, size);
  90768. | ^~~~~~~~~~~~~~~~~~~~
  90769. | ioremap_cache
  90770. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90771. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90772. 533 | ptr = ioremap_cache_shared(phys, size);
  90773. | ^
  90774. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90775. 556 | NV_MEMDBG_ADD(ptr, size);
  90776. | ^
  90777. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90778. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90779. | ^~~~~~~~~~~~~~~~~~~~~~~
  90780. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90781. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90782. 520 | NV_MEMDBG_ADD(ptr, size);
  90783. | ^
  90784. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  90785. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  90786. 533 | ptr = ioremap_cache_shared(phys, size);
  90787. | ^~~~~~~~~~~~~~~~~~~~
  90788. | ioremap_cache
  90789. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90790. 533 | ptr = ioremap_cache_shared(phys, size);
  90791. | ^
  90792. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90793. 556 | NV_MEMDBG_ADD(ptr, size);
  90794. | ^
  90795. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90796. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90797. 502 | NV_MEMDBG_ADD(ptr, size);
  90798. | ^
  90799. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90800. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90801. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90802. | ^~~~~~~~~~~~~~~~~~~~~~~
  90803. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90804. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90805. 520 | NV_MEMDBG_ADD(ptr, size);
  90806. | ^
  90807. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  90808. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  90809. 533 | ptr = ioremap_cache_shared(phys, size);
  90810. | ^~~~~~~~~~~~~~~~~~~~
  90811. | ioremap_cache
  90812. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90813. 533 | ptr = ioremap_cache_shared(phys, size);
  90814. | ^
  90815. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90816. 556 | NV_MEMDBG_ADD(ptr, size);
  90817. | ^
  90818. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90819. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90820. 502 | NV_MEMDBG_ADD(ptr, size);
  90821. | ^
  90822. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90823. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90824. 502 | NV_MEMDBG_ADD(ptr, size);
  90825. | ^
  90826. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90827. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90828. 502 | NV_MEMDBG_ADD(ptr, size);
  90829. | ^
  90830. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  90831. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  90832. 533 | ptr = ioremap_cache_shared(phys, size);
  90833. | ^~~~~~~~~~~~~~~~~~~~
  90834. | ioremap_cache
  90835. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90836. 533 | ptr = ioremap_cache_shared(phys, size);
  90837. | ^
  90838. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90839. 556 | NV_MEMDBG_ADD(ptr, size);
  90840. | ^
  90841. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90842. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90843. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90844. | ^~~~~~~~~~~~~~~~~~~~~~~
  90845. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90846. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90847. 520 | NV_MEMDBG_ADD(ptr, size);
  90848. | ^
  90849. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90850. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90851. 502 | NV_MEMDBG_ADD(ptr, size);
  90852. | ^
  90853. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90854. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90855. 502 | NV_MEMDBG_ADD(ptr, size);
  90856. | ^
  90857. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  90858. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90859. 502 | NV_MEMDBG_ADD(ptr, size);
  90860. | ^
  90861. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  90862. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  90863. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90864. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  90865. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90866. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90867. | ^
  90868. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90869. 573 | NV_MEMDBG_ADD(ptr, size);
  90870. | ^
  90871. ././common/inc/nv-linux.h: In function 'nv_vmap':
  90872. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  90873. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90874. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  90875. | ^
  90876. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  90877. 533 | ptr = ioremap_cache_shared(phys, size);
  90878. | ^~~~~~~~~~~~~~~~~~~~
  90879. | ioremap_cache
  90880. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90881. 533 | ptr = ioremap_cache_shared(phys, size);
  90882. | ^
  90883. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90884. 556 | NV_MEMDBG_ADD(ptr, size);
  90885. | ^
  90886. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  90887. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  90888. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90889. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  90890. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90891. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90892. | ^
  90893. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90894. 573 | NV_MEMDBG_ADD(ptr, size);
  90895. | ^
  90896. ././common/inc/nv-linux.h: In function 'nv_vmap':
  90897. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90898. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  90899. | ^
  90900. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  90901. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  90902. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  90903. 736 | return phys_to_dma(dev, pa);
  90904. | ^~~~~~~~~~~
  90905. | nv_phys_to_dma
  90906. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  90907. 533 | ptr = ioremap_cache_shared(phys, size);
  90908. | ^~~~~~~~~~~~~~~~~~~~
  90909. | ioremap_cache
  90910. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90911. 533 | ptr = ioremap_cache_shared(phys, size);
  90912. | ^
  90913. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  90914. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  90915. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90916. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  90917. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90918. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90919. | ^
  90920. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90921. 556 | NV_MEMDBG_ADD(ptr, size);
  90922. | ^
  90923. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90924. 573 | NV_MEMDBG_ADD(ptr, size);
  90925. | ^
  90926. ././common/inc/nv-linux.h: In function 'nv_vmap':
  90927. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90928. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  90929. | ^
  90930. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  90931. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  90932. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90933. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  90934. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90935. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90936. | ^
  90937. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90938. 573 | NV_MEMDBG_ADD(ptr, size);
  90939. | ^
  90940. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  90941. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  90942. 736 | return phys_to_dma(dev, pa);
  90943. | ^~~~~~~~~~~
  90944. | nv_phys_to_dma
  90945. ././common/inc/nv-linux.h: In function 'nv_vmap':
  90946. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90947. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  90948. | ^
  90949. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  90950. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  90951. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90952. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  90953. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90954. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  90955. | ^
  90956. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90957. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90958. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90959. | ^~~~~~~~~~~~~~~~~~~~~~~
  90960. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90961. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90962. 520 | NV_MEMDBG_ADD(ptr, size);
  90963. | ^
  90964. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90965. 573 | NV_MEMDBG_ADD(ptr, size);
  90966. | ^
  90967. ././common/inc/nv-linux.h: In function 'nv_vmap':
  90968. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90969. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  90970. | ^
  90971. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  90972. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  90973. 736 | return phys_to_dma(dev, pa);
  90974. | ^~~~~~~~~~~
  90975. | nv_phys_to_dma
  90976. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  90977. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  90978. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  90979. | ^~~~~~~~~~~~~~~~~~~~~~~
  90980. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  90981. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  90982. 520 | NV_MEMDBG_ADD(ptr, size);
  90983. | ^
  90984. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  90985. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  90986. 736 | return phys_to_dma(dev, pa);
  90987. | ^~~~~~~~~~~
  90988. | nv_phys_to_dma
  90989. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  90990. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  90991. 736 | return phys_to_dma(dev, pa);
  90992. | ^~~~~~~~~~~
  90993. | nv_phys_to_dma
  90994. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  90995. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  90996. 533 | ptr = ioremap_cache_shared(phys, size);
  90997. | ^~~~~~~~~~~~~~~~~~~~
  90998. | ioremap_cache
  90999. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91000. 533 | ptr = ioremap_cache_shared(phys, size);
  91001. | ^
  91002. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91003. 556 | NV_MEMDBG_ADD(ptr, size);
  91004. | ^
  91005. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  91006. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91007. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91008. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91009. | ^~~~~~~~~~~~~
  91010. | d_is_dir
  91011. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  91012. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  91013. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  91014. | ^~~~~~~~~~~~~~~~~~~~~~~
  91015. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91016. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91017. 520 | NV_MEMDBG_ADD(ptr, size);
  91018. | ^
  91019. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  91020. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  91021. | ^~~~~~~~~~~~~~~~~~~~~~~
  91022. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91023. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91024. 520 | NV_MEMDBG_ADD(ptr, size);
  91025. | ^
  91026. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91027. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91028. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91029. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91030. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91031. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91032. | ^
  91033. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91034. 573 | NV_MEMDBG_ADD(ptr, size);
  91035. | ^
  91036. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91037. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91038. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91039. | ^
  91040. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91041. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91042. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91043. | ^~~~~~~~~~~~~
  91044. | d_is_dir
  91045. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  91046. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  91047. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  91048. | ^~~~~~~~~~~~~~~~~~~~~~~
  91049. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91050. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91051. 520 | NV_MEMDBG_ADD(ptr, size);
  91052. | ^
  91053. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91054. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91055. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91056. | ^~~~~~~~~~~~~
  91057. | d_is_dir
  91058. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  91059. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  91060. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  91061. | ^~~~~~~~~~~~~~~~~~~~~~~
  91062. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91063. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  91064. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91065. 520 | NV_MEMDBG_ADD(ptr, size);
  91066. | ^
  91067. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  91068. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  91069. | ^~~~~~~~~~~~~~~~~~~~~~~
  91070. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91071. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91072. 520 | NV_MEMDBG_ADD(ptr, size);
  91073. | ^
  91074. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91075. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91076. 736 | return phys_to_dma(dev, pa);
  91077. | ^~~~~~~~~~~
  91078. | nv_phys_to_dma
  91079. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91080. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91081. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91082. | ^~~~~~~~~~~~~
  91083. | d_is_dir
  91084. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91085. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91086. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91087. | ^~~~~~~~~~~~~
  91088. | d_is_dir
  91089. nvidia/nv-nano-timer.c: In function 'nv_alloc_nano_timer':
  91090. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91091. 595 | NV_MEMDBG_ADD(ptr, size); \
  91092. | ^
  91093. nvidia/nv-nano-timer.c:86:5: note: in expansion of macro 'NV_KMALLOC'
  91094. 86 | NV_KMALLOC(nv_nstimer, sizeof(nv_nano_timer_t));
  91095. | ^~~~~~~~~~
  91096. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/sound/hdaudio.h:18,
  91097. from nvidia/nv.c:70:
  91098. /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h: In function 'snd_pcm_gettime':
  91099. /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]
  91100. 1292 | ktime_get_ts64(tv);
  91101. | ^~
  91102. | |
  91103. | struct timespec64 *
  91104. /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 *'
  91105. 43 | extern void ktime_get_ts64(struct timespec64 *ts);
  91106. | ~~~~~~~~~~~~~~~~~~~^~
  91107. /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]
  91108. 1295 | ktime_get_raw_ts64(tv);
  91109. | ^~
  91110. | |
  91111. | struct timespec64 *
  91112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  91113. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  91114. | ~~~~~~~~~~~~~~~~~~~^~
  91115. /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]
  91116. 1298 | ktime_get_real_ts64(tv);
  91117. | ^~
  91118. | |
  91119. | struct timespec64 *
  91120. /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 *'
  91121. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  91122. | ~~~~~~~~~~~~~~~~~~~^~
  91123. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91124. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91125. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91126. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91127. nvidia/nv-pci.c: In function 'nv_pci_probe':
  91128. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91129. 602 | NV_MEMDBG_ADD(ptr, size); \
  91130. | ^
  91131. nvidia/nv-pci.c:396:5: note: in expansion of macro 'NV_KZALLOC'
  91132. 396 | NV_KZALLOC(nvl, sizeof(nv_linux_state_t));
  91133. | ^~~~~~~~~~
  91134. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91135. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91136. | ^
  91137. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91138. 573 | NV_MEMDBG_ADD(ptr, size);
  91139. | ^
  91140. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91141. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91142. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91143. | ^
  91144. nvidia/nv.c: In function 'nvos_create_alloc':
  91145. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91146. 602 | NV_MEMDBG_ADD(ptr, size); \
  91147. | ^
  91148. nvidia/nv.c:262:5: note: in expansion of macro 'NV_KZALLOC'
  91149. 262 | NV_KZALLOC(at, sizeof(nv_alloc_t));
  91150. | ^~~~~~~~~~
  91151. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-nano-timer.o] Error 1
  91152. nvidia/nv.c: At top level:
  91153. nvidia/nv.c:735:12: warning: no previous prototype for 'nvidia_init_module' [-Wmissing-prototypes]
  91154. 735 | int __init nvidia_init_module(void)
  91155. | ^~~~~~~~~~~~~~~~~~
  91156. nvidia/nv.c:855:6: warning: no previous prototype for 'nvidia_exit_module' [-Wmissing-prototypes]
  91157. 855 | void nvidia_exit_module(void)
  91158. | ^~~~~~~~~~~~~~~~~~
  91159. nvidia/nv.c: In function 'nv_alloc_file_private':
  91160. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91161. 602 | NV_MEMDBG_ADD(ptr, size); \
  91162. | ^
  91163. nvidia/nv.c:879:5: note: in expansion of macro 'NV_KZALLOC'
  91164. 879 | NV_KZALLOC(nvlfp, sizeof(nv_linux_file_private_t));
  91165. | ^~~~~~~~~~
  91166. nvidia/nv.c: At top level:
  91167. nvidia/nv.c:1124:23: warning: no previous prototype for 'nv_get_num_dpaux_instances' [-Wmissing-prototypes]
  91168. 1124 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances)
  91169. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91170. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91171. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91172. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91173. | ^~~~~~~~~~~~~
  91174. | d_is_dir
  91175. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  91176. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  91177. 533 | ptr = ioremap_cache_shared(phys, size);
  91178. | ^~~~~~~~~~~~~~~~~~~~
  91179. | ioremap_cache
  91180. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91181. 533 | ptr = ioremap_cache_shared(phys, size);
  91182. | ^
  91183. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91184. 556 | NV_MEMDBG_ADD(ptr, size);
  91185. | ^
  91186. CC [M] nvidia/os-mlock.o
  91187. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  91188. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91189. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91190. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91191. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91192. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91193. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91194. | ^
  91195. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91196. 573 | NV_MEMDBG_ADD(ptr, size);
  91197. | ^
  91198. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  91199. 533 | ptr = ioremap_cache_shared(phys, size);
  91200. | ^~~~~~~~~~~~~~~~~~~~
  91201. | ioremap_cache
  91202. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91203. 533 | ptr = ioremap_cache_shared(phys, size);
  91204. | ^
  91205. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91206. 556 | NV_MEMDBG_ADD(ptr, size);
  91207. | ^
  91208. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91209. nvidia/nv.c: In function 'nvidia_ioctl':
  91210. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91211. 595 | NV_MEMDBG_ADD(ptr, size); \
  91212. | ^
  91213. nvidia/nv.c:2104:5: note: in expansion of macro 'NV_KMALLOC'
  91214. 2104 | NV_KMALLOC(arg_copy, arg_size);
  91215. | ^~~~~~~~~~
  91216. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91217. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91218. | ^
  91219. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91220. 595 | NV_MEMDBG_ADD(ptr, size); \
  91221. | ^
  91222. nvidia/nv.c:2165:13: note: in expansion of macro 'NV_KMALLOC'
  91223. 2165 | NV_KMALLOC(nvlfp->attached_gpus, arg_size);
  91224. | ^~~~~~~~~~
  91225. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91226. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91227. 736 | return phys_to_dma(dev, pa);
  91228. | ^~~~~~~~~~~
  91229. | nv_phys_to_dma
  91230. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-usermap.o] Error 1
  91231. nvidia/nv.c: In function 'nv_map_guest_pages':
  91232. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91233. 595 | NV_MEMDBG_ADD(ptr, size); \
  91234. | ^
  91235. nvidia/nv.c:2805:5: note: in expansion of macro 'NV_KMALLOC'
  91236. 2805 | NV_KMALLOC(pages, sizeof(struct page *) * page_count);
  91237. | ^~~~~~~~~~
  91238. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dmabuf.o] Error 1
  91239. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  91240. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  91241. 533 | ptr = ioremap_cache_shared(phys, size);
  91242. | ^~~~~~~~~~~~~~~~~~~~
  91243. | ioremap_cache
  91244. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91245. 533 | ptr = ioremap_cache_shared(phys, size);
  91246. | ^
  91247. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91248. 556 | NV_MEMDBG_ADD(ptr, size);
  91249. | ^
  91250. CC [M] nvidia/os-pci.o
  91251. nvidia/nv.c: In function 'nv_alloc_kernel_mapping':
  91252. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91253. 595 | NV_MEMDBG_ADD(ptr, size); \
  91254. | ^
  91255. nvidia/nv.c:3282:13: note: in expansion of macro 'NV_KMALLOC'
  91256. 3282 | NV_KMALLOC(pages, sizeof(struct page *) * page_count);
  91257. | ^~~~~~~~~~
  91258. nvidia/nv.c: In function 'nv_post_event':
  91259. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91260. 609 | NV_MEMDBG_ADD(ptr, size); \
  91261. | ^
  91262. nvidia/nv.c:3554:9: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  91263. 3554 | NV_KMALLOC_ATOMIC(nvet, sizeof(nvidia_event_t));
  91264. | ^~~~~~~~~~~~~~~~~
  91265. CC [M] nvidia/os-registry.o
  91266. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  91267. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  91268. 533 | ptr = ioremap_cache_shared(phys, size);
  91269. | ^~~~~~~~~~~~~~~~~~~~
  91270. | ioremap_cache
  91271. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91272. 533 | ptr = ioremap_cache_shared(phys, size);
  91273. | ^
  91274. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91275. 556 | NV_MEMDBG_ADD(ptr, size);
  91276. | ^
  91277. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91278. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91279. 736 | return phys_to_dma(dev, pa);
  91280. | ^~~~~~~~~~~
  91281. | nv_phys_to_dma
  91282. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pci.o] Error 1
  91283. In file included from ././common/inc/conftest.h:28,
  91284. from ././common/inc/nv_stdarg.h:29,
  91285. from ././common/inc/os-interface.h:40,
  91286. from nvidia/os-mlock.c:26:
  91287. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91288. 74 | #error dma_buf_export() conftest failed!
  91289. | ^~~~~
  91290. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91291. 87 | #error wait_on_bit_lock() conftest failed!
  91292. | ^~~~~
  91293. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91294. 90 | #error radix_tree_replace_slot() conftest failed!
  91295. | ^~~~~
  91296. CC [M] nvidia/os-usermap.o
  91297. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  91298. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  91299. 533 | ptr = ioremap_cache_shared(phys, size);
  91300. | ^~~~~~~~~~~~~~~~~~~~
  91301. | ioremap_cache
  91302. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91303. 533 | ptr = ioremap_cache_shared(phys, size);
  91304. | ^
  91305. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91306. 556 | NV_MEMDBG_ADD(ptr, size);
  91307. | ^
  91308. In file included from ././common/inc/conftest.h:28,
  91309. from ././common/inc/nv_stdarg.h:29,
  91310. from ././common/inc/os-interface.h:40,
  91311. from nvidia/os-pci.c:26:
  91312. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91313. 74 | #error dma_buf_export() conftest failed!
  91314. | ^~~~~
  91315. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91316. 87 | #error wait_on_bit_lock() conftest failed!
  91317. | ^~~~~
  91318. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91319. 90 | #error radix_tree_replace_slot() conftest failed!
  91320. | ^~~~~
  91321. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  91322. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  91323. 533 | ptr = ioremap_cache_shared(phys, size);
  91324. | ^~~~~~~~~~~~~~~~~~~~
  91325. | ioremap_cache
  91326. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91327. 533 | ptr = ioremap_cache_shared(phys, size);
  91328. | ^
  91329. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91330. 556 | NV_MEMDBG_ADD(ptr, size);
  91331. | ^
  91332. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  91333. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  91334. 533 | ptr = ioremap_cache_shared(phys, size);
  91335. | ^~~~~~~~~~~~~~~~~~~~
  91336. | ioremap_cache
  91337. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91338. 533 | ptr = ioremap_cache_shared(phys, size);
  91339. | ^
  91340. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91341. 556 | NV_MEMDBG_ADD(ptr, size);
  91342. | ^
  91343. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91344. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91345. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91346. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91347. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91348. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91349. | ^
  91350. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91351. 573 | NV_MEMDBG_ADD(ptr, size);
  91352. | ^
  91353. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91354. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91355. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91356. | ^
  91357. In file included from ././common/inc/conftest.h:28,
  91358. from ././common/inc/nv_stdarg.h:29,
  91359. from ././common/inc/os-interface.h:40,
  91360. from nvidia/os-registry.c:26:
  91361. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91362. 74 | #error dma_buf_export() conftest failed!
  91363. | ^~~~~
  91364. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91365. 87 | #error wait_on_bit_lock() conftest failed!
  91366. | ^~~~~
  91367. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91368. 90 | #error radix_tree_replace_slot() conftest failed!
  91369. | ^~~~~
  91370. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91371. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91372. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91373. | ^~~~~~~~~~~~~
  91374. | d_is_dir
  91375. In file included from ././common/inc/conftest.h:28,
  91376. from ././common/inc/nv_stdarg.h:29,
  91377. from ././common/inc/os-interface.h:40,
  91378. from nvidia/os-usermap.c:26:
  91379. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91380. 74 | #error dma_buf_export() conftest failed!
  91381. | ^~~~~
  91382. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91383. 87 | #error wait_on_bit_lock() conftest failed!
  91384. | ^~~~~
  91385. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91386. 90 | #error radix_tree_replace_slot() conftest failed!
  91387. | ^~~~~
  91388. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pat.o] Error 1
  91389. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91390. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91391. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91392. | ^~~~~~~~~~~~~
  91393. | d_is_dir
  91394. CC [M] nvidia/nv-modeset-interface.o
  91395. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91396. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91397. 736 | return phys_to_dma(dev, pa);
  91398. | ^~~~~~~~~~~
  91399. | nv_phys_to_dma
  91400. nvidia/nv-mmap.c: At top level:
  91401. 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]
  91402. 299 | .fault = nvidia_fault,
  91403. | ^~~~~~~~~~~~
  91404. nvidia/nv-mmap.c:299:15: note: (near initialization for 'nv_vm_ops.fault')
  91405. nvidia/nv-mmap.c:201:19: note: 'nvidia_fault' declared here
  91406. 201 | static vm_fault_t nvidia_fault(
  91407. | ^~~~~~~~~~~~
  91408. 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]
  91409. 303 | int nv_encode_caching(
  91410. | ^~~~~~~~~~~~~~~~~
  91411. In file included from ././common/inc/nv-linux.h:1761:
  91412. ././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)'}
  91413. 46 | int nv_encode_caching (pgprot_t *, NvU32, NvU32);
  91414. | ^~~~~~~~~~~~~~~~~
  91415. nvidia/nv-mmap.c:371:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  91416. 371 | int static nvidia_mmap_peer_io(
  91417. | ^~~
  91418. nvidia/nv-mmap.c:392:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  91419. 392 | int static nvidia_mmap_sysmem(
  91420. | ^~~
  91421. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv.o] Error 1
  91422. In file included from ././common/inc/conftest.h:28,
  91423. from ././common/inc/nv_stdarg.h:29,
  91424. from ././common/inc/os-interface.h:40,
  91425. from nvidia/nv-modeset-interface.c:26:
  91426. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91427. 74 | #error dma_buf_export() conftest failed!
  91428. | ^~~~~
  91429. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91430. 87 | #error wait_on_bit_lock() conftest failed!
  91431. | ^~~~~
  91432. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91433. 90 | #error radix_tree_replace_slot() conftest failed!
  91434. | ^~~~~
  91435. nvidia/nv-procfs.c: In function 'nv_procfs_open_file':
  91436. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91437. 602 | NV_MEMDBG_ADD(ptr, size); \
  91438. | ^
  91439. nvidia/nv-procfs.c:276:5: note: in expansion of macro 'NV_KZALLOC'
  91440. 276 | NV_KZALLOC(nvpp, sizeof(nv_procfs_private_t));
  91441. | ^~~~~~~~~~
  91442. CC [M] nvidia/nv-kthread-q.o
  91443. nvidia/nv-procfs.c: At top level:
  91444. nvidia/nv-procfs.c:698:1: warning: no previous prototype for 'exercise_error_forwarding_va' [-Wmissing-prototypes]
  91445. 698 | exercise_error_forwarding_va(
  91446. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  91447. In file included from ././common/inc/nv-procfs.h:26,
  91448. from nvidia/nv-procfs.c:31:
  91449. nvidia/nv-procfs.c: In function 'nv_procfs_add_text_file':
  91450. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91451. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91452. | ^~~~
  91453. | |
  91454. | const nv_proc_ops_t * {aka const struct file_operations *}
  91455. nvidia/nv-procfs.c:1312:5: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91456. 1312 | NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text);
  91457. | ^~~~~~~~~~~~~~~~~~~
  91458. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  91459. from ././common/inc/nv-linux.h:220:
  91460. /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 *'}
  91461. 111 | const struct proc_ops *,
  91462. | ^~~~~~~~~~~~~~~~~~~~~~~
  91463. nvidia/nv-procfs.c: In function 'nv_procfs_init':
  91464. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91465. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91466. | ^~~~
  91467. | |
  91468. | const nv_proc_ops_t * {aka const struct file_operations *}
  91469. nvidia/nv-procfs.c:1342:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91470. 1342 | entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL);
  91471. | ^~~~~~~~~~~~~~~~~~~
  91472. /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 *'}
  91473. 111 | const struct proc_ops *,
  91474. | ^~~~~~~~~~~~~~~~~~~~~~~
  91475. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91476. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91477. | ^~~~
  91478. | |
  91479. | const nv_proc_ops_t * {aka const struct file_operations *}
  91480. nvidia/nv-procfs.c:1346:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91481. 1346 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL);
  91482. | ^~~~~~~~~~~~~~~~~~~
  91483. /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 *'}
  91484. 111 | const struct proc_ops *,
  91485. | ^~~~~~~~~~~~~~~~~~~~~~~
  91486. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91487. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91488. | ^~~~
  91489. | |
  91490. | const nv_proc_ops_t * {aka const struct file_operations *}
  91491. nvidia/nv-procfs.c:1351:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91492. 1351 | entry = NV_CREATE_PROC_FILE("suspend_depth", proc_nvidia, suspend_depth, NULL);
  91493. | ^~~~~~~~~~~~~~~~~~~
  91494. /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 *'}
  91495. 111 | const struct proc_ops *,
  91496. | ^~~~~~~~~~~~~~~~~~~~~~~
  91497. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91498. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91499. | ^~~~
  91500. | |
  91501. | const nv_proc_ops_t * {aka const struct file_operations *}
  91502. nvidia/nv-procfs.c:1355:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91503. 1355 | entry = NV_CREATE_PROC_FILE("suspend", proc_nvidia, suspend, NULL);
  91504. | ^~~~~~~~~~~~~~~~~~~
  91505. /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 *'}
  91506. 111 | const struct proc_ops *,
  91507. | ^~~~~~~~~~~~~~~~~~~~~~~
  91508. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91509. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91510. | ^~~~
  91511. | |
  91512. | const nv_proc_ops_t * {aka const struct file_operations *}
  91513. nvidia/nv-procfs.c:1377:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91514. 1377 | entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL);
  91515. | ^~~~~~~~~~~~~~~~~~~
  91516. /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 *'}
  91517. 111 | const struct proc_ops *,
  91518. | ^~~~~~~~~~~~~~~~~~~~~~~
  91519. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91520. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91521. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91522. | ^~~~~~~~~~~~~
  91523. | d_is_dir
  91524. nvidia/nv-procfs.c: In function 'nv_procfs_add_gpu':
  91525. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91526. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91527. | ^~~~
  91528. | |
  91529. | const nv_proc_ops_t * {aka const struct file_operations *}
  91530. nvidia/nv-procfs.c:1419:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91531. 1419 | entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info,
  91532. | ^~~~~~~~~~~~~~~~~~~
  91533. /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 *'}
  91534. 111 | const struct proc_ops *,
  91535. | ^~~~~~~~~~~~~~~~~~~~~~~
  91536. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91537. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91538. | ^~~~
  91539. | |
  91540. | const nv_proc_ops_t * {aka const struct file_operations *}
  91541. nvidia/nv-procfs.c:1424:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91542. 1424 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv);
  91543. | ^~~~~~~~~~~~~~~~~~~
  91544. /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 *'}
  91545. 111 | const struct proc_ops *,
  91546. | ^~~~~~~~~~~~~~~~~~~~~~~
  91547. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91548. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91549. | ^~~~
  91550. | |
  91551. | const nv_proc_ops_t * {aka const struct file_operations *}
  91552. nvidia/nv-procfs.c:1428:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91553. 1428 | entry = NV_CREATE_PROC_FILE("power", proc_nvidia_gpu, power, nv);
  91554. | ^~~~~~~~~~~~~~~~~~~
  91555. /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 *'}
  91556. 111 | const struct proc_ops *,
  91557. | ^~~~~~~~~~~~~~~~~~~~~~~
  91558. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91559. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91560. | ^~~~
  91561. | |
  91562. | const nv_proc_ops_t * {aka const struct file_operations *}
  91563. nvidia/nv-procfs.c:1434:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91564. 1434 | entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu,
  91565. | ^~~~~~~~~~~~~~~~~~~
  91566. /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 *'}
  91567. 111 | const struct proc_ops *,
  91568. | ^~~~~~~~~~~~~~~~~~~~~~~
  91569. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91570. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91571. | ^~~~
  91572. | |
  91573. | const nv_proc_ops_t * {aka const struct file_operations *}
  91574. nvidia/nv-procfs.c:1442:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91575. 1442 | entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv);
  91576. | ^~~~~~~~~~~~~~~~~~~
  91577. /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 *'}
  91578. 111 | const struct proc_ops *,
  91579. | ^~~~~~~~~~~~~~~~~~~~~~~
  91580. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91581. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91582. | ^~~~
  91583. | |
  91584. | const nv_proc_ops_t * {aka const struct file_operations *}
  91585. nvidia/nv-procfs.c:1449:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91586. 1449 | entry = NV_CREATE_PROC_FILE("numa_status", proc_nvidia_gpu, numa_status,
  91587. | ^~~~~~~~~~~~~~~~~~~
  91588. /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 *'}
  91589. 111 | const struct proc_ops *,
  91590. | ^~~~~~~~~~~~~~~~~~~~~~~
  91591. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  91592. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  91593. | ^~~~
  91594. | |
  91595. | const nv_proc_ops_t * {aka const struct file_operations *}
  91596. nvidia/nv-procfs.c:1454:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  91597. 1454 | entry = NV_CREATE_PROC_FILE("offline_pages", proc_nvidia_gpu, offline_pages,
  91598. | ^~~~~~~~~~~~~~~~~~~
  91599. /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 *'}
  91600. 111 | const struct proc_ops *,
  91601. | ^~~~~~~~~~~~~~~~~~~~~~~
  91602. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91603. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91604. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91605. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91606. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91607. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91608. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91609. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91610. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91611. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91612. | ^
  91613. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91614. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91615. | ^
  91616. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91617. 573 | NV_MEMDBG_ADD(ptr, size);
  91618. | ^
  91619. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91620. 573 | NV_MEMDBG_ADD(ptr, size);
  91621. | ^
  91622. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91623. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91624. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91625. | ^
  91626. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91627. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91628. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91629. | ^
  91630. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91631. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91632. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91633. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91634. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91635. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91636. | ^
  91637. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91638. 573 | NV_MEMDBG_ADD(ptr, size);
  91639. | ^
  91640. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91641. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91642. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91643. | ^
  91644. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-mmap.o] Error 1
  91645. CC [M] nvidia/nv-memdbg.o
  91646. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91647. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91648. 736 | return phys_to_dma(dev, pa);
  91649. | ^~~~~~~~~~~
  91650. | nv_phys_to_dma
  91651. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91652. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91653. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91654. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91655. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91656. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91657. | ^
  91658. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91659. 573 | NV_MEMDBG_ADD(ptr, size);
  91660. | ^
  91661. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91662. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91663. 736 | return phys_to_dma(dev, pa);
  91664. | ^~~~~~~~~~~
  91665. | nv_phys_to_dma
  91666. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91667. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91668. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91669. | ^
  91670. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91671. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91672. 736 | return phys_to_dma(dev, pa);
  91673. | ^~~~~~~~~~~
  91674. | nv_phys_to_dma
  91675. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91676. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91677. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91678. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91679. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91680. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91681. | ^
  91682. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91683. 573 | NV_MEMDBG_ADD(ptr, size);
  91684. | ^
  91685. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91686. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91687. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91688. | ^
  91689. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-procfs.o] Error 1
  91690. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91691. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91692. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91693. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91694. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91695. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91696. | ^
  91697. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91698. 573 | NV_MEMDBG_ADD(ptr, size);
  91699. | ^
  91700. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91701. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91702. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91703. | ^
  91704. In file included from ././common/inc/conftest.h:28,
  91705. from ././common/inc/nv_stdarg.h:29,
  91706. from ././common/inc/nv.h:41,
  91707. from ././common/inc/nv-linux.h:28,
  91708. from nvidia/nv-memdbg.c:25:
  91709. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91710. 74 | #error dma_buf_export() conftest failed!
  91711. | ^~~~~
  91712. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91713. 87 | #error wait_on_bit_lock() conftest failed!
  91714. | ^~~~~
  91715. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91716. 90 | #error radix_tree_replace_slot() conftest failed!
  91717. | ^~~~~
  91718. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  91719. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  91720. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91721. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  91722. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  91723. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  91724. | ^
  91725. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91726. 573 | NV_MEMDBG_ADD(ptr, size);
  91727. | ^
  91728. CC [M] nvidia/nv-ibmnpu.o
  91729. ././common/inc/nv-linux.h: In function 'nv_vmap':
  91730. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91731. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  91732. | ^
  91733. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91734. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91735. 736 | return phys_to_dma(dev, pa);
  91736. | ^~~~~~~~~~~
  91737. | nv_phys_to_dma
  91738. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91739. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91740. 736 | return phys_to_dma(dev, pa);
  91741. | ^~~~~~~~~~~
  91742. | nv_phys_to_dma
  91743. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-i2c.o] Error 1
  91744. CC [M] nvidia/nv-report-err.o
  91745. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91746. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91747. 736 | return phys_to_dma(dev, pa);
  91748. | ^~~~~~~~~~~
  91749. | nv_phys_to_dma
  91750. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91751. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91752. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91753. | ^~~~~~~~~~~~~
  91754. | d_is_dir
  91755. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  91756. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  91757. 736 | return phys_to_dma(dev, pa);
  91758. | ^~~~~~~~~~~
  91759. | nv_phys_to_dma
  91760. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91761. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91762. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91763. | ^~~~~~~~~~~~~
  91764. | d_is_dir
  91765. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91766. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91767. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91768. | ^~~~~~~~~~~~~
  91769. | d_is_dir
  91770. In file included from ././common/inc/conftest.h:28,
  91771. from ././common/inc/nv_stdarg.h:29,
  91772. from ././common/inc/nv.h:41,
  91773. from ././common/inc/nv-linux.h:28,
  91774. from nvidia/nv-ibmnpu.c:27:
  91775. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91776. 74 | #error dma_buf_export() conftest failed!
  91777. | ^~~~~
  91778. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91779. 87 | #error wait_on_bit_lock() conftest failed!
  91780. | ^~~~~
  91781. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91782. 90 | #error radix_tree_replace_slot() conftest failed!
  91783. | ^~~~~
  91784. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91785. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91786. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91787. | ^~~~~~~~~~~~~
  91788. | d_is_dir
  91789. In file included from ././common/inc/conftest.h:28,
  91790. from ././common/inc/nv_stdarg.h:29,
  91791. from ././common/inc/nv.h:41,
  91792. from ././common/inc/nv-linux.h:28,
  91793. from nvidia/nv-report-err.c:25:
  91794. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91795. 74 | #error dma_buf_export() conftest failed!
  91796. | ^~~~~
  91797. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91798. 87 | #error wait_on_bit_lock() conftest failed!
  91799. | ^~~~~
  91800. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91801. 90 | #error radix_tree_replace_slot() conftest failed!
  91802. | ^~~~~
  91803. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91804. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91805. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91806. | ^~~~~~~~~~~~~
  91807. | d_is_dir
  91808. nvidia/nv-dma.c: At top level:
  91809. nvidia/nv-dma.c:293:6: warning: no previous prototype for 'nv_load_dma_map_scatterlist' [-Wmissing-prototypes]
  91810. 293 | void nv_load_dma_map_scatterlist(
  91811. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  91812. nvidia/nv-dma.c:489:23: warning: no previous prototype for 'nv_dma_unmap_sgt' [-Wmissing-prototypes]
  91813. 489 | NV_STATUS NV_API_CALL nv_dma_unmap_sgt(
  91814. | ^~~~~~~~~~~~~~~~
  91815. nvidia/os-interface.c: At top level:
  91816. nvidia/os-interface.c:370:7: warning: no previous prototype for 'os_mem_copy_custom' [-Wmissing-prototypes]
  91817. 370 | void *os_mem_copy_custom(
  91818. | ^~~~~~~~~~~~~~~~~~
  91819. nvidia/os-interface.c: In function 'os_alloc_mem':
  91820. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91821. 609 | NV_MEMDBG_ADD(ptr, size); \
  91822. | ^
  91823. nvidia/os-interface.c:584:13: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  91824. 584 | NV_KMALLOC_ATOMIC(*address, alloc_size);
  91825. | ^~~~~~~~~~~~~~~~~
  91826. ././common/inc/nv-linux.h:624:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91827. 624 | NV_MEMDBG_ADD(ptr, size); \
  91828. | ^
  91829. nvidia/os-interface.c:590:13: note: in expansion of macro 'NV_KMALLOC_NO_OOM'
  91830. 590 | NV_KMALLOC_NO_OOM(*address, alloc_size);
  91831. | ^~~~~~~~~~~~~~~~~
  91832. nvidia/os-interface.c: In function 'os_get_current_time':
  91833. nvidia/os-interface.c:633:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  91834. 633 | ktime_get_real_ts64(&tm);
  91835. | ^~~
  91836. | |
  91837. | struct timespec64 *
  91838. /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 *'
  91839. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  91840. | ~~~~~~~~~~~~~~~~~~~^~
  91841. nvidia/os-interface.c: In function 'os_get_current_tick_hr':
  91842. nvidia/os-interface.c:647:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  91843. 647 | ktime_get_raw_ts64(&tm);
  91844. | ^~~
  91845. | |
  91846. | struct timespec64 *
  91847. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  91848. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  91849. | ~~~~~~~~~~~~~~~~~~~^~
  91850. nvidia/os-interface.c: In function 'os_get_current_tick':
  91851. nvidia/os-interface.c:656:21: error: storage size of 'ts' isn't known
  91852. 656 | struct timespec ts;
  91853. | ^~
  91854. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91855. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91856. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91857. | ^~~~~~~~~~~~~
  91858. | d_is_dir
  91859. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  91860. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  91861. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  91862. | ^~~~~~~~~~~~~
  91863. | d_is_dir
  91864. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dma.o] Error 1
  91865. CC [M] nvidia/nv-rsync.o
  91866. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-cray.o] Error 1
  91867. nvidia/os-interface.c:657:5: error: implicit declaration of function 'jiffies_to_timespec'; did you mean 'jiffies_to_timespec64'? [-Wimplicit-function-declaration]
  91868. 657 | jiffies_to_timespec(jiffies, &ts);
  91869. | ^~~~~~~~~~~~~~~~~~~
  91870. | jiffies_to_timespec64
  91871. CC [M] nvidia/nv-msi.o
  91872. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vtophys.o] Error 1
  91873. CC [M] nvidia/nv-caps.o
  91874. nvidia/os-interface.c:658:20: error: implicit declaration of function 'timespec_to_ns'; did you mean 'timespec64_to_ns'? [-Wimplicit-function-declaration]
  91875. 658 | return (NvU64) timespec_to_ns(&ts);
  91876. | ^~~~~~~~~~~~~~
  91877. | timespec64_to_ns
  91878. nvidia/os-interface.c:656:21: warning: unused variable 'ts' [-Wunused-variable]
  91879. 656 | struct timespec ts;
  91880. | ^~
  91881. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-p2p.o] Error 1
  91882. In file included from ././common/inc/conftest.h:28,
  91883. from ././common/inc/nv_stdarg.h:29,
  91884. from ././common/inc/nv.h:41,
  91885. from ././common/inc/nv-linux.h:28,
  91886. from nvidia/nv-rsync.c:24:
  91887. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91888. 74 | #error dma_buf_export() conftest failed!
  91889. | ^~~~~
  91890. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91891. 87 | #error wait_on_bit_lock() conftest failed!
  91892. | ^~~~~
  91893. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91894. 90 | #error radix_tree_replace_slot() conftest failed!
  91895. | ^~~~~
  91896. CC [M] nvidia/nv-frontend.o
  91897. nvidia/os-interface.c: In function 'os_queue_work_item':
  91898. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91899. 609 | NV_MEMDBG_ADD(ptr, size); \
  91900. | ^
  91901. nvidia/os-interface.c:1113:5: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  91902. 1113 | NV_KMALLOC_ATOMIC(oqd, sizeof(os_queue_data_t));
  91903. | ^~~~~~~~~~~~~~~~~
  91904. In file included from ././common/inc/conftest.h:28,
  91905. from ././common/inc/nv_stdarg.h:29,
  91906. from ././common/inc/nv.h:41,
  91907. from ././common/inc/nv-linux.h:28,
  91908. from ././common/inc/nv-msi.h:27,
  91909. from nvidia/nv-msi.c:24:
  91910. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91911. 74 | #error dma_buf_export() conftest failed!
  91912. | ^~~~~
  91913. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91914. 87 | #error wait_on_bit_lock() conftest failed!
  91915. | ^~~~~
  91916. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91917. 90 | #error radix_tree_replace_slot() conftest failed!
  91918. | ^~~~~
  91919. nvidia/nv-vm.c: In function 'nv_set_memory_array_type':
  91920. 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]
  91921. 92 | set_memory_array_uc(pages, num_pages);
  91922. | ^~~~~~~~~~~~~~~~~~~
  91923. | set_pages_array_uc
  91924. nvidia/os-interface.c: In function 'os_write_file':
  91925. nvidia/os-interface.c:1792:54: error: passing argument 4 of 'kernel_write' makes pointer from integer without a cast [-Wint-conversion]
  91926. 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos);
  91927. | ^~~~~
  91928. | |
  91929. | loff_t {aka long long int}
  91930. nvidia/os-interface.c:1792:54: note: possible fix: take the address with '&'
  91931. 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos);
  91932. | ^~~~~
  91933. | &
  91934. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7,
  91935. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133:
  91936. /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'}
  91937. 3189 | extern ssize_t kernel_write(struct file *, const void *, size_t, loff_t *);
  91938. | ^~~~~~~~
  91939. nvidia/os-interface.c: In function 'os_read_file':
  91940. nvidia/os-interface.c:1832:35: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  91941. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  91942. | ^~~~~
  91943. | |
  91944. | loff_t {aka long long int}
  91945. /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'}
  91946. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  91947. | ^~~~~~
  91948. nvidia/os-interface.c:1832:42: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion]
  91949. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  91950. | ^~~~~~~
  91951. | |
  91952. | NvU8 * {aka unsigned char *}
  91953. /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 *'}
  91954. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  91955. | ^~~~~~
  91956. nvidia/os-interface.c:1832:51: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  91957. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  91958. | ^~~~
  91959. | |
  91960. | NvU64 {aka long long unsigned int}
  91961. /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'}
  91962. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  91963. | ^~~~~~~~
  91964. nvidia/os-interface.c: In function 'os_alloc_wait_queue':
  91965. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  91966. 595 | NV_MEMDBG_ADD(ptr, size); \
  91967. | ^
  91968. nvidia/os-interface.c:1945:5: note: in expansion of macro 'NV_KMALLOC'
  91969. 1945 | NV_KMALLOC(*wq, sizeof(os_wait_queue));
  91970. | ^~~~~~~~~~
  91971. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-acpi.o] Error 1
  91972. CC [M] nvidia/nv_uvm_interface.o
  91973. In file included from ././common/inc/conftest.h:28,
  91974. from ././common/inc/nv_stdarg.h:29,
  91975. from ././common/inc/nv.h:41,
  91976. from ././common/inc/nv-linux.h:28,
  91977. from nvidia/nv-caps.c:24:
  91978. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91979. 74 | #error dma_buf_export() conftest failed!
  91980. | ^~~~~
  91981. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91982. 87 | #error wait_on_bit_lock() conftest failed!
  91983. | ^~~~~
  91984. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91985. 90 | #error radix_tree_replace_slot() conftest failed!
  91986. | ^~~~~
  91987. In file included from ././common/inc/conftest.h:28,
  91988. from ././common/inc/nv_stdarg.h:29,
  91989. from ././common/inc/os-interface.h:40,
  91990. from nvidia/nv-frontend.c:24:
  91991. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  91992. 74 | #error dma_buf_export() conftest failed!
  91993. | ^~~~~
  91994. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  91995. 87 | #error wait_on_bit_lock() conftest failed!
  91996. | ^~~~~
  91997. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  91998. 90 | #error radix_tree_replace_slot() conftest failed!
  91999. | ^~~~~
  92000. In file included from ././common/inc/conftest.h:28,
  92001. from ././common/inc/nv_stdarg.h:29,
  92002. from ././common/inc/os-interface.h:40,
  92003. from nvidia/nv_uvm_interface.c:32:
  92004. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  92005. 74 | #error dma_buf_export() conftest failed!
  92006. | ^~~~~
  92007. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  92008. 87 | #error wait_on_bit_lock() conftest failed!
  92009. | ^~~~~
  92010. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  92011. 90 | #error radix_tree_replace_slot() conftest failed!
  92012. | ^~~~~
  92013. In file included from ././common/inc/conftest.h:28,
  92014. from ././common/inc/nv-kthread-q.h:33,
  92015. from nvidia/nv-kthread-q.c:24:
  92016. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  92017. 74 | #error dma_buf_export() conftest failed!
  92018. | ^~~~~
  92019. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  92020. 87 | #error wait_on_bit_lock() conftest failed!
  92021. | ^~~~~
  92022. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  92023. 90 | #error radix_tree_replace_slot() conftest failed!
  92024. | ^~~~~
  92025. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-interface.o] Error 1
  92026. CC [M] nvidia/libspdm_aead.o
  92027. 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]
  92028. 95 | set_memory_array_wb(pages, num_pages);
  92029. | ^~~~~~~~~~~~~~~~~~~
  92030. | set_pages_array_wb
  92031. In file included from ././common/inc/conftest.h:28,
  92032. from nvidia/internal_crypt_lib.h:32,
  92033. from nvidia/libspdm_aead.c:24:
  92034. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  92035. 74 | #error dma_buf_export() conftest failed!
  92036. | ^~~~~
  92037. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  92038. 87 | #error wait_on_bit_lock() conftest failed!
  92039. | ^~~~~
  92040. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  92041. 90 | #error radix_tree_replace_slot() conftest failed!
  92042. | ^~~~~
  92043. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vm.o] Error 1
  92044. CC [M] nvidia/libspdm_hkdf.o
  92045. In file included from ././common/inc/conftest.h:28,
  92046. from nvidia/internal_crypt_lib.h:32,
  92047. from nvidia/libspdm_hkdf.c:24:
  92048. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  92049. 74 | #error dma_buf_export() conftest failed!
  92050. | ^~~~~
  92051. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  92052. 87 | #error wait_on_bit_lock() conftest failed!
  92053. | ^~~~~
  92054. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  92055. 90 | #error radix_tree_replace_slot() conftest failed!
  92056. | ^~~~~
  92057. nvidia/libspdm_aead.c:41:5: warning: no previous prototype for 'libspdm_aead_prealloc' [-Wmissing-prototypes]
  92058. 41 | int libspdm_aead_prealloc(void **context, char const *alg)
  92059. | ^~~~~~~~~~~~~~~~~~~~~
  92060. nvidia/libspdm_aead.c:171:5: warning: no previous prototype for 'libspdm_aead_prealloced' [-Wmissing-prototypes]
  92061. 171 | int libspdm_aead_prealloced(void *context,
  92062. | ^~~~~~~~~~~~~~~~~~~~~~~
  92063. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_aead.o] Error 1
  92064. CC [M] nvidia/libspdm_shash.o
  92065. In file included from ././common/inc/conftest.h:28,
  92066. from nvidia/internal_crypt_lib.h:32,
  92067. from nvidia/libspdm_shash.c:24:
  92068. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  92069. 74 | #error dma_buf_export() conftest failed!
  92070. | ^~~~~
  92071. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  92072. 87 | #error wait_on_bit_lock() conftest failed!
  92073. | ^~~~~
  92074. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  92075. 90 | #error radix_tree_replace_slot() conftest failed!
  92076. | ^~~~~
  92077. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_hkdf.o] Error 1
  92078. CC [M] nvidia/nvlink_linux.o
  92079. In file included from ././common/inc/conftest.h:28,
  92080. from nvidia/nvlink_linux.c:24:
  92081. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  92082. 74 | #error dma_buf_export() conftest failed!
  92083. | ^~~~~
  92084. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  92085. 87 | #error wait_on_bit_lock() conftest failed!
  92086. | ^~~~~
  92087. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  92088. 90 | #error radix_tree_replace_slot() conftest failed!
  92089. | ^~~~~
  92090. In file included from ././common/inc/nv-linux.h:34,
  92091. from nvidia/os-mlock.c:27:
  92092. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  92093. 29 | typedef int vm_fault_t;
  92094. | ^~~~~~~~~~
  92095. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  92096. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  92097. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  92098. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  92099. from ././common/inc/nv-lock.h:35,
  92100. from ././common/inc/nv-linux.h:32:
  92101. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  92102. 1311 | typedef __bitwise unsigned int vm_fault_t;
  92103. | ^~~~~~~~~~
  92104. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  92105. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  92106. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  92107. from ././common/inc/nv-lock.h:29:
  92108. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  92109. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92110. 52 | #define current get_current()
  92111. | ^~~~~~~~~~~~~
  92112. | |
  92113. | struct task_struct *
  92114. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  92115. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92116. | ^~~~~~~
  92117. In file included from ././common/inc/nv-pgprot.h:30,
  92118. from ././common/inc/nv-linux.h:33:
  92119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  92120. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92121. | ~~~~~~~~~~~~~~^~~~~
  92122. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92123. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92124. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92125. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92126. | ~~~~~~~~~~~~~~^~~~~~~~
  92127. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92128. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92129. | ^~~~~~~~
  92130. | |
  92131. | long unsigned int
  92132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92133. 2535 | unsigned int gup_flags, struct page **pages);
  92134. | ~~~~~~~~~~~~~~^~~~~
  92135. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92136. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92137. | ^~~~~~~~~~~~~~ ~~~~~
  92138. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92139. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92140. | ^~~~~~~~~~~~~~
  92141. In file included from ././common/inc/nv.h:35,
  92142. from ././common/inc/nv-linux.h:28:
  92143. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  92144. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92145. 8 | #define NULL ((void *)0)
  92146. | ^~~~~~~~~~~
  92147. | |
  92148. | void *
  92149. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  92150. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92151. | ^~~~
  92152. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  92153. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92154. | ~~~~~~~~~~~~~~^~~~~
  92155. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92156. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92157. | ^~
  92158. | |
  92159. | struct mm_struct *
  92160. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92161. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92162. | ~~~~~~~~~~~~~~^~~~~~~~
  92163. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92164. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92165. | ^~~~~~~~
  92166. | |
  92167. | long unsigned int
  92168. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92169. 2535 | unsigned int gup_flags, struct page **pages);
  92170. | ~~~~~~~~~~~~~~^~~~~
  92171. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92172. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92173. | ^~~~~~~~~~~~~~ ~~~~~
  92174. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92175. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92176. | ^~~~~~~~~~~~~~
  92177. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  92178. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  92179. 237 | return (unsigned long)(vmf->virtual_address);
  92180. | ^~~~~~~~~~~~~~~
  92181. | real_address
  92182. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  92183. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92184. 246 | down_read(&mm->mmap_sem);
  92185. | ^~~~~~~~
  92186. | mmap_base
  92187. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  92188. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92189. 255 | up_read(&mm->mmap_sem);
  92190. | ^~~~~~~~
  92191. | mmap_base
  92192. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  92193. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92194. 264 | down_write(&mm->mmap_sem);
  92195. | ^~~~~~~~
  92196. | mmap_base
  92197. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  92198. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92199. 273 | up_write(&mm->mmap_sem);
  92200. | ^~~~~~~~
  92201. | mmap_base
  92202. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  92203. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92204. 282 | return rwsem_is_locked(&mm->mmap_sem);
  92205. | ^~~~~~~~
  92206. | mmap_base
  92207. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  92208. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92209. 291 | return &mm->mmap_sem;
  92210. | ^~~~~~~~
  92211. | mmap_base
  92212. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  92213. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  92214. 300 | vma->vm_flags |= flags;
  92215. | ^~
  92216. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  92217. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  92218. 309 | vma->vm_flags &= ~flags;
  92219. | ^~
  92220. In file included from ././common/inc/nv-linux.h:34,
  92221. from nvidia/os-pci.c:27:
  92222. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  92223. 29 | typedef int vm_fault_t;
  92224. | ^~~~~~~~~~
  92225. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  92226. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  92227. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  92228. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  92229. from ././common/inc/nv-lock.h:35,
  92230. from ././common/inc/nv-linux.h:32:
  92231. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  92232. 1311 | typedef __bitwise unsigned int vm_fault_t;
  92233. | ^~~~~~~~~~
  92234. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  92235. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  92236. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  92237. from ././common/inc/nv-lock.h:29:
  92238. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  92239. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92240. 52 | #define current get_current()
  92241. | ^~~~~~~~~~~~~
  92242. | |
  92243. | struct task_struct *
  92244. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  92245. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92246. | ^~~~~~~
  92247. In file included from ././common/inc/nv-pgprot.h:30,
  92248. from ././common/inc/nv-linux.h:33:
  92249. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  92250. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92251. | ~~~~~~~~~~~~~~^~~~~
  92252. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92253. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92254. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92255. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92256. | ~~~~~~~~~~~~~~^~~~~~~~
  92257. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92258. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92259. | ^~~~~~~~
  92260. | |
  92261. | long unsigned int
  92262. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92263. 2535 | unsigned int gup_flags, struct page **pages);
  92264. | ~~~~~~~~~~~~~~^~~~~
  92265. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92266. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92267. | ^~~~~~~~~~~~~~ ~~~~~
  92268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92269. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92270. | ^~~~~~~~~~~~~~
  92271. In file included from ././common/inc/nv.h:35,
  92272. from ././common/inc/nv-linux.h:28:
  92273. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  92274. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92275. 8 | #define NULL ((void *)0)
  92276. | ^~~~~~~~~~~
  92277. | |
  92278. | void *
  92279. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  92280. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92281. | ^~~~
  92282. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  92283. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92284. | ~~~~~~~~~~~~~~^~~~~
  92285. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92286. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92287. | ^~
  92288. | |
  92289. | struct mm_struct *
  92290. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92291. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92292. | ~~~~~~~~~~~~~~^~~~~~~~
  92293. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92294. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92295. | ^~~~~~~~
  92296. | |
  92297. | long unsigned int
  92298. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92299. 2535 | unsigned int gup_flags, struct page **pages);
  92300. | ~~~~~~~~~~~~~~^~~~~
  92301. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92302. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92303. | ^~~~~~~~~~~~~~ ~~~~~
  92304. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92305. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92306. | ^~~~~~~~~~~~~~
  92307. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  92308. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  92309. 237 | return (unsigned long)(vmf->virtual_address);
  92310. | ^~~~~~~~~~~~~~~
  92311. | real_address
  92312. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  92313. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92314. 246 | down_read(&mm->mmap_sem);
  92315. | ^~~~~~~~
  92316. | mmap_base
  92317. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  92318. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92319. 255 | up_read(&mm->mmap_sem);
  92320. | ^~~~~~~~
  92321. | mmap_base
  92322. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  92323. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92324. 264 | down_write(&mm->mmap_sem);
  92325. | ^~~~~~~~
  92326. | mmap_base
  92327. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  92328. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92329. 273 | up_write(&mm->mmap_sem);
  92330. | ^~~~~~~~
  92331. | mmap_base
  92332. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  92333. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92334. 282 | return rwsem_is_locked(&mm->mmap_sem);
  92335. | ^~~~~~~~
  92336. | mmap_base
  92337. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  92338. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92339. 291 | return &mm->mmap_sem;
  92340. | ^~~~~~~~
  92341. | mmap_base
  92342. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  92343. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  92344. 300 | vma->vm_flags |= flags;
  92345. | ^~
  92346. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  92347. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  92348. 309 | vma->vm_flags &= ~flags;
  92349. | ^~
  92350. In file included from ././common/inc/nv-linux.h:37:
  92351. ././common/inc/nv-time.h: At top level:
  92352. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  92353. 40 | struct timespec64 {
  92354. | ^~~~~~~~~~
  92355. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  92356. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  92357. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  92358. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  92359. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  92360. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  92361. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  92362. 13 | struct timespec64 {
  92363. | ^~~~~~~~~~
  92364. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  92365. 77 | static inline struct timespec64 timespec64_add
  92366. | ^~~~~~~~~~~~~~
  92367. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  92368. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  92369. | ^~~~~~~~~~~~~~
  92370. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  92371. 95 | static inline struct timespec64 timespec64_sub
  92372. | ^~~~~~~~~~~~~~
  92373. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  92374. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  92375. | ^~~~~~~~~~~~~~
  92376. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  92377. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  92378. | ^~~~~~~~~~~~~~~~
  92379. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  92380. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  92381. | ^~~~~~~~~~~~~~~~
  92382. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  92383. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92384. 122 | ktime_get_raw_ts64(&ts);
  92385. | ^~~
  92386. | |
  92387. | struct timespec64 *
  92388. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  92389. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92390. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92391. | ~~~~~~~~~~~~~~~~~~~^~
  92392. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  92393. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92394. 185 | ktime_get_raw_ts64(&tm_aux);
  92395. | ^~~~~~~
  92396. | |
  92397. | struct timespec64 *
  92398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92399. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92400. | ~~~~~~~~~~~~~~~~~~~^~
  92401. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92402. 221 | ktime_get_raw_ts64(&tm_aux);
  92403. | ^~~~~~~
  92404. | |
  92405. | struct timespec64 *
  92406. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92407. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92408. | ~~~~~~~~~~~~~~~~~~~^~
  92409. In file included from ././common/inc/nv-linux.h:37:
  92410. ././common/inc/nv-time.h: At top level:
  92411. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  92412. 40 | struct timespec64 {
  92413. | ^~~~~~~~~~
  92414. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  92415. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  92416. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  92417. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  92418. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  92419. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  92420. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  92421. 13 | struct timespec64 {
  92422. | ^~~~~~~~~~
  92423. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  92424. 77 | static inline struct timespec64 timespec64_add
  92425. | ^~~~~~~~~~~~~~
  92426. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  92427. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  92428. | ^~~~~~~~~~~~~~
  92429. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  92430. 95 | static inline struct timespec64 timespec64_sub
  92431. | ^~~~~~~~~~~~~~
  92432. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  92433. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  92434. | ^~~~~~~~~~~~~~
  92435. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  92436. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  92437. | ^~~~~~~~~~~~~~~~
  92438. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  92439. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  92440. | ^~~~~~~~~~~~~~~~
  92441. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  92442. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92443. 122 | ktime_get_raw_ts64(&ts);
  92444. | ^~~
  92445. | |
  92446. | struct timespec64 *
  92447. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  92448. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92449. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92450. | ~~~~~~~~~~~~~~~~~~~^~
  92451. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  92452. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92453. 185 | ktime_get_raw_ts64(&tm_aux);
  92454. | ^~~~~~~
  92455. | |
  92456. | struct timespec64 *
  92457. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92458. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92459. | ~~~~~~~~~~~~~~~~~~~^~
  92460. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92461. 221 | ktime_get_raw_ts64(&tm_aux);
  92462. | ^~~~~~~
  92463. | |
  92464. | struct timespec64 *
  92465. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92466. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92467. | ~~~~~~~~~~~~~~~~~~~^~
  92468. In file included from ././common/inc/nv-linux.h:34,
  92469. from nvidia/os-usermap.c:27:
  92470. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  92471. 29 | typedef int vm_fault_t;
  92472. | ^~~~~~~~~~
  92473. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  92474. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  92475. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  92476. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  92477. from ././common/inc/nv-lock.h:35,
  92478. from ././common/inc/nv-linux.h:32:
  92479. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  92480. 1311 | typedef __bitwise unsigned int vm_fault_t;
  92481. | ^~~~~~~~~~
  92482. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  92483. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  92484. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  92485. from ././common/inc/nv-lock.h:29:
  92486. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  92487. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92488. 52 | #define current get_current()
  92489. | ^~~~~~~~~~~~~
  92490. | |
  92491. | struct task_struct *
  92492. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  92493. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92494. | ^~~~~~~
  92495. In file included from ././common/inc/nv-pgprot.h:30,
  92496. from ././common/inc/nv-linux.h:33:
  92497. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  92498. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92499. | ~~~~~~~~~~~~~~^~~~~
  92500. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92501. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92502. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92503. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92504. | ~~~~~~~~~~~~~~^~~~~~~~
  92505. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92506. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92507. | ^~~~~~~~
  92508. | |
  92509. | long unsigned int
  92510. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92511. 2535 | unsigned int gup_flags, struct page **pages);
  92512. | ~~~~~~~~~~~~~~^~~~~
  92513. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92514. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92515. | ^~~~~~~~~~~~~~ ~~~~~
  92516. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92517. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92518. | ^~~~~~~~~~~~~~
  92519. In file included from ././common/inc/nv.h:35,
  92520. from ././common/inc/nv-linux.h:28:
  92521. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  92522. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92523. 8 | #define NULL ((void *)0)
  92524. | ^~~~~~~~~~~
  92525. | |
  92526. | void *
  92527. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  92528. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92529. | ^~~~
  92530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  92531. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92532. | ~~~~~~~~~~~~~~^~~~~
  92533. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92534. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92535. | ^~
  92536. | |
  92537. | struct mm_struct *
  92538. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92539. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92540. | ~~~~~~~~~~~~~~^~~~~~~~
  92541. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92542. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92543. | ^~~~~~~~
  92544. | |
  92545. | long unsigned int
  92546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92547. 2535 | unsigned int gup_flags, struct page **pages);
  92548. | ~~~~~~~~~~~~~~^~~~~
  92549. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92550. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92551. | ^~~~~~~~~~~~~~ ~~~~~
  92552. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92553. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92554. | ^~~~~~~~~~~~~~
  92555. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  92556. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  92557. 237 | return (unsigned long)(vmf->virtual_address);
  92558. | ^~~~~~~~~~~~~~~
  92559. | real_address
  92560. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  92561. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92562. 246 | down_read(&mm->mmap_sem);
  92563. | ^~~~~~~~
  92564. | mmap_base
  92565. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  92566. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92567. 255 | up_read(&mm->mmap_sem);
  92568. | ^~~~~~~~
  92569. | mmap_base
  92570. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  92571. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92572. 264 | down_write(&mm->mmap_sem);
  92573. | ^~~~~~~~
  92574. | mmap_base
  92575. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  92576. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92577. 273 | up_write(&mm->mmap_sem);
  92578. | ^~~~~~~~
  92579. | mmap_base
  92580. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  92581. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92582. 282 | return rwsem_is_locked(&mm->mmap_sem);
  92583. | ^~~~~~~~
  92584. | mmap_base
  92585. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  92586. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92587. 291 | return &mm->mmap_sem;
  92588. | ^~~~~~~~
  92589. | mmap_base
  92590. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  92591. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  92592. 300 | vma->vm_flags |= flags;
  92593. | ^~
  92594. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  92595. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  92596. 309 | vma->vm_flags &= ~flags;
  92597. | ^~
  92598. In file included from ././common/inc/nv-linux.h:37:
  92599. ././common/inc/nv-time.h: At top level:
  92600. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  92601. 40 | struct timespec64 {
  92602. | ^~~~~~~~~~
  92603. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  92604. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  92605. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  92606. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  92607. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  92608. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  92609. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  92610. 13 | struct timespec64 {
  92611. | ^~~~~~~~~~
  92612. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  92613. 77 | static inline struct timespec64 timespec64_add
  92614. | ^~~~~~~~~~~~~~
  92615. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  92616. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  92617. | ^~~~~~~~~~~~~~
  92618. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  92619. 95 | static inline struct timespec64 timespec64_sub
  92620. | ^~~~~~~~~~~~~~
  92621. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  92622. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  92623. | ^~~~~~~~~~~~~~
  92624. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  92625. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  92626. | ^~~~~~~~~~~~~~~~
  92627. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  92628. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  92629. | ^~~~~~~~~~~~~~~~
  92630. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  92631. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92632. 122 | ktime_get_raw_ts64(&ts);
  92633. | ^~~
  92634. | |
  92635. | struct timespec64 *
  92636. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  92637. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92638. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92639. | ~~~~~~~~~~~~~~~~~~~^~
  92640. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  92641. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92642. 185 | ktime_get_raw_ts64(&tm_aux);
  92643. | ^~~~~~~
  92644. | |
  92645. | struct timespec64 *
  92646. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92647. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92648. | ~~~~~~~~~~~~~~~~~~~^~
  92649. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92650. 221 | ktime_get_raw_ts64(&tm_aux);
  92651. | ^~~~~~~
  92652. | |
  92653. | struct timespec64 *
  92654. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92655. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92656. | ~~~~~~~~~~~~~~~~~~~^~
  92657. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_shash.o] Error 1
  92658. CC [M] nvidia/linux_nvswitch.o
  92659. nvidia/nv-kthread-q.c: In function 'thread_create_on_node':
  92660. nvidia/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  92661. 179 | const static unsigned attempts = 3;
  92662. | ^~~~~
  92663. In file included from ././common/inc/conftest.h:28,
  92664. from ././common/inc/nv_stdarg.h:29,
  92665. from ././common/inc/nv.h:41,
  92666. from ././common/inc/nv-linux.h:28,
  92667. from nvidia/linux_nvswitch.h:28,
  92668. from nvidia/linux_nvswitch.c:24:
  92669. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  92670. 74 | #error dma_buf_export() conftest failed!
  92671. | ^~~~~
  92672. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  92673. 87 | #error wait_on_bit_lock() conftest failed!
  92674. | ^~~~~
  92675. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  92676. 90 | #error radix_tree_replace_slot() conftest failed!
  92677. | ^~~~~
  92678. In file included from ././common/inc/nv-linux.h:34:
  92679. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  92680. 29 | typedef int vm_fault_t;
  92681. | ^~~~~~~~~~
  92682. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  92683. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  92684. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  92685. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  92686. from ././common/inc/nv-lock.h:35,
  92687. from ././common/inc/nv-linux.h:32:
  92688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  92689. 1311 | typedef __bitwise unsigned int vm_fault_t;
  92690. | ^~~~~~~~~~
  92691. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  92692. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  92693. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  92694. from ././common/inc/nv-lock.h:29:
  92695. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  92696. In file included from ././common/inc/nv-linux.h:34,
  92697. from nvidia/os-registry.c:27:
  92698. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  92699. 29 | typedef int vm_fault_t;
  92700. | ^~~~~~~~~~
  92701. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92702. 52 | #define current get_current()
  92703. | ^~~~~~~~~~~~~
  92704. | |
  92705. | struct task_struct *
  92706. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  92707. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92708. | ^~~~~~~
  92709. In file included from ././common/inc/nv-pgprot.h:30,
  92710. from ././common/inc/nv-linux.h:33:
  92711. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  92712. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92713. | ~~~~~~~~~~~~~~^~~~~
  92714. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92715. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92716. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92717. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92718. | ~~~~~~~~~~~~~~^~~~~~~~
  92719. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92720. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92721. | ^~~~~~~~
  92722. | |
  92723. | long unsigned int
  92724. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92725. 2535 | unsigned int gup_flags, struct page **pages);
  92726. | ~~~~~~~~~~~~~~^~~~~
  92727. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92728. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92729. | ^~~~~~~~~~~~~~ ~~~~~
  92730. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92731. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92732. | ^~~~~~~~~~~~~~
  92733. In file included from ././common/inc/nv.h:35:
  92734. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  92735. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92736. 8 | #define NULL ((void *)0)
  92737. | ^~~~~~~~~~~
  92738. | |
  92739. | void *
  92740. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  92741. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92742. | ^~~~
  92743. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  92744. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92745. | ~~~~~~~~~~~~~~^~~~~
  92746. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92747. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92748. | ^~
  92749. | |
  92750. | struct mm_struct *
  92751. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92752. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92753. | ~~~~~~~~~~~~~~^~~~~~~~
  92754. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92755. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92756. | ^~~~~~~~
  92757. | |
  92758. | long unsigned int
  92759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92760. 2535 | unsigned int gup_flags, struct page **pages);
  92761. | ~~~~~~~~~~~~~~^~~~~
  92762. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92763. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92764. | ^~~~~~~~~~~~~~ ~~~~~
  92765. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92766. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92767. | ^~~~~~~~~~~~~~
  92768. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  92769. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  92770. 237 | return (unsigned long)(vmf->virtual_address);
  92771. | ^~~~~~~~~~~~~~~
  92772. | real_address
  92773. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  92774. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92775. 246 | down_read(&mm->mmap_sem);
  92776. | ^~~~~~~~
  92777. | mmap_base
  92778. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  92779. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92780. 255 | up_read(&mm->mmap_sem);
  92781. | ^~~~~~~~
  92782. | mmap_base
  92783. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  92784. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92785. 264 | down_write(&mm->mmap_sem);
  92786. | ^~~~~~~~
  92787. | mmap_base
  92788. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  92789. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92790. 273 | up_write(&mm->mmap_sem);
  92791. | ^~~~~~~~
  92792. | mmap_base
  92793. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  92794. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92795. 282 | return rwsem_is_locked(&mm->mmap_sem);
  92796. | ^~~~~~~~
  92797. | mmap_base
  92798. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  92799. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92800. 291 | return &mm->mmap_sem;
  92801. | ^~~~~~~~
  92802. | mmap_base
  92803. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  92804. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  92805. 300 | vma->vm_flags |= flags;
  92806. | ^~
  92807. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  92808. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  92809. 309 | vma->vm_flags &= ~flags;
  92810. | ^~
  92811. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  92812. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  92813. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  92814. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  92815. from ././common/inc/nv-lock.h:35,
  92816. from ././common/inc/nv-linux.h:32:
  92817. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  92818. 1311 | typedef __bitwise unsigned int vm_fault_t;
  92819. | ^~~~~~~~~~
  92820. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  92821. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  92822. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  92823. from ././common/inc/nv-lock.h:29:
  92824. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  92825. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92826. 52 | #define current get_current()
  92827. | ^~~~~~~~~~~~~
  92828. | |
  92829. | struct task_struct *
  92830. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  92831. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92832. | ^~~~~~~
  92833. In file included from ././common/inc/nv-pgprot.h:30,
  92834. from ././common/inc/nv-linux.h:33:
  92835. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  92836. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92837. | ~~~~~~~~~~~~~~^~~~~
  92838. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92839. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92840. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92841. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92842. | ~~~~~~~~~~~~~~^~~~~~~~
  92843. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92844. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92845. | ^~~~~~~~
  92846. | |
  92847. | long unsigned int
  92848. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92849. 2535 | unsigned int gup_flags, struct page **pages);
  92850. | ~~~~~~~~~~~~~~^~~~~
  92851. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92852. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  92853. | ^~~~~~~~~~~~~~ ~~~~~
  92854. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92855. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92856. | ^~~~~~~~~~~~~~
  92857. In file included from ././common/inc/nv.h:35,
  92858. from ././common/inc/nv-linux.h:28:
  92859. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  92860. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92861. 8 | #define NULL ((void *)0)
  92862. | ^~~~~~~~~~~
  92863. | |
  92864. | void *
  92865. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  92866. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92867. | ^~~~
  92868. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  92869. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92870. | ~~~~~~~~~~~~~~^~~~~
  92871. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  92872. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92873. | ^~
  92874. | |
  92875. | struct mm_struct *
  92876. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  92877. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92878. | ~~~~~~~~~~~~~~^~~~~~~~
  92879. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  92880. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92881. | ^~~~~~~~
  92882. | |
  92883. | long unsigned int
  92884. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  92885. 2535 | unsigned int gup_flags, struct page **pages);
  92886. | ~~~~~~~~~~~~~~^~~~~
  92887. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  92888. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  92889. | ^~~~~~~~~~~~~~ ~~~~~
  92890. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  92891. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  92892. | ^~~~~~~~~~~~~~
  92893. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  92894. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  92895. 237 | return (unsigned long)(vmf->virtual_address);
  92896. | ^~~~~~~~~~~~~~~
  92897. | real_address
  92898. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  92899. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92900. 246 | down_read(&mm->mmap_sem);
  92901. | ^~~~~~~~
  92902. | mmap_base
  92903. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  92904. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92905. 255 | up_read(&mm->mmap_sem);
  92906. | ^~~~~~~~
  92907. | mmap_base
  92908. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  92909. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92910. 264 | down_write(&mm->mmap_sem);
  92911. | ^~~~~~~~
  92912. | mmap_base
  92913. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  92914. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92915. 273 | up_write(&mm->mmap_sem);
  92916. | ^~~~~~~~
  92917. | mmap_base
  92918. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  92919. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92920. 282 | return rwsem_is_locked(&mm->mmap_sem);
  92921. | ^~~~~~~~
  92922. | mmap_base
  92923. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  92924. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  92925. 291 | return &mm->mmap_sem;
  92926. | ^~~~~~~~
  92927. | mmap_base
  92928. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  92929. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  92930. 300 | vma->vm_flags |= flags;
  92931. | ^~
  92932. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  92933. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  92934. 309 | vma->vm_flags &= ~flags;
  92935. | ^~
  92936. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-kthread-q.o] Error 1
  92937. In file included from ././common/inc/nv-linux.h:37:
  92938. ././common/inc/nv-time.h: At top level:
  92939. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  92940. 40 | struct timespec64 {
  92941. | ^~~~~~~~~~
  92942. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  92943. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  92944. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  92945. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  92946. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  92947. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  92948. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  92949. 13 | struct timespec64 {
  92950. | ^~~~~~~~~~
  92951. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  92952. 77 | static inline struct timespec64 timespec64_add
  92953. | ^~~~~~~~~~~~~~
  92954. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  92955. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  92956. | ^~~~~~~~~~~~~~
  92957. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  92958. 95 | static inline struct timespec64 timespec64_sub
  92959. | ^~~~~~~~~~~~~~
  92960. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  92961. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  92962. | ^~~~~~~~~~~~~~
  92963. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  92964. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  92965. | ^~~~~~~~~~~~~~~~
  92966. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  92967. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  92968. | ^~~~~~~~~~~~~~~~
  92969. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  92970. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92971. 122 | ktime_get_raw_ts64(&ts);
  92972. | ^~~
  92973. | |
  92974. | struct timespec64 *
  92975. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  92976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92977. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92978. | ~~~~~~~~~~~~~~~~~~~^~
  92979. CC [M] nvidia/procfs_nvswitch.o
  92980. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  92981. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92982. 185 | ktime_get_raw_ts64(&tm_aux);
  92983. | ^~~~~~~
  92984. | |
  92985. | struct timespec64 *
  92986. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92987. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92988. | ~~~~~~~~~~~~~~~~~~~^~
  92989. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  92990. 221 | ktime_get_raw_ts64(&tm_aux);
  92991. | ^~~~~~~
  92992. | |
  92993. | struct timespec64 *
  92994. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  92995. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  92996. | ~~~~~~~~~~~~~~~~~~~^~
  92997. In file included from ././common/inc/nv-linux.h:37:
  92998. ././common/inc/nv-time.h: At top level:
  92999. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  93000. 40 | struct timespec64 {
  93001. | ^~~~~~~~~~
  93002. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  93003. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  93004. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  93005. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  93006. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  93007. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  93008. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  93009. 13 | struct timespec64 {
  93010. | ^~~~~~~~~~
  93011. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93012. 77 | static inline struct timespec64 timespec64_add
  93013. | ^~~~~~~~~~~~~~
  93014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93015. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  93016. | ^~~~~~~~~~~~~~
  93017. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93018. 95 | static inline struct timespec64 timespec64_sub
  93019. | ^~~~~~~~~~~~~~
  93020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93021. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  93022. | ^~~~~~~~~~~~~~
  93023. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  93024. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  93025. | ^~~~~~~~~~~~~~~~
  93026. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  93027. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  93028. | ^~~~~~~~~~~~~~~~
  93029. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  93030. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93031. 122 | ktime_get_raw_ts64(&ts);
  93032. | ^~~
  93033. | |
  93034. | struct timespec64 *
  93035. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  93036. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93037. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93038. | ~~~~~~~~~~~~~~~~~~~^~
  93039. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  93040. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93041. 185 | ktime_get_raw_ts64(&tm_aux);
  93042. | ^~~~~~~
  93043. | |
  93044. | struct timespec64 *
  93045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93046. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93047. | ~~~~~~~~~~~~~~~~~~~^~
  93048. In file included from ././common/inc/nv-linux.h:34,
  93049. from nvidia/nv-modeset-interface.c:27:
  93050. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  93051. 29 | typedef int vm_fault_t;
  93052. | ^~~~~~~~~~
  93053. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  93054. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  93055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  93056. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  93057. from ././common/inc/nv-lock.h:35,
  93058. from ././common/inc/nv-linux.h:32:
  93059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  93060. 1311 | typedef __bitwise unsigned int vm_fault_t;
  93061. | ^~~~~~~~~~
  93062. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93063. 221 | ktime_get_raw_ts64(&tm_aux);
  93064. | ^~~~~~~
  93065. | |
  93066. | struct timespec64 *
  93067. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93068. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93069. | ~~~~~~~~~~~~~~~~~~~^~
  93070. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  93071. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  93072. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  93073. from ././common/inc/nv-lock.h:29:
  93074. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  93075. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93076. 52 | #define current get_current()
  93077. | ^~~~~~~~~~~~~
  93078. | |
  93079. | struct task_struct *
  93080. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  93081. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93082. | ^~~~~~~
  93083. In file included from ././common/inc/nv-pgprot.h:30,
  93084. from ././common/inc/nv-linux.h:33:
  93085. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  93086. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93087. | ~~~~~~~~~~~~~~^~~~~
  93088. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93089. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93090. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93091. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93092. | ~~~~~~~~~~~~~~^~~~~~~~
  93093. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93094. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93095. | ^~~~~~~~
  93096. | |
  93097. | long unsigned int
  93098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93099. 2535 | unsigned int gup_flags, struct page **pages);
  93100. | ~~~~~~~~~~~~~~^~~~~
  93101. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93102. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93103. | ^~~~~~~~~~~~~~ ~~~~~
  93104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93105. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93106. | ^~~~~~~~~~~~~~
  93107. In file included from ././common/inc/nv.h:35,
  93108. from ././common/inc/nv-linux.h:28:
  93109. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  93110. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93111. 8 | #define NULL ((void *)0)
  93112. | ^~~~~~~~~~~
  93113. | |
  93114. | void *
  93115. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  93116. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93117. | ^~~~
  93118. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  93119. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93120. | ~~~~~~~~~~~~~~^~~~~
  93121. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93122. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93123. | ^~
  93124. | |
  93125. | struct mm_struct *
  93126. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93127. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93128. | ~~~~~~~~~~~~~~^~~~~~~~
  93129. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93130. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93131. | ^~~~~~~~
  93132. | |
  93133. | long unsigned int
  93134. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93135. 2535 | unsigned int gup_flags, struct page **pages);
  93136. | ~~~~~~~~~~~~~~^~~~~
  93137. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93138. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93139. | ^~~~~~~~~~~~~~ ~~~~~
  93140. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93141. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93142. | ^~~~~~~~~~~~~~
  93143. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  93144. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  93145. 237 | return (unsigned long)(vmf->virtual_address);
  93146. | ^~~~~~~~~~~~~~~
  93147. | real_address
  93148. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  93149. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93150. 246 | down_read(&mm->mmap_sem);
  93151. | ^~~~~~~~
  93152. | mmap_base
  93153. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  93154. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93155. 255 | up_read(&mm->mmap_sem);
  93156. | ^~~~~~~~
  93157. | mmap_base
  93158. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  93159. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93160. 264 | down_write(&mm->mmap_sem);
  93161. | ^~~~~~~~
  93162. | mmap_base
  93163. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  93164. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93165. 273 | up_write(&mm->mmap_sem);
  93166. | ^~~~~~~~
  93167. | mmap_base
  93168. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  93169. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93170. 282 | return rwsem_is_locked(&mm->mmap_sem);
  93171. | ^~~~~~~~
  93172. | mmap_base
  93173. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  93174. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93175. 291 | return &mm->mmap_sem;
  93176. | ^~~~~~~~
  93177. | mmap_base
  93178. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  93179. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  93180. 300 | vma->vm_flags |= flags;
  93181. | ^~
  93182. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  93183. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  93184. 309 | vma->vm_flags &= ~flags;
  93185. | ^~
  93186. In file included from ././common/inc/conftest.h:28,
  93187. from ././common/inc/nv_stdarg.h:29,
  93188. from ././common/inc/nv.h:41,
  93189. from ././common/inc/nv-linux.h:28,
  93190. from nvidia/linux_nvswitch.h:28,
  93191. from nvidia/procfs_nvswitch.c:24:
  93192. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  93193. 74 | #error dma_buf_export() conftest failed!
  93194. | ^~~~~
  93195. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  93196. 87 | #error wait_on_bit_lock() conftest failed!
  93197. | ^~~~~
  93198. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  93199. 90 | #error radix_tree_replace_slot() conftest failed!
  93200. | ^~~~~
  93201. In file included from ././common/inc/nv-linux.h:37:
  93202. ././common/inc/nv-time.h: At top level:
  93203. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  93204. 40 | struct timespec64 {
  93205. | ^~~~~~~~~~
  93206. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  93207. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  93208. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  93209. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  93210. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  93211. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  93212. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  93213. 13 | struct timespec64 {
  93214. | ^~~~~~~~~~
  93215. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93216. 77 | static inline struct timespec64 timespec64_add
  93217. | ^~~~~~~~~~~~~~
  93218. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93219. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  93220. | ^~~~~~~~~~~~~~
  93221. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93222. 95 | static inline struct timespec64 timespec64_sub
  93223. | ^~~~~~~~~~~~~~
  93224. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93225. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  93226. | ^~~~~~~~~~~~~~
  93227. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  93228. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  93229. | ^~~~~~~~~~~~~~~~
  93230. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  93231. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  93232. | ^~~~~~~~~~~~~~~~
  93233. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  93234. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93235. 122 | ktime_get_raw_ts64(&ts);
  93236. | ^~~
  93237. | |
  93238. | struct timespec64 *
  93239. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  93240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93241. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93242. | ~~~~~~~~~~~~~~~~~~~^~
  93243. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  93244. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93245. 185 | ktime_get_raw_ts64(&tm_aux);
  93246. | ^~~~~~~
  93247. | |
  93248. | struct timespec64 *
  93249. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93250. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93251. | ~~~~~~~~~~~~~~~~~~~^~
  93252. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93253. 221 | ktime_get_raw_ts64(&tm_aux);
  93254. | ^~~~~~~
  93255. | |
  93256. | struct timespec64 *
  93257. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93258. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93259. | ~~~~~~~~~~~~~~~~~~~^~
  93260. In file included from ././common/inc/nv-linux.h:34:
  93261. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  93262. 29 | typedef int vm_fault_t;
  93263. | ^~~~~~~~~~
  93264. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  93265. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  93266. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  93267. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  93268. from ././common/inc/nv-lock.h:35,
  93269. from ././common/inc/nv-linux.h:32:
  93270. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  93271. 1311 | typedef __bitwise unsigned int vm_fault_t;
  93272. | ^~~~~~~~~~
  93273. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  93274. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  93275. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  93276. from ././common/inc/nv-lock.h:29:
  93277. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  93278. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93279. 52 | #define current get_current()
  93280. | ^~~~~~~~~~~~~
  93281. | |
  93282. | struct task_struct *
  93283. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  93284. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93285. | ^~~~~~~
  93286. In file included from ././common/inc/nv-pgprot.h:30,
  93287. from ././common/inc/nv-linux.h:33:
  93288. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  93289. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93290. | ~~~~~~~~~~~~~~^~~~~
  93291. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93292. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93293. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93294. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93295. | ~~~~~~~~~~~~~~^~~~~~~~
  93296. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93297. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93298. | ^~~~~~~~
  93299. | |
  93300. | long unsigned int
  93301. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93302. 2535 | unsigned int gup_flags, struct page **pages);
  93303. | ~~~~~~~~~~~~~~^~~~~
  93304. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93305. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93306. | ^~~~~~~~~~~~~~ ~~~~~
  93307. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93308. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93309. | ^~~~~~~~~~~~~~
  93310. In file included from ././common/inc/nv.h:35:
  93311. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  93312. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93313. 8 | #define NULL ((void *)0)
  93314. | ^~~~~~~~~~~
  93315. | |
  93316. | void *
  93317. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  93318. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93319. | ^~~~
  93320. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  93321. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93322. | ~~~~~~~~~~~~~~^~~~~
  93323. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93324. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93325. | ^~
  93326. | |
  93327. | struct mm_struct *
  93328. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93329. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93330. | ~~~~~~~~~~~~~~^~~~~~~~
  93331. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93332. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93333. | ^~~~~~~~
  93334. | |
  93335. | long unsigned int
  93336. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93337. 2535 | unsigned int gup_flags, struct page **pages);
  93338. | ~~~~~~~~~~~~~~^~~~~
  93339. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93340. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93341. | ^~~~~~~~~~~~~~ ~~~~~
  93342. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93343. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93344. | ^~~~~~~~~~~~~~
  93345. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  93346. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  93347. 237 | return (unsigned long)(vmf->virtual_address);
  93348. | ^~~~~~~~~~~~~~~
  93349. | real_address
  93350. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  93351. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93352. 246 | down_read(&mm->mmap_sem);
  93353. | ^~~~~~~~
  93354. | mmap_base
  93355. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  93356. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93357. 255 | up_read(&mm->mmap_sem);
  93358. | ^~~~~~~~
  93359. | mmap_base
  93360. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  93361. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93362. 264 | down_write(&mm->mmap_sem);
  93363. | ^~~~~~~~
  93364. | mmap_base
  93365. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  93366. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93367. 273 | up_write(&mm->mmap_sem);
  93368. | ^~~~~~~~
  93369. | mmap_base
  93370. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  93371. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93372. 282 | return rwsem_is_locked(&mm->mmap_sem);
  93373. | ^~~~~~~~
  93374. | mmap_base
  93375. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  93376. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93377. 291 | return &mm->mmap_sem;
  93378. | ^~~~~~~~
  93379. | mmap_base
  93380. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  93381. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  93382. 300 | vma->vm_flags |= flags;
  93383. | ^~
  93384. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  93385. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  93386. 309 | vma->vm_flags &= ~flags;
  93387. | ^~
  93388. In file included from ././common/inc/nv-linux.h:37:
  93389. ././common/inc/nv-time.h: At top level:
  93390. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  93391. 40 | struct timespec64 {
  93392. | ^~~~~~~~~~
  93393. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  93394. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  93395. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  93396. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  93397. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  93398. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  93399. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  93400. 13 | struct timespec64 {
  93401. | ^~~~~~~~~~
  93402. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93403. 77 | static inline struct timespec64 timespec64_add
  93404. | ^~~~~~~~~~~~~~
  93405. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93406. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  93407. | ^~~~~~~~~~~~~~
  93408. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93409. 95 | static inline struct timespec64 timespec64_sub
  93410. | ^~~~~~~~~~~~~~
  93411. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93412. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  93413. | ^~~~~~~~~~~~~~
  93414. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  93415. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  93416. | ^~~~~~~~~~~~~~~~
  93417. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  93418. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  93419. | ^~~~~~~~~~~~~~~~
  93420. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  93421. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93422. 122 | ktime_get_raw_ts64(&ts);
  93423. | ^~~
  93424. | |
  93425. | struct timespec64 *
  93426. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  93427. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93428. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93429. | ~~~~~~~~~~~~~~~~~~~^~
  93430. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  93431. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93432. 185 | ktime_get_raw_ts64(&tm_aux);
  93433. | ^~~~~~~
  93434. | |
  93435. | struct timespec64 *
  93436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93437. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93438. | ~~~~~~~~~~~~~~~~~~~^~
  93439. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93440. 221 | ktime_get_raw_ts64(&tm_aux);
  93441. | ^~~~~~~
  93442. | |
  93443. | struct timespec64 *
  93444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93445. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93446. | ~~~~~~~~~~~~~~~~~~~^~
  93447. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  93448. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  93449. 502 | NV_MEMDBG_ADD(ptr, size);
  93450. | ^
  93451. In file included from ././common/inc/nv-linux.h:34,
  93452. from nvidia/nv-frontend.c:25:
  93453. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  93454. 29 | typedef int vm_fault_t;
  93455. | ^~~~~~~~~~
  93456. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  93457. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  93458. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  93459. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  93460. from ././common/inc/nv-lock.h:35,
  93461. from ././common/inc/nv-linux.h:32:
  93462. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  93463. 1311 | typedef __bitwise unsigned int vm_fault_t;
  93464. | ^~~~~~~~~~
  93465. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  93466. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  93467. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  93468. from ././common/inc/nv-lock.h:29:
  93469. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  93470. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93471. 52 | #define current get_current()
  93472. | ^~~~~~~~~~~~~
  93473. | |
  93474. | struct task_struct *
  93475. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  93476. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93477. | ^~~~~~~
  93478. In file included from ././common/inc/nv-pgprot.h:30,
  93479. from ././common/inc/nv-linux.h:33:
  93480. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  93481. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93482. | ~~~~~~~~~~~~~~^~~~~
  93483. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93484. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93485. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93486. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93487. | ~~~~~~~~~~~~~~^~~~~~~~
  93488. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93489. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93490. | ^~~~~~~~
  93491. | |
  93492. | long unsigned int
  93493. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93494. 2535 | unsigned int gup_flags, struct page **pages);
  93495. | ~~~~~~~~~~~~~~^~~~~
  93496. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93497. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93498. | ^~~~~~~~~~~~~~ ~~~~~
  93499. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93500. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93501. | ^~~~~~~~~~~~~~
  93502. In file included from ././common/inc/nv.h:35,
  93503. from ././common/inc/nv-linux.h:28:
  93504. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  93505. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93506. 8 | #define NULL ((void *)0)
  93507. | ^~~~~~~~~~~
  93508. | |
  93509. | void *
  93510. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  93511. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93512. | ^~~~
  93513. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  93514. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93515. | ~~~~~~~~~~~~~~^~~~~
  93516. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93517. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93518. | ^~
  93519. | |
  93520. | struct mm_struct *
  93521. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93522. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93523. | ~~~~~~~~~~~~~~^~~~~~~~
  93524. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93525. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93526. | ^~~~~~~~
  93527. | |
  93528. | long unsigned int
  93529. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93530. 2535 | unsigned int gup_flags, struct page **pages);
  93531. | ~~~~~~~~~~~~~~^~~~~
  93532. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93533. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93534. | ^~~~~~~~~~~~~~ ~~~~~
  93535. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93536. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93537. | ^~~~~~~~~~~~~~
  93538. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  93539. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  93540. 237 | return (unsigned long)(vmf->virtual_address);
  93541. | ^~~~~~~~~~~~~~~
  93542. | real_address
  93543. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  93544. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93545. 246 | down_read(&mm->mmap_sem);
  93546. | ^~~~~~~~
  93547. | mmap_base
  93548. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  93549. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93550. 255 | up_read(&mm->mmap_sem);
  93551. | ^~~~~~~~
  93552. | mmap_base
  93553. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  93554. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93555. 264 | down_write(&mm->mmap_sem);
  93556. | ^~~~~~~~
  93557. | mmap_base
  93558. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  93559. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93560. 273 | up_write(&mm->mmap_sem);
  93561. | ^~~~~~~~
  93562. | mmap_base
  93563. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  93564. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93565. 282 | return rwsem_is_locked(&mm->mmap_sem);
  93566. | ^~~~~~~~
  93567. | mmap_base
  93568. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  93569. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93570. 291 | return &mm->mmap_sem;
  93571. | ^~~~~~~~
  93572. | mmap_base
  93573. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  93574. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  93575. 300 | vma->vm_flags |= flags;
  93576. | ^~
  93577. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  93578. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  93579. 309 | vma->vm_flags &= ~flags;
  93580. | ^~
  93581. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  93582. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  93583. 502 | NV_MEMDBG_ADD(ptr, size);
  93584. | ^
  93585. In file included from ././common/inc/nv-linux.h:34:
  93586. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  93587. 29 | typedef int vm_fault_t;
  93588. | ^~~~~~~~~~
  93589. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  93590. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  93591. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  93592. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  93593. from ././common/inc/nv-lock.h:35,
  93594. from ././common/inc/nv-linux.h:32:
  93595. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  93596. 1311 | typedef __bitwise unsigned int vm_fault_t;
  93597. | ^~~~~~~~~~
  93598. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  93599. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  93600. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  93601. from ././common/inc/nv-lock.h:29:
  93602. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  93603. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93604. 52 | #define current get_current()
  93605. | ^~~~~~~~~~~~~
  93606. | |
  93607. | struct task_struct *
  93608. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  93609. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93610. | ^~~~~~~
  93611. In file included from ././common/inc/nv-pgprot.h:30,
  93612. from ././common/inc/nv-linux.h:33:
  93613. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  93614. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93615. | ~~~~~~~~~~~~~~^~~~~
  93616. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93617. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93618. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93619. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93620. | ~~~~~~~~~~~~~~^~~~~~~~
  93621. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93622. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93623. | ^~~~~~~~
  93624. | |
  93625. | long unsigned int
  93626. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93627. 2535 | unsigned int gup_flags, struct page **pages);
  93628. | ~~~~~~~~~~~~~~^~~~~
  93629. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93630. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93631. | ^~~~~~~~~~~~~~ ~~~~~
  93632. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93633. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93634. | ^~~~~~~~~~~~~~
  93635. In file included from ././common/inc/nv.h:35:
  93636. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  93637. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93638. 8 | #define NULL ((void *)0)
  93639. | ^~~~~~~~~~~
  93640. | |
  93641. | void *
  93642. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  93643. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93644. | ^~~~
  93645. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  93646. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93647. | ~~~~~~~~~~~~~~^~~~~
  93648. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93649. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93650. | ^~
  93651. | |
  93652. | struct mm_struct *
  93653. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93654. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93655. | ~~~~~~~~~~~~~~^~~~~~~~
  93656. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93657. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93658. | ^~~~~~~~
  93659. | |
  93660. | long unsigned int
  93661. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93662. 2535 | unsigned int gup_flags, struct page **pages);
  93663. | ~~~~~~~~~~~~~~^~~~~
  93664. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93665. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93666. | ^~~~~~~~~~~~~~ ~~~~~
  93667. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93668. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93669. | ^~~~~~~~~~~~~~
  93670. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  93671. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  93672. 237 | return (unsigned long)(vmf->virtual_address);
  93673. | ^~~~~~~~~~~~~~~
  93674. | real_address
  93675. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  93676. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93677. 246 | down_read(&mm->mmap_sem);
  93678. | ^~~~~~~~
  93679. | mmap_base
  93680. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  93681. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93682. 255 | up_read(&mm->mmap_sem);
  93683. | ^~~~~~~~
  93684. | mmap_base
  93685. In file included from ././common/inc/nv-linux.h:37:
  93686. ././common/inc/nv-time.h: At top level:
  93687. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  93688. 40 | struct timespec64 {
  93689. | ^~~~~~~~~~
  93690. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  93691. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93692. 264 | down_write(&mm->mmap_sem);
  93693. | ^~~~~~~~
  93694. | mmap_base
  93695. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  93696. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  93697. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  93698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  93699. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  93700. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  93701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  93702. 13 | struct timespec64 {
  93703. | ^~~~~~~~~~
  93704. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  93705. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93706. 273 | up_write(&mm->mmap_sem);
  93707. | ^~~~~~~~
  93708. | mmap_base
  93709. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  93710. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93711. 282 | return rwsem_is_locked(&mm->mmap_sem);
  93712. | ^~~~~~~~
  93713. | mmap_base
  93714. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93715. 77 | static inline struct timespec64 timespec64_add
  93716. | ^~~~~~~~~~~~~~
  93717. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93718. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  93719. | ^~~~~~~~~~~~~~
  93720. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  93721. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93722. 291 | return &mm->mmap_sem;
  93723. | ^~~~~~~~
  93724. | mmap_base
  93725. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  93726. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  93727. 300 | vma->vm_flags |= flags;
  93728. | ^~
  93729. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93730. 95 | static inline struct timespec64 timespec64_sub
  93731. | ^~~~~~~~~~~~~~
  93732. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  93733. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93734. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  93735. | ^~~~~~~~~~~~~~
  93736. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  93737. 309 | vma->vm_flags &= ~flags;
  93738. | ^~
  93739. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  93740. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  93741. | ^~~~~~~~~~~~~~~~
  93742. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  93743. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  93744. | ^~~~~~~~~~~~~~~~
  93745. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  93746. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93747. 122 | ktime_get_raw_ts64(&ts);
  93748. | ^~~
  93749. | |
  93750. | struct timespec64 *
  93751. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  93752. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93753. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93754. | ~~~~~~~~~~~~~~~~~~~^~
  93755. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  93756. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93757. 185 | ktime_get_raw_ts64(&tm_aux);
  93758. | ^~~~~~~
  93759. | |
  93760. | struct timespec64 *
  93761. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93762. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93763. | ~~~~~~~~~~~~~~~~~~~^~
  93764. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93765. 221 | ktime_get_raw_ts64(&tm_aux);
  93766. | ^~~~~~~
  93767. | |
  93768. | struct timespec64 *
  93769. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93770. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93771. | ~~~~~~~~~~~~~~~~~~~^~
  93772. In file included from ././common/inc/nv-linux.h:37:
  93773. ././common/inc/nv-time.h: At top level:
  93774. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  93775. 40 | struct timespec64 {
  93776. | ^~~~~~~~~~
  93777. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  93778. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  93779. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  93780. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  93781. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  93782. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  93783. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  93784. 13 | struct timespec64 {
  93785. | ^~~~~~~~~~
  93786. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93787. 77 | static inline struct timespec64 timespec64_add
  93788. | ^~~~~~~~~~~~~~
  93789. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93790. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  93791. | ^~~~~~~~~~~~~~
  93792. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  93793. 95 | static inline struct timespec64 timespec64_sub
  93794. | ^~~~~~~~~~~~~~
  93795. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  93796. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  93797. | ^~~~~~~~~~~~~~
  93798. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  93799. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  93800. | ^~~~~~~~~~~~~~~~
  93801. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  93802. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  93803. | ^~~~~~~~~~~~~~~~
  93804. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  93805. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93806. 122 | ktime_get_raw_ts64(&ts);
  93807. | ^~~
  93808. | |
  93809. | struct timespec64 *
  93810. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  93811. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93812. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93813. | ~~~~~~~~~~~~~~~~~~~^~
  93814. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  93815. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93816. 185 | ktime_get_raw_ts64(&tm_aux);
  93817. | ^~~~~~~
  93818. | |
  93819. | struct timespec64 *
  93820. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93821. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93822. | ~~~~~~~~~~~~~~~~~~~^~
  93823. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  93824. 221 | ktime_get_raw_ts64(&tm_aux);
  93825. | ^~~~~~~
  93826. | |
  93827. | struct timespec64 *
  93828. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  93829. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  93830. | ~~~~~~~~~~~~~~~~~~~^~
  93831. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  93832. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  93833. 502 | NV_MEMDBG_ADD(ptr, size);
  93834. | ^
  93835. In file included from ././common/inc/nv-linux.h:34:
  93836. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  93837. 29 | typedef int vm_fault_t;
  93838. | ^~~~~~~~~~
  93839. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  93840. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  93841. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  93842. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  93843. from ././common/inc/nv-lock.h:35,
  93844. from ././common/inc/nv-linux.h:32:
  93845. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  93846. 1311 | typedef __bitwise unsigned int vm_fault_t;
  93847. | ^~~~~~~~~~
  93848. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  93849. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  93850. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  93851. from ././common/inc/nv-lock.h:29:
  93852. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  93853. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93854. 52 | #define current get_current()
  93855. | ^~~~~~~~~~~~~
  93856. | |
  93857. | struct task_struct *
  93858. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  93859. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93860. | ^~~~~~~
  93861. In file included from ././common/inc/nv-pgprot.h:30,
  93862. from ././common/inc/nv-linux.h:33:
  93863. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  93864. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93865. | ~~~~~~~~~~~~~~^~~~~
  93866. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93867. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93868. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93869. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93870. | ~~~~~~~~~~~~~~^~~~~~~~
  93871. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93872. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93873. | ^~~~~~~~
  93874. | |
  93875. | long unsigned int
  93876. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93877. 2535 | unsigned int gup_flags, struct page **pages);
  93878. | ~~~~~~~~~~~~~~^~~~~
  93879. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93880. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93881. | ^~~~~~~~~~~~~~ ~~~~~
  93882. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93883. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93884. | ^~~~~~~~~~~~~~
  93885. In file included from ././common/inc/nv.h:35:
  93886. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  93887. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93888. 8 | #define NULL ((void *)0)
  93889. | ^~~~~~~~~~~
  93890. | |
  93891. | void *
  93892. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  93893. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93894. | ^~~~
  93895. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  93896. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93897. | ~~~~~~~~~~~~~~^~~~~
  93898. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93899. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93900. | ^~
  93901. | |
  93902. | struct mm_struct *
  93903. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93904. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93905. | ~~~~~~~~~~~~~~^~~~~~~~
  93906. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  93907. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93908. | ^~~~~~~~
  93909. | |
  93910. | long unsigned int
  93911. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  93912. 2535 | unsigned int gup_flags, struct page **pages);
  93913. | ~~~~~~~~~~~~~~^~~~~
  93914. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  93915. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  93916. | ^~~~~~~~~~~~~~ ~~~~~
  93917. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  93918. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93919. | ^~~~~~~~~~~~~~
  93920. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  93921. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  93922. 237 | return (unsigned long)(vmf->virtual_address);
  93923. | ^~~~~~~~~~~~~~~
  93924. | real_address
  93925. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  93926. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93927. 246 | down_read(&mm->mmap_sem);
  93928. | ^~~~~~~~
  93929. | mmap_base
  93930. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  93931. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93932. 255 | up_read(&mm->mmap_sem);
  93933. | ^~~~~~~~
  93934. | mmap_base
  93935. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  93936. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93937. 264 | down_write(&mm->mmap_sem);
  93938. | ^~~~~~~~
  93939. | mmap_base
  93940. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  93941. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93942. 273 | up_write(&mm->mmap_sem);
  93943. | ^~~~~~~~
  93944. | mmap_base
  93945. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  93946. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93947. 282 | return rwsem_is_locked(&mm->mmap_sem);
  93948. | ^~~~~~~~
  93949. | mmap_base
  93950. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  93951. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  93952. 291 | return &mm->mmap_sem;
  93953. | ^~~~~~~~
  93954. | mmap_base
  93955. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  93956. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  93957. 300 | vma->vm_flags |= flags;
  93958. | ^~
  93959. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  93960. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  93961. 309 | vma->vm_flags &= ~flags;
  93962. | ^~
  93963. In file included from ././common/inc/nv-linux.h:34:
  93964. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  93965. 29 | typedef int vm_fault_t;
  93966. | ^~~~~~~~~~
  93967. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  93968. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  93969. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  93970. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  93971. from ././common/inc/nv-lock.h:35,
  93972. from ././common/inc/nv-linux.h:32:
  93973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  93974. 1311 | typedef __bitwise unsigned int vm_fault_t;
  93975. | ^~~~~~~~~~
  93976. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  93977. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  93978. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  93979. from ././common/inc/nv-lock.h:29:
  93980. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  93981. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93982. 52 | #define current get_current()
  93983. | ^~~~~~~~~~~~~
  93984. | |
  93985. | struct task_struct *
  93986. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  93987. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93988. | ^~~~~~~
  93989. In file included from ././common/inc/nv-pgprot.h:30,
  93990. from ././common/inc/nv-linux.h:33:
  93991. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  93992. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93993. | ~~~~~~~~~~~~~~^~~~~
  93994. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  93995. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  93996. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  93997. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  93998. | ~~~~~~~~~~~~~~^~~~~~~~
  93999. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  94000. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94001. | ^~~~~~~~
  94002. | |
  94003. | long unsigned int
  94004. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  94005. 2535 | unsigned int gup_flags, struct page **pages);
  94006. | ~~~~~~~~~~~~~~^~~~~
  94007. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  94008. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94009. | ^~~~~~~~~~~~~~ ~~~~~
  94010. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  94011. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94012. | ^~~~~~~~~~~~~~
  94013. In file included from ././common/inc/nv.h:35:
  94014. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  94015. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94016. 8 | #define NULL ((void *)0)
  94017. | ^~~~~~~~~~~
  94018. | |
  94019. | void *
  94020. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  94021. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94022. | ^~~~
  94023. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  94024. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94025. | ~~~~~~~~~~~~~~^~~~~
  94026. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94027. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94028. | ^~
  94029. | |
  94030. | struct mm_struct *
  94031. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  94032. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94033. | ~~~~~~~~~~~~~~^~~~~~~~
  94034. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  94035. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94036. | ^~~~~~~~
  94037. | |
  94038. | long unsigned int
  94039. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  94040. 2535 | unsigned int gup_flags, struct page **pages);
  94041. | ~~~~~~~~~~~~~~^~~~~
  94042. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  94043. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94044. | ^~~~~~~~~~~~~~ ~~~~~
  94045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  94046. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94047. | ^~~~~~~~~~~~~~
  94048. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  94049. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  94050. 237 | return (unsigned long)(vmf->virtual_address);
  94051. | ^~~~~~~~~~~~~~~
  94052. | real_address
  94053. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  94054. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94055. 246 | down_read(&mm->mmap_sem);
  94056. | ^~~~~~~~
  94057. | mmap_base
  94058. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  94059. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94060. 255 | up_read(&mm->mmap_sem);
  94061. | ^~~~~~~~
  94062. | mmap_base
  94063. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  94064. In file included from ././common/inc/nv-linux.h:34:
  94065. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  94066. 29 | typedef int vm_fault_t;
  94067. | ^~~~~~~~~~
  94068. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94069. 264 | down_write(&mm->mmap_sem);
  94070. | ^~~~~~~~
  94071. | mmap_base
  94072. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  94073. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94074. 273 | up_write(&mm->mmap_sem);
  94075. | ^~~~~~~~
  94076. | mmap_base
  94077. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  94078. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  94079. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  94080. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  94081. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  94082. from ././common/inc/nv-lock.h:35,
  94083. from ././common/inc/nv-linux.h:32:
  94084. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  94085. 1311 | typedef __bitwise unsigned int vm_fault_t;
  94086. | ^~~~~~~~~~
  94087. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94088. 282 | return rwsem_is_locked(&mm->mmap_sem);
  94089. | ^~~~~~~~
  94090. | mmap_base
  94091. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  94092. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94093. 291 | return &mm->mmap_sem;
  94094. | ^~~~~~~~
  94095. | mmap_base
  94096. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  94097. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  94098. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  94099. from ././common/inc/nv-lock.h:29:
  94100. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  94101. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  94102. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  94103. 300 | vma->vm_flags |= flags;
  94104. | ^~
  94105. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  94106. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  94107. 309 | vma->vm_flags &= ~flags;
  94108. | ^~
  94109. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94110. 52 | #define current get_current()
  94111. | ^~~~~~~~~~~~~
  94112. | |
  94113. | struct task_struct *
  94114. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  94115. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94116. | ^~~~~~~
  94117. In file included from ././common/inc/nv-pgprot.h:30,
  94118. from ././common/inc/nv-linux.h:33:
  94119. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  94120. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94121. | ~~~~~~~~~~~~~~^~~~~
  94122. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94123. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94124. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  94125. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94126. | ~~~~~~~~~~~~~~^~~~~~~~
  94127. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  94128. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94129. | ^~~~~~~~
  94130. | |
  94131. | long unsigned int
  94132. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  94133. 2535 | unsigned int gup_flags, struct page **pages);
  94134. | ~~~~~~~~~~~~~~^~~~~
  94135. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  94136. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94137. | ^~~~~~~~~~~~~~ ~~~~~
  94138. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  94139. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94140. | ^~~~~~~~~~~~~~
  94141. In file included from ././common/inc/nv.h:35:
  94142. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  94143. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94144. 8 | #define NULL ((void *)0)
  94145. | ^~~~~~~~~~~
  94146. | |
  94147. | void *
  94148. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  94149. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94150. | ^~~~
  94151. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  94152. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94153. | ~~~~~~~~~~~~~~^~~~~
  94154. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94155. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94156. | ^~
  94157. | |
  94158. | struct mm_struct *
  94159. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  94160. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94161. | ~~~~~~~~~~~~~~^~~~~~~~
  94162. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  94163. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94164. | ^~~~~~~~
  94165. | |
  94166. | long unsigned int
  94167. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  94168. 2535 | unsigned int gup_flags, struct page **pages);
  94169. | ~~~~~~~~~~~~~~^~~~~
  94170. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  94171. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94172. | ^~~~~~~~~~~~~~ ~~~~~
  94173. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  94174. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94175. | ^~~~~~~~~~~~~~
  94176. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  94177. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  94178. 237 | return (unsigned long)(vmf->virtual_address);
  94179. | ^~~~~~~~~~~~~~~
  94180. | real_address
  94181. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  94182. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94183. 246 | down_read(&mm->mmap_sem);
  94184. | ^~~~~~~~
  94185. | mmap_base
  94186. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  94187. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94188. 255 | up_read(&mm->mmap_sem);
  94189. | ^~~~~~~~
  94190. | mmap_base
  94191. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  94192. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94193. 264 | down_write(&mm->mmap_sem);
  94194. | ^~~~~~~~
  94195. | mmap_base
  94196. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  94197. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94198. 273 | up_write(&mm->mmap_sem);
  94199. | ^~~~~~~~
  94200. | mmap_base
  94201. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  94202. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94203. 282 | return rwsem_is_locked(&mm->mmap_sem);
  94204. | ^~~~~~~~
  94205. | mmap_base
  94206. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  94207. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94208. 291 | return &mm->mmap_sem;
  94209. | ^~~~~~~~
  94210. | mmap_base
  94211. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  94212. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  94213. 300 | vma->vm_flags |= flags;
  94214. | ^~
  94215. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  94216. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  94217. 309 | vma->vm_flags &= ~flags;
  94218. | ^~
  94219. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  94220. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  94221. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  94222. | ^~~~~~~~~~~~~~~~~~~~~~~
  94223. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94224. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94225. 520 | NV_MEMDBG_ADD(ptr, size);
  94226. | ^
  94227. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  94228. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  94229. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  94230. | ^~~~~~~~~~~~~~~~~~~~~~~
  94231. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94232. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94233. 520 | NV_MEMDBG_ADD(ptr, size);
  94234. | ^
  94235. In file included from ././common/inc/nv-linux.h:37:
  94236. ././common/inc/nv-time.h: At top level:
  94237. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  94238. 40 | struct timespec64 {
  94239. | ^~~~~~~~~~
  94240. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  94241. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  94242. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  94243. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  94244. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  94245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  94246. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  94247. 13 | struct timespec64 {
  94248. | ^~~~~~~~~~
  94249. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  94250. 77 | static inline struct timespec64 timespec64_add
  94251. | ^~~~~~~~~~~~~~
  94252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  94253. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  94254. | ^~~~~~~~~~~~~~
  94255. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  94256. 95 | static inline struct timespec64 timespec64_sub
  94257. | ^~~~~~~~~~~~~~
  94258. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  94259. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  94260. | ^~~~~~~~~~~~~~
  94261. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  94262. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  94263. | ^~~~~~~~~~~~~~~~
  94264. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  94265. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  94266. | ^~~~~~~~~~~~~~~~
  94267. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  94268. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94269. 122 | ktime_get_raw_ts64(&ts);
  94270. | ^~~
  94271. | |
  94272. | struct timespec64 *
  94273. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  94274. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94275. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94276. | ~~~~~~~~~~~~~~~~~~~^~
  94277. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  94278. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94279. 185 | ktime_get_raw_ts64(&tm_aux);
  94280. | ^~~~~~~
  94281. | |
  94282. | struct timespec64 *
  94283. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94284. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94285. | ~~~~~~~~~~~~~~~~~~~^~
  94286. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94287. 221 | ktime_get_raw_ts64(&tm_aux);
  94288. | ^~~~~~~
  94289. | |
  94290. | struct timespec64 *
  94291. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94292. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94293. | ~~~~~~~~~~~~~~~~~~~^~
  94294. In file included from ././common/inc/nv-linux.h:37:
  94295. ././common/inc/nv-time.h: At top level:
  94296. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  94297. 40 | struct timespec64 {
  94298. | ^~~~~~~~~~
  94299. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  94300. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  94301. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  94302. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  94303. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  94304. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  94305. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  94306. 13 | struct timespec64 {
  94307. | ^~~~~~~~~~
  94308. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  94309. 77 | static inline struct timespec64 timespec64_add
  94310. | ^~~~~~~~~~~~~~
  94311. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  94312. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  94313. | ^~~~~~~~~~~~~~
  94314. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  94315. 95 | static inline struct timespec64 timespec64_sub
  94316. | ^~~~~~~~~~~~~~
  94317. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  94318. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  94319. | ^~~~~~~~~~~~~~
  94320. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  94321. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  94322. | ^~~~~~~~~~~~~~~~
  94323. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  94324. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  94325. | ^~~~~~~~~~~~~~~~
  94326. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  94327. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94328. 122 | ktime_get_raw_ts64(&ts);
  94329. | ^~~
  94330. | |
  94331. | struct timespec64 *
  94332. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  94333. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94334. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94335. | ~~~~~~~~~~~~~~~~~~~^~
  94336. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  94337. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94338. 185 | ktime_get_raw_ts64(&tm_aux);
  94339. | ^~~~~~~
  94340. | |
  94341. | struct timespec64 *
  94342. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94343. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94344. | ~~~~~~~~~~~~~~~~~~~^~
  94345. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94346. 221 | ktime_get_raw_ts64(&tm_aux);
  94347. | ^~~~~~~
  94348. | |
  94349. | struct timespec64 *
  94350. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94351. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94352. | ~~~~~~~~~~~~~~~~~~~^~
  94353. In file included from ././common/inc/nv-linux.h:37:
  94354. ././common/inc/nv-time.h: At top level:
  94355. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  94356. 40 | struct timespec64 {
  94357. | ^~~~~~~~~~
  94358. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  94359. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  94360. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  94361. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  94362. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  94363. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  94364. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  94365. 13 | struct timespec64 {
  94366. | ^~~~~~~~~~
  94367. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  94368. 77 | static inline struct timespec64 timespec64_add
  94369. | ^~~~~~~~~~~~~~
  94370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  94371. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  94372. | ^~~~~~~~~~~~~~
  94373. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  94374. 95 | static inline struct timespec64 timespec64_sub
  94375. | ^~~~~~~~~~~~~~
  94376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  94377. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  94378. | ^~~~~~~~~~~~~~
  94379. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  94380. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  94381. | ^~~~~~~~~~~~~~~~
  94382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  94383. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  94384. | ^~~~~~~~~~~~~~~~
  94385. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  94386. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94387. 122 | ktime_get_raw_ts64(&ts);
  94388. | ^~~
  94389. | |
  94390. | struct timespec64 *
  94391. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  94392. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94393. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94394. | ~~~~~~~~~~~~~~~~~~~^~
  94395. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  94396. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94397. 185 | ktime_get_raw_ts64(&tm_aux);
  94398. | ^~~~~~~
  94399. | |
  94400. | struct timespec64 *
  94401. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94402. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94403. | ~~~~~~~~~~~~~~~~~~~^~
  94404. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94405. 221 | ktime_get_raw_ts64(&tm_aux);
  94406. | ^~~~~~~
  94407. | |
  94408. | struct timespec64 *
  94409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94410. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94411. | ~~~~~~~~~~~~~~~~~~~^~
  94412. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  94413. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94414. 502 | NV_MEMDBG_ADD(ptr, size);
  94415. | ^
  94416. In file included from ././common/inc/nv-linux.h:34,
  94417. from nvidia/nv_uvm_interface.c:33:
  94418. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  94419. 29 | typedef int vm_fault_t;
  94420. | ^~~~~~~~~~
  94421. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  94422. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  94423. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  94424. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  94425. from ././common/inc/nv-lock.h:35,
  94426. from ././common/inc/nv-linux.h:32:
  94427. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  94428. 1311 | typedef __bitwise unsigned int vm_fault_t;
  94429. | ^~~~~~~~~~
  94430. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  94431. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  94432. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  94433. from ././common/inc/nv-lock.h:29:
  94434. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  94435. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94436. 52 | #define current get_current()
  94437. | ^~~~~~~~~~~~~
  94438. | |
  94439. | struct task_struct *
  94440. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  94441. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94442. | ^~~~~~~
  94443. In file included from ././common/inc/nv-pgprot.h:30,
  94444. from ././common/inc/nv-linux.h:33:
  94445. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  94446. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94447. | ~~~~~~~~~~~~~~^~~~~
  94448. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94449. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  94451. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94452. | ~~~~~~~~~~~~~~^~~~~~~~
  94453. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  94454. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94455. | ^~~~~~~~
  94456. | |
  94457. | long unsigned int
  94458. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  94459. 2535 | unsigned int gup_flags, struct page **pages);
  94460. | ~~~~~~~~~~~~~~^~~~~
  94461. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  94462. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94463. | ^~~~~~~~~~~~~~ ~~~~~
  94464. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  94465. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94466. | ^~~~~~~~~~~~~~
  94467. In file included from ././common/inc/nv.h:35,
  94468. from ././common/inc/nv-linux.h:28:
  94469. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  94470. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94471. 8 | #define NULL ((void *)0)
  94472. | ^~~~~~~~~~~
  94473. | |
  94474. | void *
  94475. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  94476. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94477. | ^~~~
  94478. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  94479. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94480. | ~~~~~~~~~~~~~~^~~~~
  94481. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94482. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94483. | ^~
  94484. | |
  94485. | struct mm_struct *
  94486. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  94487. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94488. | ~~~~~~~~~~~~~~^~~~~~~~
  94489. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  94490. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94491. | ^~~~~~~~
  94492. | |
  94493. | long unsigned int
  94494. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  94495. 2535 | unsigned int gup_flags, struct page **pages);
  94496. | ~~~~~~~~~~~~~~^~~~~
  94497. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  94498. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94499. | ^~~~~~~~~~~~~~ ~~~~~
  94500. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  94501. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94502. | ^~~~~~~~~~~~~~
  94503. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  94504. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  94505. 237 | return (unsigned long)(vmf->virtual_address);
  94506. | ^~~~~~~~~~~~~~~
  94507. | real_address
  94508. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  94509. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94510. 246 | down_read(&mm->mmap_sem);
  94511. | ^~~~~~~~
  94512. | mmap_base
  94513. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  94514. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94515. 255 | up_read(&mm->mmap_sem);
  94516. | ^~~~~~~~
  94517. | mmap_base
  94518. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  94519. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94520. 264 | down_write(&mm->mmap_sem);
  94521. | ^~~~~~~~
  94522. | mmap_base
  94523. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  94524. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94525. 273 | up_write(&mm->mmap_sem);
  94526. | ^~~~~~~~
  94527. | mmap_base
  94528. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  94529. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94530. 282 | return rwsem_is_locked(&mm->mmap_sem);
  94531. | ^~~~~~~~
  94532. | mmap_base
  94533. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  94534. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94535. 291 | return &mm->mmap_sem;
  94536. | ^~~~~~~~
  94537. | mmap_base
  94538. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  94539. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  94540. 300 | vma->vm_flags |= flags;
  94541. | ^~
  94542. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  94543. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  94544. 309 | vma->vm_flags &= ~flags;
  94545. | ^~
  94546. In file included from ././common/inc/nv-linux.h:37:
  94547. ././common/inc/nv-time.h: At top level:
  94548. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  94549. 40 | struct timespec64 {
  94550. | ^~~~~~~~~~
  94551. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  94552. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  94553. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  94554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  94555. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  94556. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  94557. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  94558. 13 | struct timespec64 {
  94559. | ^~~~~~~~~~
  94560. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  94561. 77 | static inline struct timespec64 timespec64_add
  94562. | ^~~~~~~~~~~~~~
  94563. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  94564. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  94565. | ^~~~~~~~~~~~~~
  94566. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  94567. 95 | static inline struct timespec64 timespec64_sub
  94568. | ^~~~~~~~~~~~~~
  94569. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  94570. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  94571. | ^~~~~~~~~~~~~~
  94572. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  94573. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  94574. | ^~~~~~~~~~~~~~~~
  94575. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  94576. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  94577. | ^~~~~~~~~~~~~~~~
  94578. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  94579. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94580. 122 | ktime_get_raw_ts64(&ts);
  94581. | ^~~
  94582. | |
  94583. | struct timespec64 *
  94584. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  94585. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94586. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94587. | ~~~~~~~~~~~~~~~~~~~^~
  94588. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  94589. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94590. 185 | ktime_get_raw_ts64(&tm_aux);
  94591. | ^~~~~~~
  94592. | |
  94593. | struct timespec64 *
  94594. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94595. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94596. | ~~~~~~~~~~~~~~~~~~~^~
  94597. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  94598. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  94599. 221 | ktime_get_raw_ts64(&tm_aux);
  94600. | ^~~~~~~
  94601. | |
  94602. | struct timespec64 *
  94603. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  94604. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  94605. | ~~~~~~~~~~~~~~~~~~~^~
  94606. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  94607. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  94608. | ^~~~~~~~~~~~~~~~~~~~~~~
  94609. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94610. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94611. 520 | NV_MEMDBG_ADD(ptr, size);
  94612. | ^
  94613. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  94614. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  94615. 533 | ptr = ioremap_cache_shared(phys, size);
  94616. | ^~~~~~~~~~~~~~~~~~~~
  94617. | ioremap_cache
  94618. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94619. 533 | ptr = ioremap_cache_shared(phys, size);
  94620. | ^
  94621. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94622. 556 | NV_MEMDBG_ADD(ptr, size);
  94623. | ^
  94624. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  94625. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  94626. 533 | ptr = ioremap_cache_shared(phys, size);
  94627. | ^~~~~~~~~~~~~~~~~~~~
  94628. | ioremap_cache
  94629. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94630. 533 | ptr = ioremap_cache_shared(phys, size);
  94631. | ^
  94632. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94633. 556 | NV_MEMDBG_ADD(ptr, size);
  94634. | ^
  94635. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  94636. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94637. 502 | NV_MEMDBG_ADD(ptr, size);
  94638. | ^
  94639. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  94640. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94641. 502 | NV_MEMDBG_ADD(ptr, size);
  94642. | ^
  94643. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  94644. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  94645. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  94646. | ^~~~~~~~~~~~~~~~~~~~~~~
  94647. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94648. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94649. 520 | NV_MEMDBG_ADD(ptr, size);
  94650. | ^
  94651. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  94652. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  94653. 533 | ptr = ioremap_cache_shared(phys, size);
  94654. | ^~~~~~~~~~~~~~~~~~~~
  94655. | ioremap_cache
  94656. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94657. 533 | ptr = ioremap_cache_shared(phys, size);
  94658. | ^
  94659. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94660. 556 | NV_MEMDBG_ADD(ptr, size);
  94661. | ^
  94662. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  94663. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94664. 502 | NV_MEMDBG_ADD(ptr, size);
  94665. | ^
  94666. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  94667. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  94668. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  94669. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  94670. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94671. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  94672. | ^
  94673. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94674. 573 | NV_MEMDBG_ADD(ptr, size);
  94675. | ^
  94676. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  94677. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  94678. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  94679. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  94680. ././common/inc/nv-linux.h: In function 'nv_vmap':
  94681. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94682. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  94683. | ^
  94684. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94685. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  94686. | ^
  94687. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94688. 573 | NV_MEMDBG_ADD(ptr, size);
  94689. | ^
  94690. ././common/inc/nv-linux.h: In function 'nv_vmap':
  94691. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94692. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  94693. | ^
  94694. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  94695. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  94696. 736 | return phys_to_dma(dev, pa);
  94697. | ^~~~~~~~~~~
  94698. | nv_phys_to_dma
  94699. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  94700. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  94701. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  94702. | ^~~~~~~~~~~~~~~~~~~~~~~
  94703. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94704. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  94705. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  94706. 736 | return phys_to_dma(dev, pa);
  94707. | ^~~~~~~~~~~
  94708. | nv_phys_to_dma
  94709. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94710. 520 | NV_MEMDBG_ADD(ptr, size);
  94711. | ^
  94712. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  94713. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  94714. 533 | ptr = ioremap_cache_shared(phys, size);
  94715. | ^~~~~~~~~~~~~~~~~~~~
  94716. | ioremap_cache
  94717. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  94718. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94719. 533 | ptr = ioremap_cache_shared(phys, size);
  94720. | ^
  94721. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94722. 556 | NV_MEMDBG_ADD(ptr, size);
  94723. | ^
  94724. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94725. 502 | NV_MEMDBG_ADD(ptr, size);
  94726. | ^
  94727. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  94728. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  94729. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  94730. | ^~~~~~~~~~~~~~~~~~~~~~~
  94731. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94732. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94733. 520 | NV_MEMDBG_ADD(ptr, size);
  94734. | ^
  94735. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  94736. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  94737. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  94738. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  94739. | ^~~~~~~~~~~~~
  94740. | d_is_dir
  94741. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  94742. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  94743. | ^~~~~~~~~~~~~
  94744. | d_is_dir
  94745. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  94746. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  94747. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  94748. | ^~~~~~~~~~~~~~~~~~~~~~~
  94749. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94750. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94751. 520 | NV_MEMDBG_ADD(ptr, size);
  94752. | ^
  94753. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  94754. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  94755. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  94756. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  94757. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94758. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  94759. | ^
  94760. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94761. 573 | NV_MEMDBG_ADD(ptr, size);
  94762. | ^
  94763. ././common/inc/nv-linux.h: In function 'nv_vmap':
  94764. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94765. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  94766. | ^
  94767. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  94768. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  94769. 736 | return phys_to_dma(dev, pa);
  94770. | ^~~~~~~~~~~
  94771. | nv_phys_to_dma
  94772. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  94773. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94774. 502 | NV_MEMDBG_ADD(ptr, size);
  94775. | ^
  94776. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-pci.o] Error 1
  94777. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  94778. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  94779. 533 | ptr = ioremap_cache_shared(phys, size);
  94780. | ^~~~~~~~~~~~~~~~~~~~
  94781. | ioremap_cache
  94782. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94783. 533 | ptr = ioremap_cache_shared(phys, size);
  94784. | ^
  94785. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94786. 556 | NV_MEMDBG_ADD(ptr, size);
  94787. | ^
  94788. CC [M] nvidia/i2c_nvswitch.o
  94789. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  94790. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  94791. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  94792. | ^~~~~~~~~~~~~~~~~~~~~~~
  94793. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94794. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94795. 520 | NV_MEMDBG_ADD(ptr, size);
  94796. | ^
  94797. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  94798. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  94799. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  94800. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  94801. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94802. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  94803. | ^
  94804. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94805. 573 | NV_MEMDBG_ADD(ptr, size);
  94806. | ^
  94807. ././common/inc/nv-linux.h: In function 'nv_vmap':
  94808. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94809. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  94810. | ^
  94811. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  94812. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  94813. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  94814. | ^~~~~~~~~~~~~
  94815. | d_is_dir
  94816. nvidia/os-mlock.c: In function 'nv_follow_pfn':
  94817. nvidia/os-mlock.c:34:12: error: implicit declaration of function 'unsafe_follow_pfn'; did you mean 'nv_follow_pfn'? [-Wimplicit-function-declaration]
  94818. 34 | return unsafe_follow_pfn(vma, address, pfn);
  94819. | ^~~~~~~~~~~~~~~~~
  94820. | nv_follow_pfn
  94821. In file included from ././common/inc/conftest.h:28,
  94822. from ././common/inc/nv_stdarg.h:29,
  94823. from ././common/inc/nv.h:41,
  94824. from ././common/inc/nv-linux.h:28,
  94825. from nvidia/linux_nvswitch.h:28,
  94826. from nvidia/i2c_nvswitch.c:24:
  94827. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  94828. 74 | #error dma_buf_export() conftest failed!
  94829. | ^~~~~
  94830. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  94831. 87 | #error wait_on_bit_lock() conftest failed!
  94832. | ^~~~~
  94833. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  94834. 90 | #error radix_tree_replace_slot() conftest failed!
  94835. | ^~~~~
  94836. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  94837. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94838. 502 | NV_MEMDBG_ADD(ptr, size);
  94839. | ^
  94840. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  94841. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94842. 502 | NV_MEMDBG_ADD(ptr, size);
  94843. | ^
  94844. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  94845. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  94846. 736 | return phys_to_dma(dev, pa);
  94847. | ^~~~~~~~~~~
  94848. | nv_phys_to_dma
  94849. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  94850. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  94851. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  94852. 533 | ptr = ioremap_cache_shared(phys, size);
  94853. | ^~~~~~~~~~~~~~~~~~~~
  94854. | ioremap_cache
  94855. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94856. 533 | ptr = ioremap_cache_shared(phys, size);
  94857. | ^
  94858. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94859. 556 | NV_MEMDBG_ADD(ptr, size);
  94860. | ^
  94861. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94862. 502 | NV_MEMDBG_ADD(ptr, size);
  94863. | ^
  94864. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  94865. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  94866. 533 | ptr = ioremap_cache_shared(phys, size);
  94867. | ^~~~~~~~~~~~~~~~~~~~
  94868. | ioremap_cache
  94869. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  94870. 533 | ptr = ioremap_cache_shared(phys, size);
  94871. | ^
  94872. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  94873. 556 | NV_MEMDBG_ADD(ptr, size);
  94874. | ^
  94875. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-mlock.o] Error 1
  94876. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-usermap.o] Error 1
  94877. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  94878. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  94879. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  94880. | ^~~~~~~~~~~~~
  94881. | d_is_dir
  94882. In file included from ././common/inc/nv-linux.h:34,
  94883. from nvidia/nvlink_linux.c:30:
  94884. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  94885. 29 | typedef int vm_fault_t;
  94886. | ^~~~~~~~~~
  94887. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  94888. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  94889. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16,
  94890. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list_lru.h:14,
  94891. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:13,
  94892. from nvidia/nvlink_linux.h:30,
  94893. from nvidia/nvlink_linux.c:27:
  94894. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  94895. 1311 | typedef __bitwise unsigned int vm_fault_t;
  94896. | ^~~~~~~~~~
  94897. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  94898. from nvidia/nvlink_linux.h:28:
  94899. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  94900. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94901. 52 | #define current get_current()
  94902. | ^~~~~~~~~~~~~
  94903. | |
  94904. | struct task_struct *
  94905. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  94906. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94907. | ^~~~~~~
  94908. In file included from ././common/inc/nv-pgprot.h:30,
  94909. from ././common/inc/nv-linux.h:33:
  94910. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  94911. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94912. | ~~~~~~~~~~~~~~^~~~~
  94913. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94914. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94915. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  94916. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94917. | ~~~~~~~~~~~~~~^~~~~~~~
  94918. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  94919. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94920. | ^~~~~~~~
  94921. | |
  94922. | long unsigned int
  94923. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  94924. 2535 | unsigned int gup_flags, struct page **pages);
  94925. | ~~~~~~~~~~~~~~^~~~~
  94926. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  94927. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  94928. | ^~~~~~~~~~~~~~ ~~~~~
  94929. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  94930. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94931. | ^~~~~~~~~~~~~~
  94932. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  94933. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  94934. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  94935. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  94936. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  94937. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  94938. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  94939. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  94940. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/init.h:5,
  94941. from nvidia/nvlink_linux.h:27:
  94942. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  94943. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94944. 8 | #define NULL ((void *)0)
  94945. | ^~~~~~~~~~~
  94946. | |
  94947. | void *
  94948. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  94949. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94950. | ^~~~
  94951. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  94952. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94953. | ~~~~~~~~~~~~~~^~~~~
  94954. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  94955. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94956. | ^~
  94957. | |
  94958. | struct mm_struct *
  94959. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  94960. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94961. | ~~~~~~~~~~~~~~^~~~~~~~
  94962. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  94963. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94964. | ^~~~~~~~
  94965. | |
  94966. | long unsigned int
  94967. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  94968. 2535 | unsigned int gup_flags, struct page **pages);
  94969. | ~~~~~~~~~~~~~~^~~~~
  94970. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  94971. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  94972. | ^~~~~~~~~~~~~~ ~~~~~
  94973. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  94974. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  94975. | ^~~~~~~~~~~~~~
  94976. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  94977. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  94978. 237 | return (unsigned long)(vmf->virtual_address);
  94979. | ^~~~~~~~~~~~~~~
  94980. | real_address
  94981. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  94982. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94983. 246 | down_read(&mm->mmap_sem);
  94984. | ^~~~~~~~
  94985. | mmap_base
  94986. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  94987. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94988. 255 | up_read(&mm->mmap_sem);
  94989. | ^~~~~~~~
  94990. | mmap_base
  94991. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  94992. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94993. 264 | down_write(&mm->mmap_sem);
  94994. | ^~~~~~~~
  94995. | mmap_base
  94996. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  94997. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  94998. 273 | up_write(&mm->mmap_sem);
  94999. | ^~~~~~~~
  95000. | mmap_base
  95001. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  95002. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95003. 282 | return rwsem_is_locked(&mm->mmap_sem);
  95004. | ^~~~~~~~
  95005. | mmap_base
  95006. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  95007. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95008. 291 | return &mm->mmap_sem;
  95009. | ^~~~~~~~
  95010. | mmap_base
  95011. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  95012. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  95013. 300 | vma->vm_flags |= flags;
  95014. | ^~
  95015. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  95016. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  95017. 309 | vma->vm_flags &= ~flags;
  95018. | ^~
  95019. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  95020. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95021. 502 | NV_MEMDBG_ADD(ptr, size);
  95022. | ^
  95023. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  95024. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  95025. 533 | ptr = ioremap_cache_shared(phys, size);
  95026. | ^~~~~~~~~~~~~~~~~~~~
  95027. | ioremap_cache
  95028. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95029. 533 | ptr = ioremap_cache_shared(phys, size);
  95030. | ^
  95031. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95032. 556 | NV_MEMDBG_ADD(ptr, size);
  95033. | ^
  95034. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  95035. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  95036. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  95037. | ^~~~~~~~~~~~~~~~~~~~~~~
  95038. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95039. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95040. 520 | NV_MEMDBG_ADD(ptr, size);
  95041. | ^
  95042. In file included from ././common/inc/nv-linux.h:37:
  95043. ././common/inc/nv-time.h: At top level:
  95044. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  95045. 40 | struct timespec64 {
  95046. | ^~~~~~~~~~
  95047. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  95048. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  95049. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:10:
  95050. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  95051. 13 | struct timespec64 {
  95052. | ^~~~~~~~~~
  95053. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  95054. 77 | static inline struct timespec64 timespec64_add
  95055. | ^~~~~~~~~~~~~~
  95056. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  95057. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  95058. | ^~~~~~~~~~~~~~
  95059. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  95060. 95 | static inline struct timespec64 timespec64_sub
  95061. | ^~~~~~~~~~~~~~
  95062. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  95063. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  95064. | ^~~~~~~~~~~~~~
  95065. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  95066. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  95067. | ^~~~~~~~~~~~~~~~
  95068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  95069. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  95070. | ^~~~~~~~~~~~~~~~
  95071. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  95072. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  95073. 122 | ktime_get_raw_ts64(&ts);
  95074. | ^~~
  95075. | |
  95076. | struct timespec64 *
  95077. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  95078. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  95079. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  95080. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  95081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  95082. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  95083. | ~~~~~~~~~~~~~~~~~~~^~
  95084. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  95085. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  95086. 185 | ktime_get_raw_ts64(&tm_aux);
  95087. | ^~~~~~~
  95088. | |
  95089. | struct timespec64 *
  95090. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  95091. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  95092. | ~~~~~~~~~~~~~~~~~~~^~
  95093. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  95094. 221 | ktime_get_raw_ts64(&tm_aux);
  95095. | ^~~~~~~
  95096. | |
  95097. | struct timespec64 *
  95098. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  95099. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  95100. | ~~~~~~~~~~~~~~~~~~~^~
  95101. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  95102. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  95103. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95104. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  95105. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95106. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95107. | ^
  95108. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95109. 573 | NV_MEMDBG_ADD(ptr, size);
  95110. | ^
  95111. ././common/inc/nv-linux.h: In function 'nv_vmap':
  95112. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95113. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  95114. | ^
  95115. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  95116. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  95117. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  95118. | ^~~~~~~~~~~~~~~~~~~~~~~
  95119. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95120. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95121. 520 | NV_MEMDBG_ADD(ptr, size);
  95122. | ^
  95123. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  95124. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  95125. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  95126. | ^~~~~~~~~~~~~~~~~~~~~~~
  95127. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95128. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95129. 520 | NV_MEMDBG_ADD(ptr, size);
  95130. | ^
  95131. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-memdbg.o] Error 1
  95132. In file included from ././common/inc/nv-linux.h:34:
  95133. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  95134. 29 | typedef int vm_fault_t;
  95135. | ^~~~~~~~~~
  95136. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  95137. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  95138. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  95139. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  95140. from ././common/inc/nv-lock.h:35,
  95141. from ././common/inc/nv-linux.h:32:
  95142. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  95143. 1311 | typedef __bitwise unsigned int vm_fault_t;
  95144. | ^~~~~~~~~~
  95145. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  95146. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  95147. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  95148. from ././common/inc/nv-lock.h:29:
  95149. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  95150. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  95151. 52 | #define current get_current()
  95152. | ^~~~~~~~~~~~~
  95153. | |
  95154. | struct task_struct *
  95155. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  95156. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  95157. | ^~~~~~~
  95158. In file included from ././common/inc/nv-pgprot.h:30,
  95159. from ././common/inc/nv-linux.h:33:
  95160. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  95161. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95162. | ~~~~~~~~~~~~~~^~~~~
  95163. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  95164. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  95165. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  95166. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95167. | ~~~~~~~~~~~~~~^~~~~~~~
  95168. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  95169. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  95170. | ^~~~~~~~
  95171. | |
  95172. | long unsigned int
  95173. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  95174. 2535 | unsigned int gup_flags, struct page **pages);
  95175. | ~~~~~~~~~~~~~~^~~~~
  95176. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  95177. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  95178. | ^~~~~~~~~~~~~~ ~~~~~
  95179. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  95180. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95181. | ^~~~~~~~~~~~~~
  95182. In file included from ././common/inc/nv.h:35:
  95183. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  95184. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  95185. 8 | #define NULL ((void *)0)
  95186. | ^~~~~~~~~~~
  95187. | |
  95188. | void *
  95189. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  95190. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  95191. | ^~~~
  95192. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  95193. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95194. | ~~~~~~~~~~~~~~^~~~~
  95195. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  95196. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  95197. | ^~
  95198. | |
  95199. | struct mm_struct *
  95200. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  95201. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95202. | ~~~~~~~~~~~~~~^~~~~~~~
  95203. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  95204. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  95205. | ^~~~~~~~
  95206. | |
  95207. | long unsigned int
  95208. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  95209. 2535 | unsigned int gup_flags, struct page **pages);
  95210. | ~~~~~~~~~~~~~~^~~~~
  95211. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  95212. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  95213. | ^~~~~~~~~~~~~~ ~~~~~
  95214. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  95215. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95216. | ^~~~~~~~~~~~~~
  95217. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  95218. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  95219. 237 | return (unsigned long)(vmf->virtual_address);
  95220. | ^~~~~~~~~~~~~~~
  95221. | real_address
  95222. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  95223. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95224. 246 | down_read(&mm->mmap_sem);
  95225. | ^~~~~~~~
  95226. | mmap_base
  95227. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  95228. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95229. 255 | up_read(&mm->mmap_sem);
  95230. | ^~~~~~~~
  95231. | mmap_base
  95232. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  95233. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95234. 264 | down_write(&mm->mmap_sem);
  95235. | ^~~~~~~~
  95236. | mmap_base
  95237. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  95238. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95239. 273 | up_write(&mm->mmap_sem);
  95240. | ^~~~~~~~
  95241. | mmap_base
  95242. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  95243. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95244. 282 | return rwsem_is_locked(&mm->mmap_sem);
  95245. | ^~~~~~~~
  95246. | mmap_base
  95247. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  95248. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  95249. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95250. 291 | return &mm->mmap_sem;
  95251. | ^~~~~~~~
  95252. | mmap_base
  95253. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  95254. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  95255. | ^~~~~~~~~~~~~~~~~~~~~~~
  95256. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  95257. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  95258. 300 | vma->vm_flags |= flags;
  95259. | ^~
  95260. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  95261. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  95262. 309 | vma->vm_flags &= ~flags;
  95263. | ^~
  95264. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95265. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95266. 520 | NV_MEMDBG_ADD(ptr, size);
  95267. | ^
  95268. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  95269. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  95270. 736 | return phys_to_dma(dev, pa);
  95271. | ^~~~~~~~~~~
  95272. | nv_phys_to_dma
  95273. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  95274. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  95275. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95276. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  95277. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95278. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95279. | ^
  95280. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95281. 573 | NV_MEMDBG_ADD(ptr, size);
  95282. | ^
  95283. In file included from ././common/inc/nv-linux.h:37:
  95284. ././common/inc/nv-time.h: At top level:
  95285. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  95286. 40 | struct timespec64 {
  95287. | ^~~~~~~~~~
  95288. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  95289. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  95290. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  95291. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  95292. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  95293. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  95294. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  95295. 13 | struct timespec64 {
  95296. | ^~~~~~~~~~
  95297. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  95298. 77 | static inline struct timespec64 timespec64_add
  95299. | ^~~~~~~~~~~~~~
  95300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  95301. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  95302. | ^~~~~~~~~~~~~~
  95303. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  95304. 95 | static inline struct timespec64 timespec64_sub
  95305. | ^~~~~~~~~~~~~~
  95306. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  95307. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  95308. | ^~~~~~~~~~~~~~
  95309. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  95310. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  95311. | ^~~~~~~~~~~~~~~~
  95312. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  95313. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  95314. | ^~~~~~~~~~~~~~~~
  95315. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  95316. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  95317. 122 | ktime_get_raw_ts64(&ts);
  95318. | ^~~
  95319. | |
  95320. | struct timespec64 *
  95321. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  95322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  95323. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  95324. | ~~~~~~~~~~~~~~~~~~~^~
  95325. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  95326. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  95327. 185 | ktime_get_raw_ts64(&tm_aux);
  95328. | ^~~~~~~
  95329. | |
  95330. | struct timespec64 *
  95331. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  95332. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  95333. | ~~~~~~~~~~~~~~~~~~~^~
  95334. ././common/inc/nv-linux.h: In function 'nv_vmap':
  95335. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95336. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  95337. | ^
  95338. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  95339. 221 | ktime_get_raw_ts64(&tm_aux);
  95340. | ^~~~~~~
  95341. | |
  95342. | struct timespec64 *
  95343. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  95344. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  95345. | ~~~~~~~~~~~~~~~~~~~^~
  95346. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  95347. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  95348. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95349. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  95350. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95351. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95352. | ^
  95353. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95354. 573 | NV_MEMDBG_ADD(ptr, size);
  95355. | ^
  95356. ././common/inc/nv-linux.h: In function 'nv_vmap':
  95357. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95358. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  95359. | ^
  95360. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  95361. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  95362. 736 | return phys_to_dma(dev, pa);
  95363. | ^~~~~~~~~~~
  95364. | nv_phys_to_dma
  95365. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  95366. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  95367. 533 | ptr = ioremap_cache_shared(phys, size);
  95368. | ^~~~~~~~~~~~~~~~~~~~
  95369. | ioremap_cache
  95370. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95371. 533 | ptr = ioremap_cache_shared(phys, size);
  95372. | ^
  95373. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95374. 556 | NV_MEMDBG_ADD(ptr, size);
  95375. | ^
  95376. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  95377. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  95378. 736 | return phys_to_dma(dev, pa);
  95379. | ^~~~~~~~~~~
  95380. | nv_phys_to_dma
  95381. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  95382. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  95383. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  95384. | ^~~~~~~~~~~~~
  95385. | d_is_dir
  95386. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  95387. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  95388. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  95389. | ^~~~~~~~~~~~~~~~~~~~~~~
  95390. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95391. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95392. 520 | NV_MEMDBG_ADD(ptr, size);
  95393. | ^
  95394. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  95395. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  95396. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95397. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  95398. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95399. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95400. | ^
  95401. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95402. 573 | NV_MEMDBG_ADD(ptr, size);
  95403. | ^
  95404. In file included from ././common/inc/nv-linux.h:34:
  95405. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  95406. 29 | typedef int vm_fault_t;
  95407. | ^~~~~~~~~~
  95408. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  95409. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  95410. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  95411. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  95412. from ././common/inc/nv-lock.h:35,
  95413. from ././common/inc/nv-linux.h:32:
  95414. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  95415. 1311 | typedef __bitwise unsigned int vm_fault_t;
  95416. | ^~~~~~~~~~
  95417. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  95418. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  95419. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  95420. from ././common/inc/nv-lock.h:29:
  95421. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  95422. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  95423. 52 | #define current get_current()
  95424. | ^~~~~~~~~~~~~
  95425. | |
  95426. | struct task_struct *
  95427. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  95428. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  95429. | ^~~~~~~
  95430. ././common/inc/nv-linux.h: In function 'nv_vmap':
  95431. In file included from ././common/inc/nv-pgprot.h:30,
  95432. from ././common/inc/nv-linux.h:33:
  95433. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  95434. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95435. | ~~~~~~~~~~~~~~^~~~~
  95436. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95437. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  95438. | ^
  95439. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  95440. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  95441. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  95442. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95443. | ~~~~~~~~~~~~~~^~~~~~~~
  95444. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  95445. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  95446. | ^~~~~~~~
  95447. | |
  95448. | long unsigned int
  95449. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  95450. 2535 | unsigned int gup_flags, struct page **pages);
  95451. | ~~~~~~~~~~~~~~^~~~~
  95452. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  95453. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  95454. | ^~~~~~~~~~~~~~ ~~~~~
  95455. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  95456. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95457. | ^~~~~~~~~~~~~~
  95458. In file included from ././common/inc/nv.h:35:
  95459. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  95460. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  95461. 8 | #define NULL ((void *)0)
  95462. | ^~~~~~~~~~~
  95463. | |
  95464. | void *
  95465. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  95466. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  95467. | ^~~~
  95468. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  95469. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95470. | ~~~~~~~~~~~~~~^~~~~
  95471. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  95472. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  95473. | ^~
  95474. | |
  95475. | struct mm_struct *
  95476. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  95477. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95478. | ~~~~~~~~~~~~~~^~~~~~~~
  95479. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  95480. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  95481. | ^~~~~~~~
  95482. | |
  95483. | long unsigned int
  95484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  95485. 2535 | unsigned int gup_flags, struct page **pages);
  95486. | ~~~~~~~~~~~~~~^~~~~
  95487. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  95488. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  95489. | ^~~~~~~~~~~~~~ ~~~~~
  95490. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  95491. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  95492. | ^~~~~~~~~~~~~~
  95493. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  95494. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  95495. 237 | return (unsigned long)(vmf->virtual_address);
  95496. | ^~~~~~~~~~~~~~~
  95497. | real_address
  95498. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  95499. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95500. 246 | down_read(&mm->mmap_sem);
  95501. | ^~~~~~~~
  95502. | mmap_base
  95503. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  95504. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95505. 255 | up_read(&mm->mmap_sem);
  95506. | ^~~~~~~~
  95507. | mmap_base
  95508. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  95509. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95510. 264 | down_write(&mm->mmap_sem);
  95511. | ^~~~~~~~
  95512. | mmap_base
  95513. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  95514. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95515. 273 | up_write(&mm->mmap_sem);
  95516. | ^~~~~~~~
  95517. | mmap_base
  95518. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  95519. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95520. 282 | return rwsem_is_locked(&mm->mmap_sem);
  95521. | ^~~~~~~~
  95522. | mmap_base
  95523. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  95524. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  95525. 291 | return &mm->mmap_sem;
  95526. | ^~~~~~~~
  95527. | mmap_base
  95528. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  95529. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  95530. 300 | vma->vm_flags |= flags;
  95531. | ^~
  95532. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  95533. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  95534. 309 | vma->vm_flags &= ~flags;
  95535. | ^~
  95536. In file included from ././common/inc/nv-linux.h:37:
  95537. ././common/inc/nv-time.h: At top level:
  95538. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  95539. 40 | struct timespec64 {
  95540. | ^~~~~~~~~~
  95541. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  95542. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  95543. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  95544. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  95545. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  95546. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  95547. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  95548. 13 | struct timespec64 {
  95549. | ^~~~~~~~~~
  95550. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  95551. 77 | static inline struct timespec64 timespec64_add
  95552. | ^~~~~~~~~~~~~~
  95553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  95554. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  95555. | ^~~~~~~~~~~~~~
  95556. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  95557. 95 | static inline struct timespec64 timespec64_sub
  95558. | ^~~~~~~~~~~~~~
  95559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  95560. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  95561. | ^~~~~~~~~~~~~~
  95562. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  95563. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  95564. | ^~~~~~~~~~~~~~~~
  95565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  95566. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  95567. | ^~~~~~~~~~~~~~~~
  95568. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  95569. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  95570. 122 | ktime_get_raw_ts64(&ts);
  95571. | ^~~
  95572. | |
  95573. | struct timespec64 *
  95574. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  95575. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  95576. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  95577. | ~~~~~~~~~~~~~~~~~~~^~
  95578. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  95579. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  95580. 736 | return phys_to_dma(dev, pa);
  95581. | ^~~~~~~~~~~
  95582. | nv_phys_to_dma
  95583. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  95584. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  95585. 185 | ktime_get_raw_ts64(&tm_aux);
  95586. | ^~~~~~~
  95587. | |
  95588. | struct timespec64 *
  95589. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  95590. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  95591. | ~~~~~~~~~~~~~~~~~~~^~
  95592. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  95593. 221 | ktime_get_raw_ts64(&tm_aux);
  95594. | ^~~~~~~
  95595. | |
  95596. | struct timespec64 *
  95597. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  95598. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  95599. | ~~~~~~~~~~~~~~~~~~~^~
  95600. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  95601. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  95602. 533 | ptr = ioremap_cache_shared(phys, size);
  95603. | ^~~~~~~~~~~~~~~~~~~~
  95604. | ioremap_cache
  95605. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95606. 533 | ptr = ioremap_cache_shared(phys, size);
  95607. | ^
  95608. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95609. 556 | NV_MEMDBG_ADD(ptr, size);
  95610. | ^
  95611. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  95612. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  95613. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  95614. | ^~~~~~~~~~~~~
  95615. | d_is_dir
  95616. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  95617. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  95618. 533 | ptr = ioremap_cache_shared(phys, size);
  95619. | ^~~~~~~~~~~~~~~~~~~~
  95620. | ioremap_cache
  95621. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95622. 533 | ptr = ioremap_cache_shared(phys, size);
  95623. | ^
  95624. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95625. 556 | NV_MEMDBG_ADD(ptr, size);
  95626. | ^
  95627. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  95628. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  95629. 533 | ptr = ioremap_cache_shared(phys, size);
  95630. | ^~~~~~~~~~~~~~~~~~~~
  95631. | ioremap_cache
  95632. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95633. 533 | ptr = ioremap_cache_shared(phys, size);
  95634. | ^
  95635. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95636. 556 | NV_MEMDBG_ADD(ptr, size);
  95637. | ^
  95638. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  95639. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  95640. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  95641. | ^~~~~~~~~~~~~
  95642. | d_is_dir
  95643. nvidia/nv-ibmnpu.c: At top level:
  95644. nvidia/nv-ibmnpu.c:395:6: warning: no previous prototype for 'nv_init_ibmnpu_info' [-Wmissing-prototypes]
  95645. 395 | void nv_init_ibmnpu_info(nv_state_t *nv)
  95646. | ^~~~~~~~~~~~~~~~~~~
  95647. nvidia/nv-ibmnpu.c:399:6: warning: no previous prototype for 'nv_destroy_ibmnpu_info' [-Wmissing-prototypes]
  95648. 399 | void nv_destroy_ibmnpu_info(nv_state_t *nv)
  95649. | ^~~~~~~~~~~~~~~~~~~~~~
  95650. nvidia/nv-ibmnpu.c:403:5: warning: no previous prototype for 'nv_init_ibmnpu_devices' [-Wmissing-prototypes]
  95651. 403 | int nv_init_ibmnpu_devices(nv_state_t *nv)
  95652. | ^~~~~~~~~~~~~~~~~~~~~~
  95653. nvidia/nv-ibmnpu.c:408:6: warning: no previous prototype for 'nv_unregister_ibmnpu_devices' [-Wmissing-prototypes]
  95654. 408 | void nv_unregister_ibmnpu_devices(nv_state_t *nv)
  95655. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  95656. nvidia/nv-ibmnpu.c:428:5: warning: no previous prototype for 'nv_get_ibmnpu_chip_id' [-Wmissing-prototypes]
  95657. 428 | int nv_get_ibmnpu_chip_id(nv_state_t *nv)
  95658. | ^~~~~~~~~~~~~~~~~~~~~
  95659. nvidia/nv-ibmnpu.c:437:6: warning: no previous prototype for 'nv_ibmnpu_cache_flush_numa_region' [-Wmissing-prototypes]
  95660. 437 | void nv_ibmnpu_cache_flush_numa_region(nv_state_t *nv)
  95661. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  95662. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  95663. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  95664. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  95665. | ^~~~~~~~~~~~~
  95666. | d_is_dir
  95667. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-ibmnpu.o] Error 1
  95668. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-registry.o] Error 1
  95669. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  95670. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  95671. 533 | ptr = ioremap_cache_shared(phys, size);
  95672. | ^~~~~~~~~~~~~~~~~~~~
  95673. | ioremap_cache
  95674. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95675. 533 | ptr = ioremap_cache_shared(phys, size);
  95676. | ^
  95677. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95678. 556 | NV_MEMDBG_ADD(ptr, size);
  95679. | ^
  95680. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  95681. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  95682. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95683. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  95684. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95685. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95686. | ^
  95687. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95688. 573 | NV_MEMDBG_ADD(ptr, size);
  95689. | ^
  95690. ././common/inc/nv-linux.h: In function 'nv_vmap':
  95691. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95692. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  95693. | ^
  95694. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-modeset-interface.o] Error 1
  95695. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-frontend.o] Error 1
  95696. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  95697. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  95698. 736 | return phys_to_dma(dev, pa);
  95699. | ^~~~~~~~~~~
  95700. | nv_phys_to_dma
  95701. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  95702. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  95703. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95704. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  95705. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95706. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95707. | ^
  95708. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95709. 573 | NV_MEMDBG_ADD(ptr, size);
  95710. | ^
  95711. ././common/inc/nv-linux.h: In function 'nv_vmap':
  95712. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95713. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  95714. | ^
  95715. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  95716. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  95717. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95718. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  95719. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95720. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95721. | ^
  95722. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95723. 573 | NV_MEMDBG_ADD(ptr, size);
  95724. | ^
  95725. ././common/inc/nv-linux.h: In function 'nv_vmap':
  95726. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95727. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  95728. | ^
  95729. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  95730. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  95731. 736 | return phys_to_dma(dev, pa);
  95732. | ^~~~~~~~~~~
  95733. | nv_phys_to_dma
  95734. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  95735. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  95736. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95737. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  95738. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95739. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95740. | ^
  95741. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95742. 573 | NV_MEMDBG_ADD(ptr, size);
  95743. | ^
  95744. ././common/inc/nv-linux.h: In function 'nv_vmap':
  95745. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95746. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  95747. | ^
  95748. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  95749. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  95750. 736 | return phys_to_dma(dev, pa);
  95751. | ^~~~~~~~~~~
  95752. | nv_phys_to_dma
  95753. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  95754. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  95755. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  95756. | ^~~~~~~~~~~~~
  95757. | d_is_dir
  95758. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  95759. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  95760. 736 | return phys_to_dma(dev, pa);
  95761. | ^~~~~~~~~~~
  95762. | nv_phys_to_dma
  95763. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  95764. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  95765. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  95766. | ^~~~~~~~~~~~~
  95767. | d_is_dir
  95768. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  95769. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  95770. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  95771. | ^~~~~~~~~~~~~
  95772. | d_is_dir
  95773. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  95774. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  95775. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95776. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  95777. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95778. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  95779. | ^
  95780. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95781. 573 | NV_MEMDBG_ADD(ptr, size);
  95782. | ^
  95783. ././common/inc/nv-linux.h: In function 'nv_vmap':
  95784. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95785. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  95786. | ^
  95787. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  95788. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  95789. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  95790. | ^~~~~~~~~~~~~
  95791. | d_is_dir
  95792. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  95793. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  95794. 736 | return phys_to_dma(dev, pa);
  95795. | ^~~~~~~~~~~
  95796. | nv_phys_to_dma
  95797. nvidia/nv-msi.c: In function 'nv_init_msi':
  95798. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95799. 602 | NV_MEMDBG_ADD(ptr, size); \
  95800. | ^
  95801. nvidia/nv-msi.c:39:9: note: in expansion of macro 'NV_KZALLOC'
  95802. 39 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * nvl->num_intr);
  95803. | ^~~~~~~~~~
  95804. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-report-err.o] Error 1
  95805. nvidia/nv-msi.c: In function 'nv_init_msix':
  95806. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95807. 595 | NV_MEMDBG_ADD(ptr, size); \
  95808. | ^
  95809. nvidia/nv-msi.c:90:5: note: in expansion of macro 'NV_KMALLOC'
  95810. 90 | NV_KMALLOC(nvl->msix_entries, sizeof(struct msix_entry) * num_intr);
  95811. | ^~~~~~~~~~
  95812. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95813. 602 | NV_MEMDBG_ADD(ptr, size); \
  95814. | ^
  95815. nvidia/nv-msi.c:102:5: note: in expansion of macro 'NV_KZALLOC'
  95816. 102 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * num_intr);
  95817. | ^~~~~~~~~~
  95818. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  95819. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95820. 502 | NV_MEMDBG_ADD(ptr, size);
  95821. | ^
  95822. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  95823. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95824. 502 | NV_MEMDBG_ADD(ptr, size);
  95825. | ^
  95826. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-msi.o] Error 1
  95827. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  95828. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  95829. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  95830. | ^~~~~~~~~~~~~
  95831. | d_is_dir
  95832. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-rsync.o] Error 1
  95833. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  95834. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  95835. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  95836. | ^~~~~~~~~~~~~~~~~~~~~~~
  95837. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95838. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95839. 520 | NV_MEMDBG_ADD(ptr, size);
  95840. | ^
  95841. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  95842. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95843. 502 | NV_MEMDBG_ADD(ptr, size);
  95844. | ^
  95845. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  95846. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  95847. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  95848. | ^~~~~~~~~~~~~~~~~~~~~~~
  95849. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  95850. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95851. 520 | NV_MEMDBG_ADD(ptr, size);
  95852. | ^
  95853. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv_uvm_interface.o] Error 1
  95854. nvidia/nv-caps.c: At top level:
  95855. nvidia/nv-caps.c:269:5: warning: no previous prototype for 'nv_cap_procfs_init' [-Wmissing-prototypes]
  95856. 269 | int nv_cap_procfs_init(void)
  95857. | ^~~~~~~~~~~~~~~~~~
  95858. In file included from ././common/inc/nv-procfs.h:26,
  95859. from nvidia/nv-caps.c:26:
  95860. nvidia/nv-caps.c: In function 'nv_cap_procfs_init':
  95861. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  95862. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  95863. | ^~~~
  95864. | |
  95865. | const nv_proc_ops_t * {aka const struct file_operations *}
  95866. nvidia/nv-caps.c:279:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  95867. 279 | file_entry = NV_CREATE_PROC_FILE("mig-minors", nv_cap_procfs_dir,
  95868. | ^~~~~~~~~~~~~~~~~~~
  95869. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  95870. from ././common/inc/nv-linux.h:220:
  95871. /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 *'}
  95872. 111 | const struct proc_ops *,
  95873. | ^~~~~~~~~~~~~~~~~~~~~~~
  95874. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  95875. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  95876. | ^~~~
  95877. | |
  95878. | const nv_proc_ops_t * {aka const struct file_operations *}
  95879. nvidia/nv-caps.c:286:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  95880. 286 | file_entry = NV_CREATE_PROC_FILE("nvlink-minors", nv_cap_procfs_dir,
  95881. | ^~~~~~~~~~~~~~~~~~~
  95882. /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 *'}
  95883. 111 | const struct proc_ops *,
  95884. | ^~~~~~~~~~~~~~~~~~~~~~~
  95885. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  95886. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  95887. | ^~~~
  95888. | |
  95889. | const nv_proc_ops_t * {aka const struct file_operations *}
  95890. nvidia/nv-caps.c:293:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  95891. 293 | file_entry = NV_CREATE_PROC_FILE("sys-minors", nv_cap_procfs_dir,
  95892. | ^~~~~~~~~~~~~~~~~~~
  95893. /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 *'}
  95894. 111 | const struct proc_ops *,
  95895. | ^~~~~~~~~~~~~~~~~~~~~~~
  95896. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/string.h:392,
  95897. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bitmap.h:13,
  95898. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/cpumask.h:12,
  95899. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt.h:21,
  95900. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:102,
  95901. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18,
  95902. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:59:
  95903. nvidia/nv-caps.c: In function 'nv_cap_find_minor':
  95904. /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]
  95905. 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \
  95906. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  95907. 259 | __builtin_strlen(p), __fortify_strlen(p))
  95908. | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  95909. | |
  95910. | __kernel_size_t {aka long unsigned int}
  95911. ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen'
  95912. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  95913. | ^~~~~~
  95914. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  95915. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  95916. | ^~~~~~~~~~~~~~
  95917. nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key'
  95918. 310 | unsigned int key = nv_cap_hash_key(path);
  95919. | ^~~~~~~~~~~~~~~
  95920. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dcache.h:15,
  95921. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:8,
  95922. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7,
  95923. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133:
  95924. /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'}
  95925. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  95926. | ^~~~~~~~~~~~
  95927. In file included from nvidia/nv-caps.c:27:
  95928. ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2
  95929. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  95930. | ^~~~~~~~~~~~~~
  95931. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  95932. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  95933. | ^~~~~~~~~~~~~~
  95934. nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key'
  95935. 310 | unsigned int key = nv_cap_hash_key(path);
  95936. | ^~~~~~~~~~~~~~~
  95937. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here
  95938. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  95939. | ^~~~~~~~~~~~~~
  95940. nvidia/nv-caps.c: In function '_nv_cap_table_init':
  95941. /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]
  95942. 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \
  95943. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  95944. 259 | __builtin_strlen(p), __fortify_strlen(p))
  95945. | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  95946. | |
  95947. | __kernel_size_t {aka long unsigned int}
  95948. ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen'
  95949. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  95950. | ^~~~~~
  95951. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  95952. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  95953. | ^~~~~~~~~~~~~~
  95954. nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key'
  95955. 334 | key = nv_cap_hash_key(table[i].name);
  95956. | ^~~~~~~~~~~~~~~
  95957. /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'}
  95958. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  95959. | ^~~~~~~~~~~~
  95960. ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2
  95961. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  95962. | ^~~~~~~~~~~~~~
  95963. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  95964. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  95965. | ^~~~~~~~~~~~~~
  95966. nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key'
  95967. 334 | key = nv_cap_hash_key(table[i].name);
  95968. | ^~~~~~~~~~~~~~~
  95969. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here
  95970. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  95971. | ^~~~~~~~~~~~~~
  95972. nvidia/nv-caps.c: In function 'nv_cap_procfs_open':
  95973. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95974. 595 | NV_MEMDBG_ADD(ptr, size); \
  95975. | ^
  95976. nvidia/nv-caps.c:410:5: note: in expansion of macro 'NV_KMALLOC'
  95977. 410 | NV_KMALLOC(private, sizeof(nv_cap_file_private_t));
  95978. | ^~~~~~~~~~
  95979. nvidia/nv-caps.c: In function 'nv_cap_alloc':
  95980. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95981. 595 | NV_MEMDBG_ADD(ptr, size); \
  95982. | ^
  95983. nvidia/nv-caps.c:614:5: note: in expansion of macro 'NV_KMALLOC'
  95984. 614 | NV_KMALLOC(cap, sizeof(nv_cap_t));
  95985. | ^~~~~~~~~~
  95986. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95987. 595 | NV_MEMDBG_ADD(ptr, size); \
  95988. | ^
  95989. nvidia/nv-caps.c:621:5: note: in expansion of macro 'NV_KMALLOC'
  95990. 621 | NV_KMALLOC(cap->path, len);
  95991. | ^~~~~~~~~~
  95992. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  95993. 595 | NV_MEMDBG_ADD(ptr, size); \
  95994. | ^
  95995. nvidia/nv-caps.c:633:5: note: in expansion of macro 'NV_KMALLOC'
  95996. 633 | NV_KMALLOC(cap->name, len);
  95997. | ^~~~~~~~~~
  95998. nvidia/nv-caps.c: In function 'nv_cap_create_file_entry':
  95999. nvidia/nv-caps.c:688:35: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  96000. 688 | &g_nv_cap_procfs_fops, (void*)cap);
  96001. | ^~~~~~~~~~~~~~~~~~~~~
  96002. | |
  96003. | nv_proc_ops_t * {aka struct file_operations *}
  96004. /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 *'}
  96005. 111 | const struct proc_ops *,
  96006. | ^~~~~~~~~~~~~~~~~~~~~~~
  96007. nvidia/nv-caps.c: In function 'nv_cap_init':
  96008. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96009. 595 | NV_MEMDBG_ADD(ptr, size); \
  96010. | ^
  96011. nvidia/nv-caps.c:738:5: note: in expansion of macro 'NV_KMALLOC'
  96012. 738 | NV_KMALLOC(name, (strlen(path) + strlen(dir)) + 1);
  96013. | ^~~~~~~~~~
  96014. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  96015. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  96016. 533 | ptr = ioremap_cache_shared(phys, size);
  96017. | ^~~~~~~~~~~~~~~~~~~~
  96018. | ioremap_cache
  96019. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96020. 533 | ptr = ioremap_cache_shared(phys, size);
  96021. | ^
  96022. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96023. 556 | NV_MEMDBG_ADD(ptr, size);
  96024. | ^
  96025. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  96026. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  96027. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  96028. | ^~~~~~~~~~~~~~~~~~~~~~~
  96029. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96030. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96031. 520 | NV_MEMDBG_ADD(ptr, size);
  96032. | ^
  96033. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-caps.o] Error 1
  96034. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  96035. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  96036. 533 | ptr = ioremap_cache_shared(phys, size);
  96037. | ^~~~~~~~~~~~~~~~~~~~
  96038. | ioremap_cache
  96039. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96040. 533 | ptr = ioremap_cache_shared(phys, size);
  96041. | ^
  96042. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96043. 556 | NV_MEMDBG_ADD(ptr, size);
  96044. | ^
  96045. In file included from ././common/inc/nv-linux.h:34:
  96046. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  96047. 29 | typedef int vm_fault_t;
  96048. | ^~~~~~~~~~
  96049. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  96050. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  96051. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  96052. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  96053. from ././common/inc/nv-lock.h:35,
  96054. from ././common/inc/nv-linux.h:32:
  96055. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  96056. 1311 | typedef __bitwise unsigned int vm_fault_t;
  96057. | ^~~~~~~~~~
  96058. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  96059. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  96060. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  96061. from ././common/inc/nv-lock.h:29:
  96062. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  96063. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96064. 52 | #define current get_current()
  96065. | ^~~~~~~~~~~~~
  96066. | |
  96067. | struct task_struct *
  96068. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  96069. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96070. | ^~~~~~~
  96071. In file included from ././common/inc/nv-pgprot.h:30,
  96072. from ././common/inc/nv-linux.h:33:
  96073. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  96074. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96075. | ~~~~~~~~~~~~~~^~~~~
  96076. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96077. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96078. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  96079. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96080. | ~~~~~~~~~~~~~~^~~~~~~~
  96081. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  96082. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96083. | ^~~~~~~~
  96084. | |
  96085. | long unsigned int
  96086. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  96087. 2535 | unsigned int gup_flags, struct page **pages);
  96088. | ~~~~~~~~~~~~~~^~~~~
  96089. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  96090. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96091. | ^~~~~~~~~~~~~~ ~~~~~
  96092. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  96093. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96094. | ^~~~~~~~~~~~~~
  96095. In file included from ././common/inc/nv.h:35:
  96096. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  96097. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96098. 8 | #define NULL ((void *)0)
  96099. | ^~~~~~~~~~~
  96100. | |
  96101. | void *
  96102. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  96103. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96104. | ^~~~
  96105. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  96106. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96107. | ~~~~~~~~~~~~~~^~~~~
  96108. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96109. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96110. | ^~
  96111. | |
  96112. | struct mm_struct *
  96113. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  96114. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96115. | ~~~~~~~~~~~~~~^~~~~~~~
  96116. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  96117. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96118. | ^~~~~~~~
  96119. | |
  96120. | long unsigned int
  96121. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  96122. 2535 | unsigned int gup_flags, struct page **pages);
  96123. | ~~~~~~~~~~~~~~^~~~~
  96124. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  96125. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96126. | ^~~~~~~~~~~~~~ ~~~~~
  96127. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  96128. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96129. | ^~~~~~~~~~~~~~
  96130. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  96131. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  96132. 237 | return (unsigned long)(vmf->virtual_address);
  96133. | ^~~~~~~~~~~~~~~
  96134. | real_address
  96135. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  96136. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96137. 246 | down_read(&mm->mmap_sem);
  96138. | ^~~~~~~~
  96139. | mmap_base
  96140. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  96141. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96142. 255 | up_read(&mm->mmap_sem);
  96143. | ^~~~~~~~
  96144. | mmap_base
  96145. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  96146. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96147. 264 | down_write(&mm->mmap_sem);
  96148. | ^~~~~~~~
  96149. | mmap_base
  96150. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  96151. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96152. 273 | up_write(&mm->mmap_sem);
  96153. | ^~~~~~~~
  96154. | mmap_base
  96155. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  96156. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96157. 282 | return rwsem_is_locked(&mm->mmap_sem);
  96158. | ^~~~~~~~
  96159. | mmap_base
  96160. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  96161. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96162. 291 | return &mm->mmap_sem;
  96163. | ^~~~~~~~
  96164. | mmap_base
  96165. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  96166. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  96167. 300 | vma->vm_flags |= flags;
  96168. | ^~
  96169. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  96170. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  96171. 309 | vma->vm_flags &= ~flags;
  96172. | ^~
  96173. In file included from ././common/inc/nv-linux.h:37:
  96174. ././common/inc/nv-time.h: At top level:
  96175. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  96176. 40 | struct timespec64 {
  96177. | ^~~~~~~~~~
  96178. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  96179. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  96180. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  96181. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  96182. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  96183. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  96184. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  96185. 13 | struct timespec64 {
  96186. | ^~~~~~~~~~
  96187. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  96188. 77 | static inline struct timespec64 timespec64_add
  96189. | ^~~~~~~~~~~~~~
  96190. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  96191. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  96192. | ^~~~~~~~~~~~~~
  96193. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  96194. 95 | static inline struct timespec64 timespec64_sub
  96195. | ^~~~~~~~~~~~~~
  96196. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  96197. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  96198. | ^~~~~~~~~~~~~~
  96199. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  96200. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  96201. | ^~~~~~~~~~~~~~~~
  96202. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  96203. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  96204. | ^~~~~~~~~~~~~~~~
  96205. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  96206. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  96207. 122 | ktime_get_raw_ts64(&ts);
  96208. | ^~~
  96209. | |
  96210. | struct timespec64 *
  96211. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  96212. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  96213. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  96214. | ~~~~~~~~~~~~~~~~~~~^~
  96215. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  96216. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  96217. 185 | ktime_get_raw_ts64(&tm_aux);
  96218. | ^~~~~~~
  96219. | |
  96220. | struct timespec64 *
  96221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  96222. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  96223. | ~~~~~~~~~~~~~~~~~~~^~
  96224. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  96225. 221 | ktime_get_raw_ts64(&tm_aux);
  96226. | ^~~~~~~
  96227. | |
  96228. | struct timespec64 *
  96229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  96230. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  96231. | ~~~~~~~~~~~~~~~~~~~^~
  96232. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  96233. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  96234. 533 | ptr = ioremap_cache_shared(phys, size);
  96235. | ^~~~~~~~~~~~~~~~~~~~
  96236. | ioremap_cache
  96237. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96238. 533 | ptr = ioremap_cache_shared(phys, size);
  96239. | ^
  96240. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96241. 556 | NV_MEMDBG_ADD(ptr, size);
  96242. | ^
  96243. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  96244. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  96245. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  96246. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  96247. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96248. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  96249. | ^
  96250. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96251. 573 | NV_MEMDBG_ADD(ptr, size);
  96252. | ^
  96253. ././common/inc/nv-linux.h: In function 'nv_vmap':
  96254. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96255. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  96256. | ^
  96257. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  96258. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  96259. 736 | return phys_to_dma(dev, pa);
  96260. | ^~~~~~~~~~~
  96261. | nv_phys_to_dma
  96262. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  96263. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  96264. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  96265. | ^~~~~~~~~~~~~
  96266. | d_is_dir
  96267. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  96268. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  96269. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  96270. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  96271. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96272. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  96273. | ^
  96274. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96275. 573 | NV_MEMDBG_ADD(ptr, size);
  96276. | ^
  96277. ././common/inc/nv-linux.h: In function 'nv_vmap':
  96278. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96279. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  96280. | ^
  96281. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  96282. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  96283. 736 | return phys_to_dma(dev, pa);
  96284. | ^~~~~~~~~~~
  96285. | nv_phys_to_dma
  96286. In file included from ././common/inc/nv-procfs.h:26,
  96287. from nvidia/procfs_nvswitch.c:25:
  96288. nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_device_add':
  96289. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  96290. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  96291. | ^~~~
  96292. | |
  96293. | const nv_proc_ops_t * {aka const struct file_operations *}
  96294. nvidia/procfs_nvswitch.c:135:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  96295. 135 | entry = NV_CREATE_PROC_FILE("information", device_dir, device_info,
  96296. | ^~~~~~~~~~~~~~~~~~~
  96297. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  96298. from ././common/inc/nv-linux.h:220:
  96299. /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 *'}
  96300. 111 | const struct proc_ops *,
  96301. | ^~~~~~~~~~~~~~~~~~~~~~~
  96302. nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_init':
  96303. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  96304. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  96305. | ^~~~
  96306. | |
  96307. | const nv_proc_ops_t * {aka const struct file_operations *}
  96308. nvidia/procfs_nvswitch.c:174:28: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  96309. 174 | nvswitch_permissions = NV_CREATE_PROC_FILE("permissions",
  96310. | ^~~~~~~~~~~~~~~~~~~
  96311. /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 *'}
  96312. 111 | const struct proc_ops *,
  96313. | ^~~~~~~~~~~~~~~~~~~~~~~
  96314. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  96315. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  96316. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  96317. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  96318. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96319. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  96320. | ^
  96321. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96322. 573 | NV_MEMDBG_ADD(ptr, size);
  96323. | ^
  96324. ././common/inc/nv-linux.h: In function 'nv_vmap':
  96325. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96326. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  96327. | ^
  96328. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  96329. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  96330. 736 | return phys_to_dma(dev, pa);
  96331. | ^~~~~~~~~~~
  96332. | nv_phys_to_dma
  96333. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/procfs_nvswitch.o] Error 1
  96334. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  96335. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  96336. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  96337. | ^~~~~~~~~~~~~
  96338. | d_is_dir
  96339. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  96340. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  96341. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  96342. | ^~~~~~~~~~~~~
  96343. | d_is_dir
  96344. In file included from ././common/inc/nv-procfs.h:26,
  96345. from nvidia/nvlink_linux.c:31:
  96346. nvidia/nvlink_linux.c: In function 'nvlink_permissions_init':
  96347. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  96348. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  96349. | ^~~~
  96350. | |
  96351. | const nv_proc_ops_t * {aka const struct file_operations *}
  96352. nvidia/nvlink_linux.c:115:26: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  96353. 115 | nvlink_permissions = NV_CREATE_PROC_FILE("permissions",
  96354. | ^~~~~~~~~~~~~~~~~~~
  96355. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  96356. from ././common/inc/nv-linux.h:220:
  96357. /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 *'}
  96358. 111 | const struct proc_ops *,
  96359. | ^~~~~~~~~~~~~~~~~~~~~~~
  96360. nvidia/nvlink_linux.c: At top level:
  96361. nvidia/nvlink_linux.c:313:12: warning: no previous prototype for 'nvlink_core_init' [-Wmissing-prototypes]
  96362. 313 | int __init nvlink_core_init(void)
  96363. | ^~~~~~~~~~~~~~~~
  96364. nvidia/nvlink_linux.c:389:6: warning: no previous prototype for 'nvlink_core_exit' [-Wmissing-prototypes]
  96365. 389 | void nvlink_core_exit(void)
  96366. | ^~~~~~~~~~~~~~~~
  96367. nvidia/linux_nvswitch.c: At top level:
  96368. nvidia/linux_nvswitch.c:52:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  96369. 52 | const static struct
  96370. | ^~~~~
  96371. nvidia/linux_nvswitch.c:1705:1: warning: no previous prototype for 'nvswitch_init' [-Wmissing-prototypes]
  96372. 1705 | nvswitch_init
  96373. | ^~~~~~~~~~~~~
  96374. nvidia/linux_nvswitch.c:1790:1: warning: no previous prototype for 'nvswitch_exit' [-Wmissing-prototypes]
  96375. 1790 | nvswitch_exit
  96376. | ^~~~~~~~~~~~~
  96377. nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time':
  96378. nvidia/linux_nvswitch.c:1827:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  96379. 1827 | ktime_get_raw_ts64(&ts);
  96380. | ^~~
  96381. | |
  96382. | struct timespec64 *
  96383. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  96384. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  96385. | ~~~~~~~~~~~~~~~~~~~^~
  96386. nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time_epoch':
  96387. nvidia/linux_nvswitch.c:1849:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  96388. 1849 | ktime_get_real_ts64(&ts);
  96389. | ^~~
  96390. | |
  96391. | struct timespec64 *
  96392. /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 *'
  96393. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  96394. | ~~~~~~~~~~~~~~~~~~~^~
  96395. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nvlink_linux.o] Error 1
  96396. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/linux_nvswitch.o] Error 1
  96397. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  96398. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96399. 502 | NV_MEMDBG_ADD(ptr, size);
  96400. | ^
  96401. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  96402. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  96403. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  96404. | ^~~~~~~~~~~~~~~~~~~~~~~
  96405. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96406. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96407. 520 | NV_MEMDBG_ADD(ptr, size);
  96408. | ^
  96409. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  96410. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  96411. 533 | ptr = ioremap_cache_shared(phys, size);
  96412. | ^~~~~~~~~~~~~~~~~~~~
  96413. | ioremap_cache
  96414. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96415. 533 | ptr = ioremap_cache_shared(phys, size);
  96416. | ^
  96417. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96418. 556 | NV_MEMDBG_ADD(ptr, size);
  96419. | ^
  96420. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  96421. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  96422. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  96423. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  96424. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  96425. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  96426. | ^
  96427. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96428. 573 | NV_MEMDBG_ADD(ptr, size);
  96429. | ^
  96430. ././common/inc/nv-linux.h: In function 'nv_vmap':
  96431. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  96432. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  96433. | ^
  96434. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  96435. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  96436. 736 | return phys_to_dma(dev, pa);
  96437. | ^~~~~~~~~~~
  96438. | nv_phys_to_dma
  96439. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  96440. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  96441. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  96442. | ^~~~~~~~~~~~~
  96443. | d_is_dir
  96444. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/i2c_nvswitch.o] Error 1
  96445. make[4]: Target './' not remade because of errors.
  96446. make[3]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:1997: .] Error 2
  96447. make[3]: Target 'modules' not remade because of errors.
  96448. make[2]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:251: __sub-make] Error 2
  96449. make[2]: Target 'modules' not remade because of errors.
  96450. make[2]: Leaving directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel'
  96451. make[1]: *** [Makefile:251: __sub-make] Error 2
  96452. make[1]: Target 'modules' not remade because of errors.
  96453. make[1]: Leaving directory '/usr/lib/modules/6.14.6-arch1-1/build'
  96454. make: *** [Makefile:82: modules] Error 2
  96455. -> Error.
  96456. 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.
  96457. -> 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:
  96458.  
  96459. make[1]: Entering directory '/usr/lib/modules/6.14.6-arch1-1/build'
  96460. make[2]: Entering directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel'
  96461. warning: the compiler differs from the one used to build the kernel
  96462. The kernel was built by: gcc (GCC) 15.1.1 20250425
  96463. You are using: cc (GCC) 15.1.1 20250425
  96464. SYMLINK nvidia/nv-kernel.o
  96465. CC [M] nvidia/nv.o
  96466. CC [M] nvidia/nv-pci.o
  96467. CC [M] nvidia/nv-dmabuf.o
  96468. CC [M] nvidia/nv-nano-timer.o
  96469. CC [M] nvidia/nv-acpi.o
  96470. CC [M] nvidia/nv-cray.o
  96471. CC [M] nvidia/nv-dma.o
  96472. CC [M] nvidia/nv-i2c.o
  96473. CC [M] nvidia/nv-mmap.o
  96474. CC [M] nvidia/nv-p2p.o
  96475. CC [M] nvidia/nv-pat.o
  96476. CC [M] nvidia/nv-procfs.o
  96477. CC [M] nvidia/nv-usermap.o
  96478. CC [M] nvidia/nv-vm.o
  96479. CC [M] nvidia/nv-vtophys.o
  96480. CC [M] nvidia/os-interface.o
  96481. In file included from ././common/inc/conftest.h:28,
  96482. from ././common/inc/nv_stdarg.h:29,
  96483. from ././common/inc/os-interface.h:40,
  96484. from nvidia/nv-dma.c:26:
  96485. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96486. 74 | #error dma_buf_export() conftest failed!
  96487. | ^~~~~
  96488. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96489. 87 | #error wait_on_bit_lock() conftest failed!
  96490. | ^~~~~
  96491. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96492. 90 | #error radix_tree_replace_slot() conftest failed!
  96493. | ^~~~~
  96494. In file included from ././common/inc/conftest.h:28,
  96495. from ././common/inc/nv_stdarg.h:29,
  96496. from ././common/inc/os-interface.h:40,
  96497. from nvidia/nv-cray.c:26:
  96498. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96499. 74 | #error dma_buf_export() conftest failed!
  96500. | ^~~~~
  96501. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96502. 87 | #error wait_on_bit_lock() conftest failed!
  96503. | ^~~~~
  96504. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96505. 90 | #error radix_tree_replace_slot() conftest failed!
  96506. | ^~~~~
  96507. In file included from ././common/inc/conftest.h:28,
  96508. from ././common/inc/nv_stdarg.h:29,
  96509. from ././common/inc/os-interface.h:40,
  96510. from nvidia/nv-acpi.c:26:
  96511. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96512. 74 | #error dma_buf_export() conftest failed!
  96513. | ^~~~~
  96514. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96515. 87 | #error wait_on_bit_lock() conftest failed!
  96516. | ^~~~~
  96517. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96518. 90 | #error radix_tree_replace_slot() conftest failed!
  96519. | ^~~~~
  96520. In file included from ././common/inc/conftest.h:28,
  96521. from ././common/inc/nv_stdarg.h:29,
  96522. from ././common/inc/os-interface.h:40,
  96523. from nvidia/nv-mmap.c:26:
  96524. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96525. 74 | #error dma_buf_export() conftest failed!
  96526. | ^~~~~
  96527. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96528. 87 | #error wait_on_bit_lock() conftest failed!
  96529. | ^~~~~
  96530. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96531. 90 | #error radix_tree_replace_slot() conftest failed!
  96532. | ^~~~~
  96533. In file included from ././common/inc/conftest.h:28,
  96534. from ././common/inc/nv_stdarg.h:29,
  96535. from ././common/inc/os-interface.h:40,
  96536. from nvidia/nv-p2p.c:26:
  96537. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96538. 74 | #error dma_buf_export() conftest failed!
  96539. | ^~~~~
  96540. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96541. 87 | #error wait_on_bit_lock() conftest failed!
  96542. | ^~~~~
  96543. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96544. 90 | #error radix_tree_replace_slot() conftest failed!
  96545. | ^~~~~
  96546. In file included from ././common/inc/conftest.h:28,
  96547. from ././common/inc/nv_stdarg.h:29,
  96548. from ././common/inc/os-interface.h:40,
  96549. from nvidia/nv-usermap.c:26:
  96550. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96551. 74 | #error dma_buf_export() conftest failed!
  96552. | ^~~~~
  96553. In file included from ././common/inc/conftest.h:28,
  96554. from ././common/inc/nv_stdarg.h:29,
  96555. from ././common/inc/os-interface.h:40,
  96556. from nvidia/nv-pat.c:26:
  96557. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96558. 74 | #error dma_buf_export() conftest failed!
  96559. | ^~~~~
  96560. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96561. 87 | #error wait_on_bit_lock() conftest failed!
  96562. | ^~~~~
  96563. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96564. 90 | #error radix_tree_replace_slot() conftest failed!
  96565. | ^~~~~
  96566. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96567. 87 | #error wait_on_bit_lock() conftest failed!
  96568. | ^~~~~
  96569. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96570. 90 | #error radix_tree_replace_slot() conftest failed!
  96571. | ^~~~~
  96572. In file included from ././common/inc/conftest.h:28,
  96573. from ././common/inc/nv_stdarg.h:29,
  96574. from ././common/inc/os-interface.h:40,
  96575. from nvidia/nv-vm.c:24:
  96576. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96577. 74 | #error dma_buf_export() conftest failed!
  96578. | ^~~~~
  96579. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96580. 87 | #error wait_on_bit_lock() conftest failed!
  96581. | ^~~~~
  96582. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96583. 90 | #error radix_tree_replace_slot() conftest failed!
  96584. | ^~~~~
  96585. In file included from ././common/inc/conftest.h:28,
  96586. from ././common/inc/nv_stdarg.h:29,
  96587. from ././common/inc/os-interface.h:40,
  96588. from nvidia/os-interface.c:26:
  96589. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96590. 74 | #error dma_buf_export() conftest failed!
  96591. | ^~~~~
  96592. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96593. 87 | #error wait_on_bit_lock() conftest failed!
  96594. | ^~~~~
  96595. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96596. 90 | #error radix_tree_replace_slot() conftest failed!
  96597. | ^~~~~
  96598. In file included from ././common/inc/conftest.h:28,
  96599. from ././common/inc/nv_stdarg.h:29,
  96600. from ././common/inc/os-interface.h:40,
  96601. from nvidia/nv-vtophys.c:26:
  96602. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96603. 74 | #error dma_buf_export() conftest failed!
  96604. | ^~~~~
  96605. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96606. 87 | #error wait_on_bit_lock() conftest failed!
  96607. | ^~~~~
  96608. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96609. 90 | #error radix_tree_replace_slot() conftest failed!
  96610. | ^~~~~
  96611. In file included from ././common/inc/conftest.h:28,
  96612. from ././common/inc/nv_stdarg.h:29,
  96613. from ././common/inc/os-interface.h:40,
  96614. from nvidia/nv-procfs.c:26:
  96615. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96616. 74 | #error dma_buf_export() conftest failed!
  96617. | ^~~~~
  96618. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96619. 87 | #error wait_on_bit_lock() conftest failed!
  96620. | ^~~~~
  96621. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96622. 90 | #error radix_tree_replace_slot() conftest failed!
  96623. | ^~~~~
  96624. In file included from ././common/inc/conftest.h:28,
  96625. from ././common/inc/nv_stdarg.h:29,
  96626. from ././common/inc/os-interface.h:40,
  96627. from nvidia/nv-nano-timer.c:30:
  96628. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96629. 74 | #error dma_buf_export() conftest failed!
  96630. | ^~~~~
  96631. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96632. 87 | #error wait_on_bit_lock() conftest failed!
  96633. | ^~~~~
  96634. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96635. 90 | #error radix_tree_replace_slot() conftest failed!
  96636. | ^~~~~
  96637. In file included from ././common/inc/conftest.h:28,
  96638. from ././common/inc/nv_stdarg.h:29,
  96639. from ././common/inc/os-interface.h:40,
  96640. from nvidia/nv.c:33:
  96641. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  96642. 74 | #error dma_buf_export() conftest failed!
  96643. | ^~~~~
  96644. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  96645. 87 | #error wait_on_bit_lock() conftest failed!
  96646. | ^~~~~
  96647. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  96648. 90 | #error radix_tree_replace_slot() conftest failed!
  96649. | ^~~~~
  96650. In file included from ././common/inc/nv-linux.h:34,
  96651. from nvidia/nv-nano-timer.c:31:
  96652. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  96653. 29 | typedef int vm_fault_t;
  96654. | ^~~~~~~~~~
  96655. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  96656. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  96657. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  96658. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  96659. from ././common/inc/nv-lock.h:35,
  96660. from ././common/inc/nv-linux.h:32:
  96661. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  96662. 1311 | typedef __bitwise unsigned int vm_fault_t;
  96663. | ^~~~~~~~~~
  96664. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  96665. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12,
  96666. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175,
  96667. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5,
  96668. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13,
  96669. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5,
  96670. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67,
  96671. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13,
  96672. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60,
  96673. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  96674. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  96675. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5,
  96676. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15,
  96677. from nvidia/nv-nano-timer.c:27:
  96678. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  96679. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96680. 52 | #define current get_current()
  96681. | ^~~~~~~~~~~~~
  96682. | |
  96683. | struct task_struct *
  96684. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  96685. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96686. | ^~~~~~~
  96687. In file included from ././common/inc/nv-pgprot.h:30,
  96688. from ././common/inc/nv-linux.h:33:
  96689. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  96690. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96691. | ~~~~~~~~~~~~~~^~~~~
  96692. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96693. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96694. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  96695. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96696. | ~~~~~~~~~~~~~~^~~~~~~~
  96697. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  96698. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96699. | ^~~~~~~~
  96700. | |
  96701. | long unsigned int
  96702. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  96703. 2535 | unsigned int gup_flags, struct page **pages);
  96704. | ~~~~~~~~~~~~~~^~~~~
  96705. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  96706. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96707. | ^~~~~~~~~~~~~~ ~~~~~
  96708. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  96709. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96710. | ^~~~~~~~~~~~~~
  96711. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  96712. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  96713. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  96714. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  96715. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  96716. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  96717. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  96718. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/array_size.h:5,
  96719. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernel.h:16,
  96720. from nvidia/nv-nano-timer.c:26:
  96721. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  96722. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96723. 8 | #define NULL ((void *)0)
  96724. | ^~~~~~~~~~~
  96725. | |
  96726. | void *
  96727. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  96728. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96729. | ^~~~
  96730. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  96731. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96732. | ~~~~~~~~~~~~~~^~~~~
  96733. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96734. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96735. | ^~
  96736. | |
  96737. | struct mm_struct *
  96738. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  96739. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96740. | ~~~~~~~~~~~~~~^~~~~~~~
  96741. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  96742. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96743. | ^~~~~~~~
  96744. | |
  96745. | long unsigned int
  96746. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  96747. 2535 | unsigned int gup_flags, struct page **pages);
  96748. | ~~~~~~~~~~~~~~^~~~~
  96749. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  96750. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96751. | ^~~~~~~~~~~~~~ ~~~~~
  96752. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  96753. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96754. | ^~~~~~~~~~~~~~
  96755. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  96756. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  96757. 237 | return (unsigned long)(vmf->virtual_address);
  96758. | ^~~~~~~~~~~~~~~
  96759. | real_address
  96760. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  96761. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96762. 246 | down_read(&mm->mmap_sem);
  96763. | ^~~~~~~~
  96764. | mmap_base
  96765. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  96766. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96767. 255 | up_read(&mm->mmap_sem);
  96768. | ^~~~~~~~
  96769. | mmap_base
  96770. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  96771. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96772. 264 | down_write(&mm->mmap_sem);
  96773. | ^~~~~~~~
  96774. | mmap_base
  96775. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  96776. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96777. 273 | up_write(&mm->mmap_sem);
  96778. | ^~~~~~~~
  96779. | mmap_base
  96780. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  96781. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96782. 282 | return rwsem_is_locked(&mm->mmap_sem);
  96783. | ^~~~~~~~
  96784. | mmap_base
  96785. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  96786. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96787. 291 | return &mm->mmap_sem;
  96788. | ^~~~~~~~
  96789. | mmap_base
  96790. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  96791. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  96792. 300 | vma->vm_flags |= flags;
  96793. | ^~
  96794. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  96795. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  96796. 309 | vma->vm_flags &= ~flags;
  96797. | ^~
  96798. In file included from ././common/inc/nv-linux.h:34,
  96799. from nvidia/nv-usermap.c:27:
  96800. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  96801. 29 | typedef int vm_fault_t;
  96802. | ^~~~~~~~~~
  96803. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  96804. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  96805. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  96806. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  96807. from ././common/inc/nv-lock.h:35,
  96808. from ././common/inc/nv-linux.h:32:
  96809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  96810. 1311 | typedef __bitwise unsigned int vm_fault_t;
  96811. | ^~~~~~~~~~
  96812. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  96813. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  96814. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  96815. from ././common/inc/nv-lock.h:29:
  96816. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  96817. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96818. 52 | #define current get_current()
  96819. | ^~~~~~~~~~~~~
  96820. | |
  96821. | struct task_struct *
  96822. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  96823. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96824. | ^~~~~~~
  96825. In file included from ././common/inc/nv-pgprot.h:30,
  96826. from ././common/inc/nv-linux.h:33:
  96827. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  96828. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96829. | ~~~~~~~~~~~~~~^~~~~
  96830. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96831. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96832. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  96833. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96834. | ~~~~~~~~~~~~~~^~~~~~~~
  96835. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  96836. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96837. | ^~~~~~~~
  96838. | |
  96839. | long unsigned int
  96840. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  96841. 2535 | unsigned int gup_flags, struct page **pages);
  96842. | ~~~~~~~~~~~~~~^~~~~
  96843. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  96844. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  96845. | ^~~~~~~~~~~~~~ ~~~~~
  96846. In file included from ././common/inc/nv-linux.h:37:
  96847. ././common/inc/nv-time.h: At top level:
  96848. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  96849. 40 | struct timespec64 {
  96850. | ^~~~~~~~~~
  96851. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7:
  96852. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  96853. 13 | struct timespec64 {
  96854. | ^~~~~~~~~~
  96855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  96856. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96857. | ^~~~~~~~~~~~~~
  96858. In file included from ././common/inc/nv.h:35,
  96859. from ././common/inc/nv-linux.h:28:
  96860. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  96861. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  96862. 77 | static inline struct timespec64 timespec64_add
  96863. | ^~~~~~~~~~~~~~
  96864. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  96865. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  96866. | ^~~~~~~~~~~~~~
  96867. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96868. 8 | #define NULL ((void *)0)
  96869. | ^~~~~~~~~~~
  96870. | |
  96871. | void *
  96872. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  96873. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96874. | ^~~~
  96875. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  96876. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96877. | ~~~~~~~~~~~~~~^~~~~
  96878. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  96879. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96880. | ^~
  96881. | |
  96882. | struct mm_struct *
  96883. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  96884. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96885. | ~~~~~~~~~~~~~~^~~~~~~~
  96886. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  96887. 95 | static inline struct timespec64 timespec64_sub
  96888. | ^~~~~~~~~~~~~~
  96889. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  96890. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96891. | ^~~~~~~~
  96892. | |
  96893. | long unsigned int
  96894. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  96895. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  96896. | ^~~~~~~~~~~~~~
  96897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  96898. 2535 | unsigned int gup_flags, struct page **pages);
  96899. | ~~~~~~~~~~~~~~^~~~~
  96900. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  96901. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  96902. | ^~~~~~~~~~~~~~ ~~~~~
  96903. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  96904. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  96905. | ^~~~~~~~~~~~~~
  96906. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  96907. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  96908. | ^~~~~~~~~~~~~~~~
  96909. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  96910. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  96911. | ^~~~~~~~~~~~~~~~
  96912. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  96913. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  96914. 122 | ktime_get_raw_ts64(&ts);
  96915. | ^~~
  96916. | |
  96917. | struct timespec64 *
  96918. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  96919. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  96920. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  96921. | ~~~~~~~~~~~~~~~~~~~^~
  96922. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  96923. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  96924. 185 | ktime_get_raw_ts64(&tm_aux);
  96925. | ^~~~~~~
  96926. | |
  96927. | struct timespec64 *
  96928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  96929. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  96930. | ~~~~~~~~~~~~~~~~~~~^~
  96931. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  96932. 221 | ktime_get_raw_ts64(&tm_aux);
  96933. | ^~~~~~~
  96934. | |
  96935. | struct timespec64 *
  96936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  96937. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  96938. | ~~~~~~~~~~~~~~~~~~~^~
  96939. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  96940. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  96941. 237 | return (unsigned long)(vmf->virtual_address);
  96942. | ^~~~~~~~~~~~~~~
  96943. | real_address
  96944. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  96945. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96946. 246 | down_read(&mm->mmap_sem);
  96947. | ^~~~~~~~
  96948. | mmap_base
  96949. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  96950. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96951. 255 | up_read(&mm->mmap_sem);
  96952. | ^~~~~~~~
  96953. | mmap_base
  96954. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  96955. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96956. 264 | down_write(&mm->mmap_sem);
  96957. | ^~~~~~~~
  96958. | mmap_base
  96959. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  96960. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96961. 273 | up_write(&mm->mmap_sem);
  96962. | ^~~~~~~~
  96963. | mmap_base
  96964. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  96965. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96966. 282 | return rwsem_is_locked(&mm->mmap_sem);
  96967. | ^~~~~~~~
  96968. | mmap_base
  96969. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  96970. In file included from ././common/inc/nv-linux.h:34,
  96971. from nvidia/nv.c:34:
  96972. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  96973. 29 | typedef int vm_fault_t;
  96974. | ^~~~~~~~~~
  96975. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  96976. 291 | return &mm->mmap_sem;
  96977. | ^~~~~~~~
  96978. | mmap_base
  96979. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  96980. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  96981. 300 | vma->vm_flags |= flags;
  96982. | ^~
  96983. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  96984. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  96985. 309 | vma->vm_flags &= ~flags;
  96986. | ^~
  96987. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  96988. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  96989. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4,
  96990. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9,
  96991. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17,
  96992. from nvidia/nv.c:24:
  96993. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  96994. 1311 | typedef __bitwise unsigned int vm_fault_t;
  96995. | ^~~~~~~~~~
  96996. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  96997. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12,
  96998. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175,
  96999. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5,
  97000. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13,
  97001. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5,
  97002. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67,
  97003. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13,
  97004. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60,
  97005. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  97006. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13:
  97007. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  97008. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97009. 52 | #define current get_current()
  97010. | ^~~~~~~~~~~~~
  97011. | |
  97012. | struct task_struct *
  97013. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  97014. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97015. | ^~~~~~~
  97016. In file included from ././common/inc/nv-pgprot.h:30,
  97017. from ././common/inc/nv-linux.h:33:
  97018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  97019. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97020. | ~~~~~~~~~~~~~~^~~~~
  97021. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97022. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97023. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97024. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97025. | ~~~~~~~~~~~~~~^~~~~~~~
  97026. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97027. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97028. | ^~~~~~~~
  97029. | |
  97030. | long unsigned int
  97031. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97032. 2535 | unsigned int gup_flags, struct page **pages);
  97033. | ~~~~~~~~~~~~~~^~~~~
  97034. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97035. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97036. | ^~~~~~~~~~~~~~ ~~~~~
  97037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97038. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97039. | ^~~~~~~~~~~~~~
  97040. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  97041. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  97042. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  97043. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  97044. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  97045. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  97046. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  97047. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  97048. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/container_of.h:5,
  97049. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list.h:5,
  97050. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:12:
  97051. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  97052. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97053. 8 | #define NULL ((void *)0)
  97054. | ^~~~~~~~~~~
  97055. | |
  97056. | void *
  97057. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  97058. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97059. | ^~~~
  97060. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  97061. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97062. | ~~~~~~~~~~~~~~^~~~~
  97063. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97064. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97065. | ^~
  97066. | |
  97067. | struct mm_struct *
  97068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97069. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97070. | ~~~~~~~~~~~~~~^~~~~~~~
  97071. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97072. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97073. | ^~~~~~~~
  97074. | |
  97075. | long unsigned int
  97076. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97077. 2535 | unsigned int gup_flags, struct page **pages);
  97078. | ~~~~~~~~~~~~~~^~~~~
  97079. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97080. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97081. | ^~~~~~~~~~~~~~ ~~~~~
  97082. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97083. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97084. | ^~~~~~~~~~~~~~
  97085. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  97086. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  97087. 237 | return (unsigned long)(vmf->virtual_address);
  97088. | ^~~~~~~~~~~~~~~
  97089. | real_address
  97090. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  97091. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97092. 246 | down_read(&mm->mmap_sem);
  97093. | ^~~~~~~~
  97094. | mmap_base
  97095. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  97096. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97097. 255 | up_read(&mm->mmap_sem);
  97098. | ^~~~~~~~
  97099. | mmap_base
  97100. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  97101. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97102. 264 | down_write(&mm->mmap_sem);
  97103. | ^~~~~~~~
  97104. | mmap_base
  97105. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  97106. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97107. 273 | up_write(&mm->mmap_sem);
  97108. | ^~~~~~~~
  97109. | mmap_base
  97110. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  97111. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97112. 282 | return rwsem_is_locked(&mm->mmap_sem);
  97113. | ^~~~~~~~
  97114. | mmap_base
  97115. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  97116. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97117. 291 | return &mm->mmap_sem;
  97118. | ^~~~~~~~
  97119. | mmap_base
  97120. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  97121. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  97122. 300 | vma->vm_flags |= flags;
  97123. | ^~
  97124. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  97125. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  97126. 309 | vma->vm_flags &= ~flags;
  97127. | ^~
  97128. In file included from ././common/inc/nv-linux.h:34,
  97129. from nvidia/nv-pat.c:27:
  97130. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  97131. 29 | typedef int vm_fault_t;
  97132. | ^~~~~~~~~~
  97133. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  97134. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  97135. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  97136. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  97137. from ././common/inc/nv-lock.h:35,
  97138. from ././common/inc/nv-linux.h:32:
  97139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  97140. 1311 | typedef __bitwise unsigned int vm_fault_t;
  97141. | ^~~~~~~~~~
  97142. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  97143. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  97144. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  97145. from ././common/inc/nv-lock.h:29:
  97146. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  97147. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97148. 52 | #define current get_current()
  97149. | ^~~~~~~~~~~~~
  97150. | |
  97151. | struct task_struct *
  97152. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  97153. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97154. | ^~~~~~~
  97155. In file included from ././common/inc/nv-linux.h:37:
  97156. ././common/inc/nv-time.h: At top level:
  97157. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  97158. 40 | struct timespec64 {
  97159. | ^~~~~~~~~~
  97160. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7:
  97161. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  97162. 13 | struct timespec64 {
  97163. | ^~~~~~~~~~
  97164. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97165. 77 | static inline struct timespec64 timespec64_add
  97166. | ^~~~~~~~~~~~~~
  97167. In file included from ././common/inc/nv-pgprot.h:30,
  97168. from ././common/inc/nv-linux.h:33:
  97169. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  97170. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97171. | ~~~~~~~~~~~~~~^~~~~
  97172. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97173. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  97174. | ^~~~~~~~~~~~~~
  97175. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97176. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97177. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97178. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97179. | ~~~~~~~~~~~~~~^~~~~~~~
  97180. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97181. 95 | static inline struct timespec64 timespec64_sub
  97182. | ^~~~~~~~~~~~~~
  97183. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97184. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97185. | ^~~~~~~~
  97186. | |
  97187. | long unsigned int
  97188. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97189. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  97190. | ^~~~~~~~~~~~~~
  97191. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97192. 2535 | unsigned int gup_flags, struct page **pages);
  97193. | ~~~~~~~~~~~~~~^~~~~
  97194. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  97195. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  97196. | ^~~~~~~~~~~~~~~~
  97197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  97198. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  97199. | ^~~~~~~~~~~~~~~~
  97200. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97201. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97202. | ^~~~~~~~~~~~~~ ~~~~~
  97203. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97204. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97205. | ^~~~~~~~~~~~~~
  97206. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  97207. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97208. 122 | ktime_get_raw_ts64(&ts);
  97209. | ^~~
  97210. | |
  97211. | struct timespec64 *
  97212. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  97213. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  97214. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  97215. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  97216. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97217. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97218. | ~~~~~~~~~~~~~~~~~~~^~
  97219. In file included from ././common/inc/nv.h:35,
  97220. from ././common/inc/nv-linux.h:28:
  97221. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  97222. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97223. 8 | #define NULL ((void *)0)
  97224. | ^~~~~~~~~~~
  97225. | |
  97226. | void *
  97227. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  97228. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97229. | ^~~~
  97230. In file included from ././common/inc/nv-linux.h:37:
  97231. ././common/inc/nv-time.h: At top level:
  97232. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  97233. 40 | struct timespec64 {
  97234. | ^~~~~~~~~~
  97235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  97236. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97237. | ~~~~~~~~~~~~~~^~~~~
  97238. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97239. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97240. | ^~
  97241. | |
  97242. | struct mm_struct *
  97243. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  97244. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  97245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  97246. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  97247. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  97248. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  97249. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  97250. 13 | struct timespec64 {
  97251. | ^~~~~~~~~~
  97252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97253. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97254. | ~~~~~~~~~~~~~~^~~~~~~~
  97255. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97256. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97257. | ^~~~~~~~
  97258. | |
  97259. | long unsigned int
  97260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97261. 2535 | unsigned int gup_flags, struct page **pages);
  97262. | ~~~~~~~~~~~~~~^~~~~
  97263. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97264. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97265. | ^~~~~~~~~~~~~~ ~~~~~
  97266. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  97267. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97268. 77 | static inline struct timespec64 timespec64_add
  97269. | ^~~~~~~~~~~~~~
  97270. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97271. 185 | ktime_get_raw_ts64(&tm_aux);
  97272. | ^~~~~~~
  97273. | |
  97274. | struct timespec64 *
  97275. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97276. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97277. | ^~~~~~~~~~~~~~
  97278. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97279. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97280. | ~~~~~~~~~~~~~~~~~~~^~
  97281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97282. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  97283. | ^~~~~~~~~~~~~~
  97284. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  97285. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  97286. 237 | return (unsigned long)(vmf->virtual_address);
  97287. | ^~~~~~~~~~~~~~~
  97288. | real_address
  97289. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97290. 95 | static inline struct timespec64 timespec64_sub
  97291. | ^~~~~~~~~~~~~~
  97292. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  97293. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97294. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  97295. | ^~~~~~~~~~~~~~
  97296. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97297. 246 | down_read(&mm->mmap_sem);
  97298. | ^~~~~~~~
  97299. | mmap_base
  97300. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  97301. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97302. 255 | up_read(&mm->mmap_sem);
  97303. | ^~~~~~~~
  97304. | mmap_base
  97305. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  97306. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  97307. | ^~~~~~~~~~~~~~~~
  97308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  97309. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  97310. | ^~~~~~~~~~~~~~~~
  97311. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  97312. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97313. 264 | down_write(&mm->mmap_sem);
  97314. | ^~~~~~~~
  97315. | mmap_base
  97316. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  97317. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  97318. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97319. 122 | ktime_get_raw_ts64(&ts);
  97320. | ^~~
  97321. | |
  97322. | struct timespec64 *
  97323. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97324. 273 | up_write(&mm->mmap_sem);
  97325. | ^~~~~~~~
  97326. | mmap_base
  97327. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  97328. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97329. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97330. | ~~~~~~~~~~~~~~~~~~~^~
  97331. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  97332. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97333. 282 | return rwsem_is_locked(&mm->mmap_sem);
  97334. | ^~~~~~~~
  97335. | mmap_base
  97336. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  97337. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97338. 291 | return &mm->mmap_sem;
  97339. | ^~~~~~~~
  97340. | mmap_base
  97341. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  97342. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  97343. 300 | vma->vm_flags |= flags;
  97344. | ^~
  97345. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  97346. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  97347. 309 | vma->vm_flags &= ~flags;
  97348. | ^~
  97349. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  97350. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97351. 185 | ktime_get_raw_ts64(&tm_aux);
  97352. | ^~~~~~~
  97353. | |
  97354. | struct timespec64 *
  97355. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97356. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97357. | ~~~~~~~~~~~~~~~~~~~^~
  97358. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97359. 221 | ktime_get_raw_ts64(&tm_aux);
  97360. | ^~~~~~~
  97361. | |
  97362. | struct timespec64 *
  97363. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97364. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97365. | ~~~~~~~~~~~~~~~~~~~^~
  97366. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97367. 221 | ktime_get_raw_ts64(&tm_aux);
  97368. | ^~~~~~~
  97369. | |
  97370. | struct timespec64 *
  97371. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97372. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97373. | ~~~~~~~~~~~~~~~~~~~^~
  97374. In file included from ././common/inc/nv-linux.h:34,
  97375. from nvidia/nv-mmap.c:27:
  97376. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  97377. 29 | typedef int vm_fault_t;
  97378. | ^~~~~~~~~~
  97379. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  97380. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  97381. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  97382. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  97383. from ././common/inc/nv-lock.h:35,
  97384. from ././common/inc/nv-linux.h:32:
  97385. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  97386. 1311 | typedef __bitwise unsigned int vm_fault_t;
  97387. | ^~~~~~~~~~
  97388. In file included from ././common/inc/nv-linux.h:37:
  97389. ././common/inc/nv-time.h: At top level:
  97390. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  97391. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  97392. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  97393. from ././common/inc/nv-lock.h:29:
  97394. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  97395. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  97396. 40 | struct timespec64 {
  97397. | ^~~~~~~~~~
  97398. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  97399. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  97400. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  97401. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  97402. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  97403. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  97404. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  97405. 13 | struct timespec64 {
  97406. | ^~~~~~~~~~
  97407. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97408. 52 | #define current get_current()
  97409. | ^~~~~~~~~~~~~
  97410. | |
  97411. | struct task_struct *
  97412. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  97413. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97414. | ^~~~~~~
  97415. In file included from ././common/inc/nv-pgprot.h:30,
  97416. from ././common/inc/nv-linux.h:33:
  97417. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  97418. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97419. | ~~~~~~~~~~~~~~^~~~~
  97420. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97421. 77 | static inline struct timespec64 timespec64_add
  97422. | ^~~~~~~~~~~~~~
  97423. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97424. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97425. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97426. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  97427. | ^~~~~~~~~~~~~~
  97428. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97429. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97430. | ~~~~~~~~~~~~~~^~~~~~~~
  97431. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97432. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97433. | ^~~~~~~~
  97434. | |
  97435. | long unsigned int
  97436. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97437. 95 | static inline struct timespec64 timespec64_sub
  97438. | ^~~~~~~~~~~~~~
  97439. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97440. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  97441. | ^~~~~~~~~~~~~~
  97442. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97443. 2535 | unsigned int gup_flags, struct page **pages);
  97444. | ~~~~~~~~~~~~~~^~~~~
  97445. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97446. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97447. | ^~~~~~~~~~~~~~ ~~~~~
  97448. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  97449. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  97450. | ^~~~~~~~~~~~~~~~
  97451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  97452. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  97453. | ^~~~~~~~~~~~~~~~
  97454. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97455. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97456. | ^~~~~~~~~~~~~~
  97457. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  97458. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97459. 122 | ktime_get_raw_ts64(&ts);
  97460. | ^~~
  97461. | |
  97462. | struct timespec64 *
  97463. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  97464. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97465. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97466. | ~~~~~~~~~~~~~~~~~~~^~
  97467. In file included from ././common/inc/nv.h:35,
  97468. from ././common/inc/nv-linux.h:28:
  97469. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  97470. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  97471. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97472. 185 | ktime_get_raw_ts64(&tm_aux);
  97473. | ^~~~~~~
  97474. | |
  97475. | struct timespec64 *
  97476. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97477. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97478. | ~~~~~~~~~~~~~~~~~~~^~
  97479. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97480. 221 | ktime_get_raw_ts64(&tm_aux);
  97481. | ^~~~~~~
  97482. | |
  97483. | struct timespec64 *
  97484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97485. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97486. | ~~~~~~~~~~~~~~~~~~~^~
  97487. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97488. 8 | #define NULL ((void *)0)
  97489. | ^~~~~~~~~~~
  97490. | |
  97491. | void *
  97492. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  97493. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97494. | ^~~~
  97495. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  97496. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97497. | ~~~~~~~~~~~~~~^~~~~
  97498. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97499. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97500. | ^~
  97501. | |
  97502. | struct mm_struct *
  97503. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97504. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97505. | ~~~~~~~~~~~~~~^~~~~~~~
  97506. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97507. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97508. | ^~~~~~~~
  97509. | |
  97510. | long unsigned int
  97511. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97512. 2535 | unsigned int gup_flags, struct page **pages);
  97513. | ~~~~~~~~~~~~~~^~~~~
  97514. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97515. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97516. | ^~~~~~~~~~~~~~ ~~~~~
  97517. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97518. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97519. | ^~~~~~~~~~~~~~
  97520. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  97521. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  97522. 237 | return (unsigned long)(vmf->virtual_address);
  97523. | ^~~~~~~~~~~~~~~
  97524. | real_address
  97525. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  97526. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97527. 246 | down_read(&mm->mmap_sem);
  97528. | ^~~~~~~~
  97529. | mmap_base
  97530. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  97531. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97532. 255 | up_read(&mm->mmap_sem);
  97533. | ^~~~~~~~
  97534. | mmap_base
  97535. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  97536. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97537. 264 | down_write(&mm->mmap_sem);
  97538. | ^~~~~~~~
  97539. | mmap_base
  97540. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  97541. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97542. 273 | up_write(&mm->mmap_sem);
  97543. | ^~~~~~~~
  97544. | mmap_base
  97545. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  97546. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97547. 282 | return rwsem_is_locked(&mm->mmap_sem);
  97548. | ^~~~~~~~
  97549. | mmap_base
  97550. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  97551. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97552. 291 | return &mm->mmap_sem;
  97553. | ^~~~~~~~
  97554. | mmap_base
  97555. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  97556. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  97557. 300 | vma->vm_flags |= flags;
  97558. | ^~
  97559. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  97560. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  97561. 309 | vma->vm_flags &= ~flags;
  97562. | ^~
  97563. In file included from ././common/inc/nv-linux.h:37:
  97564. ././common/inc/nv-time.h: At top level:
  97565. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  97566. 40 | struct timespec64 {
  97567. | ^~~~~~~~~~
  97568. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  97569. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  97570. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  97571. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  97572. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  97573. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  97574. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  97575. 13 | struct timespec64 {
  97576. | ^~~~~~~~~~
  97577. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97578. 77 | static inline struct timespec64 timespec64_add
  97579. | ^~~~~~~~~~~~~~
  97580. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97581. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  97582. | ^~~~~~~~~~~~~~
  97583. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97584. 95 | static inline struct timespec64 timespec64_sub
  97585. | ^~~~~~~~~~~~~~
  97586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97587. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  97588. | ^~~~~~~~~~~~~~
  97589. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  97590. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  97591. | ^~~~~~~~~~~~~~~~
  97592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  97593. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  97594. | ^~~~~~~~~~~~~~~~
  97595. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  97596. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97597. 122 | ktime_get_raw_ts64(&ts);
  97598. | ^~~
  97599. | |
  97600. | struct timespec64 *
  97601. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  97602. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97603. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97604. | ~~~~~~~~~~~~~~~~~~~^~
  97605. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  97606. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97607. 185 | ktime_get_raw_ts64(&tm_aux);
  97608. | ^~~~~~~
  97609. | |
  97610. | struct timespec64 *
  97611. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97612. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97613. | ~~~~~~~~~~~~~~~~~~~^~
  97614. In file included from ././common/inc/nv-linux.h:34,
  97615. from nvidia/nv-procfs.c:27:
  97616. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  97617. 29 | typedef int vm_fault_t;
  97618. | ^~~~~~~~~~
  97619. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97620. 221 | ktime_get_raw_ts64(&tm_aux);
  97621. | ^~~~~~~
  97622. | |
  97623. | struct timespec64 *
  97624. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97625. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97626. | ~~~~~~~~~~~~~~~~~~~^~
  97627. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  97628. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  97629. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  97630. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  97631. from ././common/inc/nv-lock.h:35,
  97632. from ././common/inc/nv-linux.h:32:
  97633. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  97634. 1311 | typedef __bitwise unsigned int vm_fault_t;
  97635. | ^~~~~~~~~~
  97636. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  97637. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  97638. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  97639. from ././common/inc/nv-lock.h:29:
  97640. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  97641. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97642. 52 | #define current get_current()
  97643. | ^~~~~~~~~~~~~
  97644. | |
  97645. | struct task_struct *
  97646. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  97647. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97648. | ^~~~~~~
  97649. In file included from ././common/inc/nv-pgprot.h:30,
  97650. from ././common/inc/nv-linux.h:33:
  97651. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  97652. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97653. | ~~~~~~~~~~~~~~^~~~~
  97654. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97655. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97656. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97657. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97658. | ~~~~~~~~~~~~~~^~~~~~~~
  97659. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97660. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97661. | ^~~~~~~~
  97662. | |
  97663. | long unsigned int
  97664. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97665. 2535 | unsigned int gup_flags, struct page **pages);
  97666. | ~~~~~~~~~~~~~~^~~~~
  97667. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97668. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97669. | ^~~~~~~~~~~~~~ ~~~~~
  97670. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97671. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97672. | ^~~~~~~~~~~~~~
  97673. In file included from ././common/inc/nv.h:35,
  97674. from ././common/inc/nv-linux.h:28:
  97675. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  97676. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97677. 8 | #define NULL ((void *)0)
  97678. | ^~~~~~~~~~~
  97679. | |
  97680. | void *
  97681. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  97682. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97683. | ^~~~
  97684. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  97685. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97686. | ~~~~~~~~~~~~~~^~~~~
  97687. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97688. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97689. | ^~
  97690. | |
  97691. | struct mm_struct *
  97692. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97693. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97694. | ~~~~~~~~~~~~~~^~~~~~~~
  97695. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97696. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97697. | ^~~~~~~~
  97698. | |
  97699. | long unsigned int
  97700. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97701. 2535 | unsigned int gup_flags, struct page **pages);
  97702. | ~~~~~~~~~~~~~~^~~~~
  97703. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97704. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97705. | ^~~~~~~~~~~~~~ ~~~~~
  97706. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97707. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97708. | ^~~~~~~~~~~~~~
  97709. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  97710. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  97711. 237 | return (unsigned long)(vmf->virtual_address);
  97712. | ^~~~~~~~~~~~~~~
  97713. | real_address
  97714. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  97715. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97716. 246 | down_read(&mm->mmap_sem);
  97717. | ^~~~~~~~
  97718. | mmap_base
  97719. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  97720. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97721. 255 | up_read(&mm->mmap_sem);
  97722. | ^~~~~~~~
  97723. | mmap_base
  97724. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  97725. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97726. 264 | down_write(&mm->mmap_sem);
  97727. | ^~~~~~~~
  97728. | mmap_base
  97729. In file included from ././common/inc/conftest.h:28,
  97730. from ././common/inc/nv-pci-types.h:28,
  97731. from nvidia/nv-pci.c:25:
  97732. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  97733. 74 | #error dma_buf_export() conftest failed!
  97734. | ^~~~~
  97735. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  97736. 87 | #error wait_on_bit_lock() conftest failed!
  97737. | ^~~~~
  97738. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  97739. 90 | #error radix_tree_replace_slot() conftest failed!
  97740. | ^~~~~
  97741. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  97742. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97743. 273 | up_write(&mm->mmap_sem);
  97744. | ^~~~~~~~
  97745. | mmap_base
  97746. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  97747. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97748. 282 | return rwsem_is_locked(&mm->mmap_sem);
  97749. | ^~~~~~~~
  97750. | mmap_base
  97751. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  97752. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97753. 291 | return &mm->mmap_sem;
  97754. | ^~~~~~~~
  97755. | mmap_base
  97756. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  97757. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  97758. 300 | vma->vm_flags |= flags;
  97759. | ^~
  97760. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  97761. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  97762. 309 | vma->vm_flags &= ~flags;
  97763. | ^~
  97764. In file included from ././common/inc/conftest.h:28,
  97765. from ././common/inc/nv_stdarg.h:29,
  97766. from ././common/inc/nv.h:41,
  97767. from ././common/inc/nv-linux.h:28,
  97768. from ././common/inc/nv-dmabuf.h:27,
  97769. from nvidia/nv-dmabuf.c:24:
  97770. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  97771. 74 | #error dma_buf_export() conftest failed!
  97772. | ^~~~~
  97773. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  97774. 87 | #error wait_on_bit_lock() conftest failed!
  97775. | ^~~~~
  97776. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  97777. 90 | #error radix_tree_replace_slot() conftest failed!
  97778. | ^~~~~
  97779. In file included from ././common/inc/nv-linux.h:34,
  97780. from ././common/inc/nv-pci.h:28,
  97781. from nvidia/nv-pci.c:26:
  97782. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  97783. 29 | typedef int vm_fault_t;
  97784. | ^~~~~~~~~~
  97785. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  97786. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  97787. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16,
  97788. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/radix-tree.h:21,
  97789. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/idr.h:15,
  97790. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:12,
  97791. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sysfs.h:16,
  97792. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kobject.h:20,
  97793. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:35,
  97794. from nvidia/nv-pci-table.h:27,
  97795. from nvidia/nv-pci.c:24:
  97796. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  97797. 1311 | typedef __bitwise unsigned int vm_fault_t;
  97798. | ^~~~~~~~~~
  97799. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mutex.h:14,
  97800. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:11:
  97801. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  97802. In file included from ././common/inc/nv-linux.h:34:
  97803. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  97804. 29 | typedef int vm_fault_t;
  97805. | ^~~~~~~~~~
  97806. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97807. 52 | #define current get_current()
  97808. | ^~~~~~~~~~~~~
  97809. | |
  97810. | struct task_struct *
  97811. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  97812. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97813. | ^~~~~~~
  97814. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8,
  97815. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dmapool.h:14,
  97816. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:1662:
  97817. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  97818. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97819. | ~~~~~~~~~~~~~~^~~~~
  97820. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97821. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97822. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97823. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97824. | ~~~~~~~~~~~~~~^~~~~~~~
  97825. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97826. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97827. | ^~~~~~~~
  97828. | |
  97829. | long unsigned int
  97830. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97831. 2535 | unsigned int gup_flags, struct page **pages);
  97832. | ~~~~~~~~~~~~~~^~~~~
  97833. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97834. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  97835. | ^~~~~~~~~~~~~~ ~~~~~
  97836. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97837. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97838. | ^~~~~~~~~~~~~~
  97839. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  97840. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  97841. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  97842. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei_uuid.h:12,
  97843. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei.h:10,
  97844. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mod_devicetable.h:12,
  97845. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:27:
  97846. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  97847. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97848. 8 | #define NULL ((void *)0)
  97849. | ^~~~~~~~~~~
  97850. | |
  97851. | void *
  97852. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  97853. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97854. | ^~~~
  97855. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  97856. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97857. | ~~~~~~~~~~~~~~^~~~~
  97858. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  97859. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97860. | ^~
  97861. | |
  97862. | struct mm_struct *
  97863. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  97864. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97865. | ~~~~~~~~~~~~~~^~~~~~~~
  97866. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  97867. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97868. | ^~~~~~~~
  97869. | |
  97870. | long unsigned int
  97871. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  97872. 2535 | unsigned int gup_flags, struct page **pages);
  97873. | ~~~~~~~~~~~~~~^~~~~
  97874. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  97875. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  97876. | ^~~~~~~~~~~~~~ ~~~~~
  97877. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  97878. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  97879. | ^~~~~~~~~~~~~~
  97880. In file included from ././common/inc/nv-linux.h:37:
  97881. ././common/inc/nv-time.h: At top level:
  97882. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  97883. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  97884. 40 | struct timespec64 {
  97885. | ^~~~~~~~~~
  97886. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  97887. 237 | return (unsigned long)(vmf->virtual_address);
  97888. | ^~~~~~~~~~~~~~~
  97889. | real_address
  97890. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  97891. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  97892. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  97893. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  97894. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  97895. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  97896. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  97897. 13 | struct timespec64 {
  97898. | ^~~~~~~~~~
  97899. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  97900. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97901. 246 | down_read(&mm->mmap_sem);
  97902. | ^~~~~~~~
  97903. | mmap_base
  97904. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  97905. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97906. 255 | up_read(&mm->mmap_sem);
  97907. | ^~~~~~~~
  97908. | mmap_base
  97909. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97910. 77 | static inline struct timespec64 timespec64_add
  97911. | ^~~~~~~~~~~~~~
  97912. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  97913. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97914. 264 | down_write(&mm->mmap_sem);
  97915. | ^~~~~~~~
  97916. | mmap_base
  97917. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97918. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  97919. | ^~~~~~~~~~~~~~
  97920. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  97921. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97922. 273 | up_write(&mm->mmap_sem);
  97923. | ^~~~~~~~
  97924. | mmap_base
  97925. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  97926. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97927. 282 | return rwsem_is_locked(&mm->mmap_sem);
  97928. | ^~~~~~~~
  97929. | mmap_base
  97930. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  97931. 95 | static inline struct timespec64 timespec64_sub
  97932. | ^~~~~~~~~~~~~~
  97933. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  97934. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  97935. 291 | return &mm->mmap_sem;
  97936. | ^~~~~~~~
  97937. | mmap_base
  97938. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  97939. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  97940. | ^~~~~~~~~~~~~~
  97941. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  97942. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  97943. 300 | vma->vm_flags |= flags;
  97944. | ^~
  97945. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  97946. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  97947. 309 | vma->vm_flags &= ~flags;
  97948. | ^~
  97949. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  97950. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  97951. | ^~~~~~~~~~~~~~~~
  97952. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  97953. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  97954. | ^~~~~~~~~~~~~~~~
  97955. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  97956. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97957. 122 | ktime_get_raw_ts64(&ts);
  97958. | ^~~
  97959. | |
  97960. | struct timespec64 *
  97961. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  97962. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97963. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97964. | ~~~~~~~~~~~~~~~~~~~^~
  97965. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  97966. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97967. 185 | ktime_get_raw_ts64(&tm_aux);
  97968. | ^~~~~~~
  97969. | |
  97970. | struct timespec64 *
  97971. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97972. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97973. | ~~~~~~~~~~~~~~~~~~~^~
  97974. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  97975. 221 | ktime_get_raw_ts64(&tm_aux);
  97976. | ^~~~~~~
  97977. | |
  97978. | struct timespec64 *
  97979. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  97980. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  97981. | ~~~~~~~~~~~~~~~~~~~^~
  97982. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  97983. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  97984. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:7,
  97985. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8,
  97986. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:19,
  97987. from nvidia/nv-dmabuf.c:23:
  97988. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  97989. 1311 | typedef __bitwise unsigned int vm_fault_t;
  97990. | ^~~~~~~~~~
  97991. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15,
  97992. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:9,
  97993. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18,
  97994. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/special_insns.h:10,
  97995. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/io.h:45,
  97996. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:14,
  97997. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/iosys-map.h:10,
  97998. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:16:
  97999. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  98000. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98001. 52 | #define current get_current()
  98002. | ^~~~~~~~~~~~~
  98003. | |
  98004. | struct task_struct *
  98005. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  98006. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98007. | ^~~~~~~
  98008. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  98009. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98010. | ~~~~~~~~~~~~~~^~~~~
  98011. In file included from ././common/inc/nv-linux.h:37:
  98012. ././common/inc/nv-time.h: At top level:
  98013. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98014. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98015. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98016. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98017. | ~~~~~~~~~~~~~~^~~~~~~~
  98018. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  98019. 40 | struct timespec64 {
  98020. | ^~~~~~~~~~
  98021. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  98022. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  98023. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  98024. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  98025. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  98026. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  98027. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  98028. 13 | struct timespec64 {
  98029. | ^~~~~~~~~~
  98030. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98031. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98032. | ^~~~~~~~
  98033. | |
  98034. | long unsigned int
  98035. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98036. 2535 | unsigned int gup_flags, struct page **pages);
  98037. | ~~~~~~~~~~~~~~^~~~~
  98038. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98039. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98040. | ^~~~~~~~~~~~~~ ~~~~~
  98041. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98042. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98043. | ^~~~~~~~~~~~~~
  98044. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  98045. 77 | static inline struct timespec64 timespec64_add
  98046. | ^~~~~~~~~~~~~~
  98047. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  98048. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  98049. | ^~~~~~~~~~~~~~
  98050. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  98051. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  98052. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  98053. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:10:
  98054. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  98055. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98056. 8 | #define NULL ((void *)0)
  98057. | ^~~~~~~~~~~
  98058. | |
  98059. | void *
  98060. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  98061. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98062. | ^~~~
  98063. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  98064. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98065. | ~~~~~~~~~~~~~~^~~~~
  98066. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  98067. 95 | static inline struct timespec64 timespec64_sub
  98068. | ^~~~~~~~~~~~~~
  98069. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98070. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98071. | ^~
  98072. | |
  98073. | struct mm_struct *
  98074. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98075. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98076. | ~~~~~~~~~~~~~~^~~~~~~~
  98077. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  98078. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  98079. | ^~~~~~~~~~~~~~
  98080. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98081. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98082. | ^~~~~~~~
  98083. | |
  98084. | long unsigned int
  98085. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98086. 2535 | unsigned int gup_flags, struct page **pages);
  98087. | ~~~~~~~~~~~~~~^~~~~
  98088. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98089. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98090. | ^~~~~~~~~~~~~~ ~~~~~
  98091. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98092. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98093. | ^~~~~~~~~~~~~~
  98094. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  98095. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  98096. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  98097. | ^~~~~~~~~~~~~~~~
  98098. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  98099. 237 | return (unsigned long)(vmf->virtual_address);
  98100. | ^~~~~~~~~~~~~~~
  98101. | real_address
  98102. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  98103. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  98104. | ^~~~~~~~~~~~~~~~
  98105. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  98106. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  98107. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98108. 246 | down_read(&mm->mmap_sem);
  98109. | ^~~~~~~~
  98110. | mmap_base
  98111. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98112. 122 | ktime_get_raw_ts64(&ts);
  98113. | ^~~
  98114. | |
  98115. | struct timespec64 *
  98116. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  98117. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98118. 255 | up_read(&mm->mmap_sem);
  98119. | ^~~~~~~~
  98120. | mmap_base
  98121. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  98122. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98123. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98124. | ~~~~~~~~~~~~~~~~~~~^~
  98125. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  98126. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98127. 264 | down_write(&mm->mmap_sem);
  98128. | ^~~~~~~~
  98129. | mmap_base
  98130. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  98131. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98132. 273 | up_write(&mm->mmap_sem);
  98133. | ^~~~~~~~
  98134. | mmap_base
  98135. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  98136. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98137. 282 | return rwsem_is_locked(&mm->mmap_sem);
  98138. | ^~~~~~~~
  98139. | mmap_base
  98140. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  98141. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98142. 291 | return &mm->mmap_sem;
  98143. | ^~~~~~~~
  98144. | mmap_base
  98145. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  98146. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98147. 185 | ktime_get_raw_ts64(&tm_aux);
  98148. | ^~~~~~~
  98149. | |
  98150. | struct timespec64 *
  98151. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98152. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98153. | ~~~~~~~~~~~~~~~~~~~^~
  98154. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98155. 221 | ktime_get_raw_ts64(&tm_aux);
  98156. | ^~~~~~~
  98157. | |
  98158. | struct timespec64 *
  98159. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98160. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98161. | ~~~~~~~~~~~~~~~~~~~^~
  98162. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  98163. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  98164. 300 | vma->vm_flags |= flags;
  98165. | ^~
  98166. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  98167. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  98168. 309 | vma->vm_flags &= ~flags;
  98169. | ^~
  98170. In file included from ././common/inc/nv-linux.h:37:
  98171. ././common/inc/nv-time.h: At top level:
  98172. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  98173. 40 | struct timespec64 {
  98174. | ^~~~~~~~~~
  98175. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  98176. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  98177. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  98178. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  98179. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  98180. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  98181. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  98182. 13 | struct timespec64 {
  98183. | ^~~~~~~~~~
  98184. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  98185. 77 | static inline struct timespec64 timespec64_add
  98186. | ^~~~~~~~~~~~~~
  98187. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  98188. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  98189. | ^~~~~~~~~~~~~~
  98190. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  98191. 95 | static inline struct timespec64 timespec64_sub
  98192. | ^~~~~~~~~~~~~~
  98193. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  98194. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  98195. | ^~~~~~~~~~~~~~
  98196. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  98197. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  98198. | ^~~~~~~~~~~~~~~~
  98199. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  98200. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  98201. | ^~~~~~~~~~~~~~~~
  98202. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  98203. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98204. 122 | ktime_get_raw_ts64(&ts);
  98205. | ^~~
  98206. | |
  98207. | struct timespec64 *
  98208. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  98209. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98210. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98211. | ~~~~~~~~~~~~~~~~~~~^~
  98212. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  98213. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98214. 185 | ktime_get_raw_ts64(&tm_aux);
  98215. | ^~~~~~~
  98216. | |
  98217. | struct timespec64 *
  98218. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98219. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98220. | ~~~~~~~~~~~~~~~~~~~^~
  98221. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98222. 221 | ktime_get_raw_ts64(&tm_aux);
  98223. | ^~~~~~~
  98224. | |
  98225. | struct timespec64 *
  98226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98227. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98228. | ~~~~~~~~~~~~~~~~~~~^~
  98229. In file included from ././common/inc/nv-linux.h:34,
  98230. from nvidia/nv-vm.c:26:
  98231. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  98232. 29 | typedef int vm_fault_t;
  98233. | ^~~~~~~~~~
  98234. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  98235. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  98236. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  98237. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  98238. from ././common/inc/nv-lock.h:35,
  98239. from ././common/inc/nv-linux.h:32:
  98240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  98241. 1311 | typedef __bitwise unsigned int vm_fault_t;
  98242. | ^~~~~~~~~~
  98243. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  98244. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  98245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  98246. from ././common/inc/nv-lock.h:29:
  98247. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  98248. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98249. 52 | #define current get_current()
  98250. | ^~~~~~~~~~~~~
  98251. | |
  98252. | struct task_struct *
  98253. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  98254. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98255. | ^~~~~~~
  98256. In file included from ././common/inc/nv-pgprot.h:30,
  98257. from ././common/inc/nv-linux.h:33:
  98258. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  98259. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98260. | ~~~~~~~~~~~~~~^~~~~
  98261. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98262. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98264. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98265. | ~~~~~~~~~~~~~~^~~~~~~~
  98266. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98267. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98268. | ^~~~~~~~
  98269. | |
  98270. | long unsigned int
  98271. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98272. 2535 | unsigned int gup_flags, struct page **pages);
  98273. | ~~~~~~~~~~~~~~^~~~~
  98274. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98275. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98276. | ^~~~~~~~~~~~~~ ~~~~~
  98277. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98278. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98279. | ^~~~~~~~~~~~~~
  98280. In file included from ././common/inc/nv.h:35,
  98281. from nvidia/nv-vm.c:25:
  98282. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  98283. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98284. 8 | #define NULL ((void *)0)
  98285. | ^~~~~~~~~~~
  98286. | |
  98287. | void *
  98288. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  98289. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98290. | ^~~~
  98291. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  98292. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98293. | ~~~~~~~~~~~~~~^~~~~
  98294. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98295. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98296. | ^~
  98297. | |
  98298. | struct mm_struct *
  98299. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98300. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98301. | ~~~~~~~~~~~~~~^~~~~~~~
  98302. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98303. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98304. | ^~~~~~~~
  98305. | |
  98306. | long unsigned int
  98307. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98308. 2535 | unsigned int gup_flags, struct page **pages);
  98309. | ~~~~~~~~~~~~~~^~~~~
  98310. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98311. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98312. | ^~~~~~~~~~~~~~ ~~~~~
  98313. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98314. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98315. | ^~~~~~~~~~~~~~
  98316. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  98317. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  98318. 237 | return (unsigned long)(vmf->virtual_address);
  98319. | ^~~~~~~~~~~~~~~
  98320. | real_address
  98321. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  98322. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98323. 246 | down_read(&mm->mmap_sem);
  98324. | ^~~~~~~~
  98325. | mmap_base
  98326. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  98327. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98328. 255 | up_read(&mm->mmap_sem);
  98329. | ^~~~~~~~
  98330. | mmap_base
  98331. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  98332. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98333. 264 | down_write(&mm->mmap_sem);
  98334. | ^~~~~~~~
  98335. | mmap_base
  98336. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  98337. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98338. 273 | up_write(&mm->mmap_sem);
  98339. | ^~~~~~~~
  98340. | mmap_base
  98341. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  98342. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98343. 282 | return rwsem_is_locked(&mm->mmap_sem);
  98344. | ^~~~~~~~
  98345. | mmap_base
  98346. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  98347. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98348. 291 | return &mm->mmap_sem;
  98349. | ^~~~~~~~
  98350. | mmap_base
  98351. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  98352. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  98353. 300 | vma->vm_flags |= flags;
  98354. | ^~
  98355. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  98356. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  98357. 309 | vma->vm_flags &= ~flags;
  98358. | ^~
  98359. In file included from ././common/inc/nv-linux.h:34,
  98360. from nvidia/nv-p2p.c:27:
  98361. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  98362. 29 | typedef int vm_fault_t;
  98363. | ^~~~~~~~~~
  98364. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  98365. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  98366. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  98367. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  98368. from ././common/inc/nv-lock.h:35,
  98369. from ././common/inc/nv-linux.h:32:
  98370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  98371. 1311 | typedef __bitwise unsigned int vm_fault_t;
  98372. | ^~~~~~~~~~
  98373. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  98374. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  98375. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  98376. from ././common/inc/nv-lock.h:29:
  98377. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  98378. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98379. 52 | #define current get_current()
  98380. | ^~~~~~~~~~~~~
  98381. | |
  98382. | struct task_struct *
  98383. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  98384. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98385. | ^~~~~~~
  98386. In file included from ././common/inc/nv-pgprot.h:30,
  98387. from ././common/inc/nv-linux.h:33:
  98388. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  98389. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98390. | ~~~~~~~~~~~~~~^~~~~
  98391. In file included from ././common/inc/nv-linux.h:37:
  98392. ././common/inc/nv-time.h: At top level:
  98393. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  98394. 40 | struct timespec64 {
  98395. | ^~~~~~~~~~
  98396. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  98397. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  98398. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  98399. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  98400. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  98401. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  98402. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  98403. 13 | struct timespec64 {
  98404. | ^~~~~~~~~~
  98405. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  98406. 77 | static inline struct timespec64 timespec64_add
  98407. | ^~~~~~~~~~~~~~
  98408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  98409. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  98410. | ^~~~~~~~~~~~~~
  98411. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  98412. 95 | static inline struct timespec64 timespec64_sub
  98413. | ^~~~~~~~~~~~~~
  98414. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98415. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98416. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  98417. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  98418. | ^~~~~~~~~~~~~~
  98419. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98420. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98421. | ~~~~~~~~~~~~~~^~~~~~~~
  98422. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  98423. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  98424. | ^~~~~~~~~~~~~~~~
  98425. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98426. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98427. | ^~~~~~~~
  98428. | |
  98429. | long unsigned int
  98430. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  98431. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  98432. | ^~~~~~~~~~~~~~~~
  98433. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98434. 2535 | unsigned int gup_flags, struct page **pages);
  98435. | ~~~~~~~~~~~~~~^~~~~
  98436. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  98437. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98438. 122 | ktime_get_raw_ts64(&ts);
  98439. | ^~~
  98440. | |
  98441. | struct timespec64 *
  98442. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98443. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98444. | ^~~~~~~~~~~~~~ ~~~~~
  98445. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  98446. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98447. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98448. | ~~~~~~~~~~~~~~~~~~~^~
  98449. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98450. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98451. | ^~~~~~~~~~~~~~
  98452. In file included from ././common/inc/nv.h:35,
  98453. from ././common/inc/nv-linux.h:28:
  98454. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  98455. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98456. 8 | #define NULL ((void *)0)
  98457. | ^~~~~~~~~~~
  98458. | |
  98459. | void *
  98460. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  98461. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98462. | ^~~~
  98463. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  98464. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98465. 185 | ktime_get_raw_ts64(&tm_aux);
  98466. | ^~~~~~~
  98467. | |
  98468. | struct timespec64 *
  98469. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  98470. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98471. | ~~~~~~~~~~~~~~^~~~~
  98472. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98473. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98474. | ^~
  98475. | |
  98476. | struct mm_struct *
  98477. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98478. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98479. | ~~~~~~~~~~~~~~~~~~~^~
  98480. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98481. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98482. | ~~~~~~~~~~~~~~^~~~~~~~
  98483. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98484. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98485. | ^~~~~~~~
  98486. | |
  98487. | long unsigned int
  98488. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98489. 2535 | unsigned int gup_flags, struct page **pages);
  98490. | ~~~~~~~~~~~~~~^~~~~
  98491. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98492. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98493. | ^~~~~~~~~~~~~~ ~~~~~
  98494. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98495. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98496. | ^~~~~~~~~~~~~~
  98497. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  98498. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  98499. 237 | return (unsigned long)(vmf->virtual_address);
  98500. | ^~~~~~~~~~~~~~~
  98501. | real_address
  98502. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  98503. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98504. 246 | down_read(&mm->mmap_sem);
  98505. | ^~~~~~~~
  98506. | mmap_base
  98507. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  98508. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98509. 255 | up_read(&mm->mmap_sem);
  98510. | ^~~~~~~~
  98511. | mmap_base
  98512. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  98513. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98514. 264 | down_write(&mm->mmap_sem);
  98515. | ^~~~~~~~
  98516. | mmap_base
  98517. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  98518. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98519. 273 | up_write(&mm->mmap_sem);
  98520. | ^~~~~~~~
  98521. | mmap_base
  98522. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  98523. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98524. 282 | return rwsem_is_locked(&mm->mmap_sem);
  98525. | ^~~~~~~~
  98526. | mmap_base
  98527. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  98528. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98529. 291 | return &mm->mmap_sem;
  98530. | ^~~~~~~~
  98531. | mmap_base
  98532. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98533. 221 | ktime_get_raw_ts64(&tm_aux);
  98534. | ^~~~~~~
  98535. | |
  98536. | struct timespec64 *
  98537. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98538. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98539. | ~~~~~~~~~~~~~~~~~~~^~
  98540. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  98541. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  98542. 300 | vma->vm_flags |= flags;
  98543. | ^~
  98544. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  98545. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  98546. 309 | vma->vm_flags &= ~flags;
  98547. | ^~
  98548. In file included from ././common/inc/nv-linux.h:37:
  98549. ././common/inc/nv-time.h: At top level:
  98550. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  98551. 40 | struct timespec64 {
  98552. | ^~~~~~~~~~
  98553. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  98554. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  98555. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  98556. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  98557. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  98558. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  98559. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  98560. 13 | struct timespec64 {
  98561. | ^~~~~~~~~~
  98562. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  98563. 77 | static inline struct timespec64 timespec64_add
  98564. | ^~~~~~~~~~~~~~
  98565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  98566. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  98567. | ^~~~~~~~~~~~~~
  98568. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  98569. 95 | static inline struct timespec64 timespec64_sub
  98570. | ^~~~~~~~~~~~~~
  98571. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  98572. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  98573. | ^~~~~~~~~~~~~~
  98574. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  98575. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  98576. | ^~~~~~~~~~~~~~~~
  98577. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  98578. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  98579. | ^~~~~~~~~~~~~~~~
  98580. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  98581. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98582. 122 | ktime_get_raw_ts64(&ts);
  98583. | ^~~
  98584. | |
  98585. | struct timespec64 *
  98586. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  98587. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98588. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98589. | ~~~~~~~~~~~~~~~~~~~^~
  98590. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  98591. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98592. 185 | ktime_get_raw_ts64(&tm_aux);
  98593. | ^~~~~~~
  98594. | |
  98595. | struct timespec64 *
  98596. In file included from ././common/inc/nv-linux.h:34,
  98597. from nvidia/nv-cray.c:27:
  98598. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  98599. 29 | typedef int vm_fault_t;
  98600. | ^~~~~~~~~~
  98601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98602. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98603. | ~~~~~~~~~~~~~~~~~~~^~
  98604. In file included from ././common/inc/nv-linux.h:34,
  98605. from nvidia/os-interface.c:27:
  98606. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  98607. 29 | typedef int vm_fault_t;
  98608. | ^~~~~~~~~~
  98609. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  98610. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  98611. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  98612. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  98613. from ././common/inc/nv-lock.h:35,
  98614. from ././common/inc/nv-linux.h:32:
  98615. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  98616. 1311 | typedef __bitwise unsigned int vm_fault_t;
  98617. | ^~~~~~~~~~
  98618. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  98619. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  98620. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  98621. from ././common/inc/nv-lock.h:29:
  98622. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  98623. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98624. 52 | #define current get_current()
  98625. | ^~~~~~~~~~~~~
  98626. | |
  98627. | struct task_struct *
  98628. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  98629. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98630. | ^~~~~~~
  98631. In file included from ././common/inc/nv-pgprot.h:30,
  98632. from ././common/inc/nv-linux.h:33:
  98633. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  98634. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98635. | ~~~~~~~~~~~~~~^~~~~
  98636. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98637. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98639. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98640. | ~~~~~~~~~~~~~~^~~~~~~~
  98641. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98642. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98643. | ^~~~~~~~
  98644. | |
  98645. | long unsigned int
  98646. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98647. 2535 | unsigned int gup_flags, struct page **pages);
  98648. | ~~~~~~~~~~~~~~^~~~~
  98649. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98650. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98651. | ^~~~~~~~~~~~~~ ~~~~~
  98652. In file included from ././common/inc/nv-linux.h:34,
  98653. from nvidia/nv-dma.c:27:
  98654. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  98655. 29 | typedef int vm_fault_t;
  98656. | ^~~~~~~~~~
  98657. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98658. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98659. | ^~~~~~~~~~~~~~
  98660. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  98661. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  98662. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  98663. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  98664. from ././common/inc/nv-lock.h:35,
  98665. from ././common/inc/nv-linux.h:32:
  98666. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  98667. 1311 | typedef __bitwise unsigned int vm_fault_t;
  98668. | ^~~~~~~~~~
  98669. In file included from ././common/inc/nv.h:35,
  98670. from ././common/inc/nv-linux.h:28:
  98671. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  98672. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  98673. 221 | ktime_get_raw_ts64(&tm_aux);
  98674. | ^~~~~~~
  98675. | |
  98676. | struct timespec64 *
  98677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  98678. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  98679. | ~~~~~~~~~~~~~~~~~~~^~
  98680. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98681. 8 | #define NULL ((void *)0)
  98682. | ^~~~~~~~~~~
  98683. | |
  98684. | void *
  98685. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  98686. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98687. | ^~~~
  98688. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  98689. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98690. | ~~~~~~~~~~~~~~^~~~~
  98691. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98692. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98693. | ^~
  98694. | |
  98695. | struct mm_struct *
  98696. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  98697. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  98698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  98699. from ././common/inc/nv-lock.h:29:
  98700. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  98701. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98702. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98703. | ~~~~~~~~~~~~~~^~~~~~~~
  98704. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98705. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98706. | ^~~~~~~~
  98707. | |
  98708. | long unsigned int
  98709. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98710. 2535 | unsigned int gup_flags, struct page **pages);
  98711. | ~~~~~~~~~~~~~~^~~~~
  98712. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98713. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98714. | ^~~~~~~~~~~~~~ ~~~~~
  98715. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98716. 52 | #define current get_current()
  98717. | ^~~~~~~~~~~~~
  98718. | |
  98719. | struct task_struct *
  98720. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  98721. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98722. | ^~~~~~~
  98723. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98724. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98725. | ^~~~~~~~~~~~~~
  98726. In file included from ././common/inc/nv-pgprot.h:30,
  98727. from ././common/inc/nv-linux.h:33:
  98728. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  98729. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98730. | ~~~~~~~~~~~~~~^~~~~
  98731. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  98732. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98733. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98734. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  98735. 237 | return (unsigned long)(vmf->virtual_address);
  98736. | ^~~~~~~~~~~~~~~
  98737. | real_address
  98738. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98739. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98740. | ~~~~~~~~~~~~~~^~~~~~~~
  98741. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  98742. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98743. 246 | down_read(&mm->mmap_sem);
  98744. | ^~~~~~~~
  98745. | mmap_base
  98746. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98747. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98748. | ^~~~~~~~
  98749. | |
  98750. | long unsigned int
  98751. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  98752. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98753. 255 | up_read(&mm->mmap_sem);
  98754. | ^~~~~~~~
  98755. | mmap_base
  98756. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98757. 2535 | unsigned int gup_flags, struct page **pages);
  98758. | ~~~~~~~~~~~~~~^~~~~
  98759. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  98760. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98761. 264 | down_write(&mm->mmap_sem);
  98762. | ^~~~~~~~
  98763. | mmap_base
  98764. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  98765. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98766. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98767. | ^~~~~~~~~~~~~~ ~~~~~
  98768. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98769. 273 | up_write(&mm->mmap_sem);
  98770. | ^~~~~~~~
  98771. | mmap_base
  98772. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98773. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98774. | ^~~~~~~~~~~~~~
  98775. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  98776. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98777. 282 | return rwsem_is_locked(&mm->mmap_sem);
  98778. | ^~~~~~~~
  98779. | mmap_base
  98780. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  98781. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98782. 291 | return &mm->mmap_sem;
  98783. | ^~~~~~~~
  98784. | mmap_base
  98785. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  98786. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  98787. 300 | vma->vm_flags |= flags;
  98788. | ^~
  98789. In file included from ././common/inc/nv.h:35,
  98790. from ././common/inc/nv-linux.h:28:
  98791. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  98792. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  98793. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  98794. 309 | vma->vm_flags &= ~flags;
  98795. | ^~
  98796. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98797. 8 | #define NULL ((void *)0)
  98798. | ^~~~~~~~~~~
  98799. | |
  98800. | void *
  98801. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  98802. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98803. | ^~~~
  98804. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  98805. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98806. | ~~~~~~~~~~~~~~^~~~~
  98807. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98808. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98809. | ^~
  98810. | |
  98811. | struct mm_struct *
  98812. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98813. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98814. | ~~~~~~~~~~~~~~^~~~~~~~
  98815. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98816. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98817. | ^~~~~~~~
  98818. | |
  98819. | long unsigned int
  98820. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98821. 2535 | unsigned int gup_flags, struct page **pages);
  98822. | ~~~~~~~~~~~~~~^~~~~
  98823. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98824. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98825. | ^~~~~~~~~~~~~~ ~~~~~
  98826. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98827. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98828. | ^~~~~~~~~~~~~~
  98829. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  98830. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  98831. 237 | return (unsigned long)(vmf->virtual_address);
  98832. | ^~~~~~~~~~~~~~~
  98833. | real_address
  98834. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  98835. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98836. 246 | down_read(&mm->mmap_sem);
  98837. | ^~~~~~~~
  98838. | mmap_base
  98839. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  98840. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98841. 255 | up_read(&mm->mmap_sem);
  98842. | ^~~~~~~~
  98843. | mmap_base
  98844. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  98845. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98846. 264 | down_write(&mm->mmap_sem);
  98847. | ^~~~~~~~
  98848. | mmap_base
  98849. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  98850. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98851. 273 | up_write(&mm->mmap_sem);
  98852. | ^~~~~~~~
  98853. | mmap_base
  98854. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  98855. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98856. 282 | return rwsem_is_locked(&mm->mmap_sem);
  98857. | ^~~~~~~~
  98858. | mmap_base
  98859. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  98860. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98861. 291 | return &mm->mmap_sem;
  98862. | ^~~~~~~~
  98863. | mmap_base
  98864. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  98865. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  98866. 300 | vma->vm_flags |= flags;
  98867. | ^~
  98868. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  98869. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  98870. 309 | vma->vm_flags &= ~flags;
  98871. | ^~
  98872. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  98873. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  98874. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  98875. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  98876. from ././common/inc/nv-lock.h:35,
  98877. from ././common/inc/nv-linux.h:32:
  98878. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  98879. 1311 | typedef __bitwise unsigned int vm_fault_t;
  98880. | ^~~~~~~~~~
  98881. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  98882. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  98883. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  98884. from ././common/inc/nv-lock.h:29:
  98885. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  98886. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98887. 52 | #define current get_current()
  98888. | ^~~~~~~~~~~~~
  98889. | |
  98890. | struct task_struct *
  98891. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  98892. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98893. | ^~~~~~~
  98894. In file included from ././common/inc/nv-pgprot.h:30,
  98895. from ././common/inc/nv-linux.h:33:
  98896. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  98897. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98898. | ~~~~~~~~~~~~~~^~~~~
  98899. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98900. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98901. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98902. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98903. | ~~~~~~~~~~~~~~^~~~~~~~
  98904. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98905. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98906. | ^~~~~~~~
  98907. | |
  98908. | long unsigned int
  98909. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98910. 2535 | unsigned int gup_flags, struct page **pages);
  98911. | ~~~~~~~~~~~~~~^~~~~
  98912. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98913. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  98914. | ^~~~~~~~~~~~~~ ~~~~~
  98915. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98916. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98917. | ^~~~~~~~~~~~~~
  98918. In file included from ././common/inc/nv.h:35,
  98919. from ././common/inc/nv-linux.h:28:
  98920. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  98921. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98922. 8 | #define NULL ((void *)0)
  98923. | ^~~~~~~~~~~
  98924. | |
  98925. | void *
  98926. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  98927. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98928. | ^~~~
  98929. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  98930. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98931. | ~~~~~~~~~~~~~~^~~~~
  98932. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  98933. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98934. | ^~
  98935. | |
  98936. | struct mm_struct *
  98937. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  98938. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98939. | ~~~~~~~~~~~~~~^~~~~~~~
  98940. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  98941. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98942. | ^~~~~~~~
  98943. | |
  98944. | long unsigned int
  98945. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  98946. 2535 | unsigned int gup_flags, struct page **pages);
  98947. | ~~~~~~~~~~~~~~^~~~~
  98948. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  98949. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  98950. | ^~~~~~~~~~~~~~ ~~~~~
  98951. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  98952. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  98953. | ^~~~~~~~~~~~~~
  98954. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  98955. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  98956. 237 | return (unsigned long)(vmf->virtual_address);
  98957. | ^~~~~~~~~~~~~~~
  98958. | real_address
  98959. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  98960. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98961. 246 | down_read(&mm->mmap_sem);
  98962. | ^~~~~~~~
  98963. | mmap_base
  98964. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  98965. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98966. 255 | up_read(&mm->mmap_sem);
  98967. | ^~~~~~~~
  98968. | mmap_base
  98969. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  98970. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98971. 264 | down_write(&mm->mmap_sem);
  98972. | ^~~~~~~~
  98973. | mmap_base
  98974. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  98975. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98976. 273 | up_write(&mm->mmap_sem);
  98977. | ^~~~~~~~
  98978. | mmap_base
  98979. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  98980. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98981. 282 | return rwsem_is_locked(&mm->mmap_sem);
  98982. | ^~~~~~~~
  98983. | mmap_base
  98984. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  98985. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  98986. 291 | return &mm->mmap_sem;
  98987. | ^~~~~~~~
  98988. | mmap_base
  98989. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  98990. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  98991. 300 | vma->vm_flags |= flags;
  98992. | ^~
  98993. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  98994. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  98995. 309 | vma->vm_flags &= ~flags;
  98996. | ^~
  98997. In file included from ././common/inc/nv-linux.h:37:
  98998. ././common/inc/nv-time.h: At top level:
  98999. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  99000. 40 | struct timespec64 {
  99001. | ^~~~~~~~~~
  99002. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  99003. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  99004. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  99005. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  99006. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  99007. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  99008. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  99009. 13 | struct timespec64 {
  99010. | ^~~~~~~~~~
  99011. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99012. 77 | static inline struct timespec64 timespec64_add
  99013. | ^~~~~~~~~~~~~~
  99014. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99015. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  99016. | ^~~~~~~~~~~~~~
  99017. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99018. 95 | static inline struct timespec64 timespec64_sub
  99019. | ^~~~~~~~~~~~~~
  99020. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99021. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  99022. | ^~~~~~~~~~~~~~
  99023. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  99024. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  99025. | ^~~~~~~~~~~~~~~~
  99026. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  99027. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  99028. | ^~~~~~~~~~~~~~~~
  99029. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  99030. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99031. 122 | ktime_get_raw_ts64(&ts);
  99032. | ^~~
  99033. | |
  99034. | struct timespec64 *
  99035. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  99036. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99037. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99038. | ~~~~~~~~~~~~~~~~~~~^~
  99039. In file included from ././common/inc/nv-linux.h:37:
  99040. ././common/inc/nv-time.h: At top level:
  99041. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  99042. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99043. 185 | ktime_get_raw_ts64(&tm_aux);
  99044. | ^~~~~~~
  99045. | |
  99046. | struct timespec64 *
  99047. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  99048. 40 | struct timespec64 {
  99049. | ^~~~~~~~~~
  99050. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99051. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99052. | ~~~~~~~~~~~~~~~~~~~^~
  99053. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  99054. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  99055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  99056. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  99057. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  99058. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  99059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  99060. 13 | struct timespec64 {
  99061. | ^~~~~~~~~~
  99062. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99063. 77 | static inline struct timespec64 timespec64_add
  99064. | ^~~~~~~~~~~~~~
  99065. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99066. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  99067. | ^~~~~~~~~~~~~~
  99068. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99069. 95 | static inline struct timespec64 timespec64_sub
  99070. | ^~~~~~~~~~~~~~
  99071. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99072. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  99073. | ^~~~~~~~~~~~~~
  99074. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  99075. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  99076. | ^~~~~~~~~~~~~~~~
  99077. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  99078. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  99079. | ^~~~~~~~~~~~~~~~
  99080. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  99081. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99082. 122 | ktime_get_raw_ts64(&ts);
  99083. | ^~~
  99084. | |
  99085. | struct timespec64 *
  99086. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  99087. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99088. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99089. | ~~~~~~~~~~~~~~~~~~~^~
  99090. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99091. 221 | ktime_get_raw_ts64(&tm_aux);
  99092. | ^~~~~~~
  99093. | |
  99094. | struct timespec64 *
  99095. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99096. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99097. | ~~~~~~~~~~~~~~~~~~~^~
  99098. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  99099. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99100. 185 | ktime_get_raw_ts64(&tm_aux);
  99101. | ^~~~~~~
  99102. | |
  99103. | struct timespec64 *
  99104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99105. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99106. | ~~~~~~~~~~~~~~~~~~~^~
  99107. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99108. 221 | ktime_get_raw_ts64(&tm_aux);
  99109. | ^~~~~~~
  99110. | |
  99111. | struct timespec64 *
  99112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99113. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99114. | ~~~~~~~~~~~~~~~~~~~^~
  99115. In file included from ././common/inc/nv-linux.h:37:
  99116. ././common/inc/nv-time.h: At top level:
  99117. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  99118. 40 | struct timespec64 {
  99119. | ^~~~~~~~~~
  99120. In file included from ././common/inc/nv-linux.h:34,
  99121. from nvidia/nv-acpi.c:27:
  99122. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  99123. 29 | typedef int vm_fault_t;
  99124. | ^~~~~~~~~~
  99125. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  99126. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  99127. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  99128. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  99129. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  99130. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  99131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  99132. 13 | struct timespec64 {
  99133. | ^~~~~~~~~~
  99134. In file included from ././common/inc/nv-linux.h:34,
  99135. from nvidia/nv-vtophys.c:27:
  99136. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  99137. 29 | typedef int vm_fault_t;
  99138. | ^~~~~~~~~~
  99139. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  99140. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  99141. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  99142. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  99143. from ././common/inc/nv-lock.h:35,
  99144. from ././common/inc/nv-linux.h:32:
  99145. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  99146. 1311 | typedef __bitwise unsigned int vm_fault_t;
  99147. | ^~~~~~~~~~
  99148. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99149. 77 | static inline struct timespec64 timespec64_add
  99150. | ^~~~~~~~~~~~~~
  99151. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  99152. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  99153. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  99154. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  99155. from ././common/inc/nv-lock.h:35,
  99156. from ././common/inc/nv-linux.h:32:
  99157. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  99158. 1311 | typedef __bitwise unsigned int vm_fault_t;
  99159. | ^~~~~~~~~~
  99160. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99161. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  99162. | ^~~~~~~~~~~~~~
  99163. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  99164. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  99165. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  99166. from ././common/inc/nv-lock.h:29:
  99167. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  99168. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  99169. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  99170. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  99171. from ././common/inc/nv-lock.h:29:
  99172. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  99173. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99174. 95 | static inline struct timespec64 timespec64_sub
  99175. | ^~~~~~~~~~~~~~
  99176. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99177. 52 | #define current get_current()
  99178. | ^~~~~~~~~~~~~
  99179. | |
  99180. | struct task_struct *
  99181. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  99182. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99183. | ^~~~~~~
  99184. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99185. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  99186. | ^~~~~~~~~~~~~~
  99187. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99188. 52 | #define current get_current()
  99189. | ^~~~~~~~~~~~~
  99190. | |
  99191. | struct task_struct *
  99192. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  99193. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99194. | ^~~~~~~
  99195. In file included from ././common/inc/nv-pgprot.h:30,
  99196. from ././common/inc/nv-linux.h:33:
  99197. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  99198. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99199. | ~~~~~~~~~~~~~~^~~~~
  99200. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99201. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99202. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  99203. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  99204. | ^~~~~~~~~~~~~~~~
  99205. In file included from ././common/inc/nv-pgprot.h:30,
  99206. from ././common/inc/nv-linux.h:33:
  99207. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  99208. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99209. | ~~~~~~~~~~~~~~^~~~~
  99210. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  99211. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  99212. | ^~~~~~~~~~~~~~~~
  99213. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99214. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99215. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  99216. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99217. | ~~~~~~~~~~~~~~^~~~~~~~
  99218. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  99219. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99220. | ~~~~~~~~~~~~~~^~~~~~~~
  99221. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  99222. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99223. | ^~~~~~~~
  99224. | |
  99225. | long unsigned int
  99226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  99227. 2535 | unsigned int gup_flags, struct page **pages);
  99228. | ~~~~~~~~~~~~~~^~~~~
  99229. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  99230. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99231. | ^~~~~~~~
  99232. | |
  99233. | long unsigned int
  99234. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  99235. 2535 | unsigned int gup_flags, struct page **pages);
  99236. | ~~~~~~~~~~~~~~^~~~~
  99237. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  99238. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99239. | ^~~~~~~~~~~~~~ ~~~~~
  99240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  99241. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99242. | ^~~~~~~~~~~~~~
  99243. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  99244. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99245. | ^~~~~~~~~~~~~~ ~~~~~
  99246. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  99247. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99248. | ^~~~~~~~~~~~~~
  99249. In file included from ././common/inc/nv.h:35,
  99250. from ././common/inc/nv-linux.h:28:
  99251. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  99252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99253. 8 | #define NULL ((void *)0)
  99254. | ^~~~~~~~~~~
  99255. | |
  99256. | void *
  99257. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  99258. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99259. | ^~~~
  99260. In file included from ././common/inc/nv.h:35,
  99261. from ././common/inc/nv-linux.h:28:
  99262. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  99263. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99264. 8 | #define NULL ((void *)0)
  99265. | ^~~~~~~~~~~
  99266. | |
  99267. | void *
  99268. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  99269. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99270. | ^~~~
  99271. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  99272. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99273. | ~~~~~~~~~~~~~~^~~~~
  99274. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99275. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99276. | ^~
  99277. | |
  99278. | struct mm_struct *
  99279. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  99280. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99281. | ~~~~~~~~~~~~~~^~~~~
  99282. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99283. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99284. | ^~
  99285. | |
  99286. | struct mm_struct *
  99287. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  99288. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99289. | ~~~~~~~~~~~~~~^~~~~~~~
  99290. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  99291. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99292. | ^~~~~~~~
  99293. | |
  99294. | long unsigned int
  99295. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  99296. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99297. | ~~~~~~~~~~~~~~^~~~~~~~
  99298. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  99299. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99300. | ^~~~~~~~
  99301. | |
  99302. | long unsigned int
  99303. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  99304. 2535 | unsigned int gup_flags, struct page **pages);
  99305. | ~~~~~~~~~~~~~~^~~~~
  99306. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  99307. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99308. | ^~~~~~~~~~~~~~ ~~~~~
  99309. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  99310. 2535 | unsigned int gup_flags, struct page **pages);
  99311. | ~~~~~~~~~~~~~~^~~~~
  99312. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  99313. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99314. | ^~~~~~~~~~~~~~
  99315. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  99316. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99317. | ^~~~~~~~~~~~~~ ~~~~~
  99318. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  99319. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99320. | ^~~~~~~~~~~~~~
  99321. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  99322. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  99323. 237 | return (unsigned long)(vmf->virtual_address);
  99324. | ^~~~~~~~~~~~~~~
  99325. | real_address
  99326. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  99327. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  99328. 237 | return (unsigned long)(vmf->virtual_address);
  99329. | ^~~~~~~~~~~~~~~
  99330. | real_address
  99331. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  99332. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99333. 246 | down_read(&mm->mmap_sem);
  99334. | ^~~~~~~~
  99335. | mmap_base
  99336. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  99337. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  99338. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99339. 246 | down_read(&mm->mmap_sem);
  99340. | ^~~~~~~~
  99341. | mmap_base
  99342. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99343. 255 | up_read(&mm->mmap_sem);
  99344. | ^~~~~~~~
  99345. | mmap_base
  99346. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  99347. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  99348. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99349. 255 | up_read(&mm->mmap_sem);
  99350. | ^~~~~~~~
  99351. | mmap_base
  99352. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99353. 264 | down_write(&mm->mmap_sem);
  99354. | ^~~~~~~~
  99355. | mmap_base
  99356. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  99357. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  99358. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99359. 264 | down_write(&mm->mmap_sem);
  99360. | ^~~~~~~~
  99361. | mmap_base
  99362. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99363. 273 | up_write(&mm->mmap_sem);
  99364. | ^~~~~~~~
  99365. | mmap_base
  99366. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  99367. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  99368. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99369. 273 | up_write(&mm->mmap_sem);
  99370. | ^~~~~~~~
  99371. | mmap_base
  99372. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99373. 282 | return rwsem_is_locked(&mm->mmap_sem);
  99374. | ^~~~~~~~
  99375. | mmap_base
  99376. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  99377. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  99378. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99379. 282 | return rwsem_is_locked(&mm->mmap_sem);
  99380. | ^~~~~~~~
  99381. | mmap_base
  99382. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99383. 291 | return &mm->mmap_sem;
  99384. | ^~~~~~~~
  99385. | mmap_base
  99386. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  99387. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  99388. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  99389. 300 | vma->vm_flags |= flags;
  99390. | ^~
  99391. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99392. 291 | return &mm->mmap_sem;
  99393. | ^~~~~~~~
  99394. | mmap_base
  99395. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  99396. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  99397. 309 | vma->vm_flags &= ~flags;
  99398. | ^~
  99399. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  99400. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  99401. 300 | vma->vm_flags |= flags;
  99402. | ^~
  99403. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  99404. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  99405. 309 | vma->vm_flags &= ~flags;
  99406. | ^~
  99407. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  99408. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99409. 122 | ktime_get_raw_ts64(&ts);
  99410. | ^~~
  99411. | |
  99412. | struct timespec64 *
  99413. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  99414. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99415. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99416. | ~~~~~~~~~~~~~~~~~~~^~
  99417. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  99418. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99419. 185 | ktime_get_raw_ts64(&tm_aux);
  99420. | ^~~~~~~
  99421. | |
  99422. | struct timespec64 *
  99423. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99424. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99425. | ~~~~~~~~~~~~~~~~~~~^~
  99426. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99427. 221 | ktime_get_raw_ts64(&tm_aux);
  99428. | ^~~~~~~
  99429. | |
  99430. | struct timespec64 *
  99431. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99432. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99433. | ~~~~~~~~~~~~~~~~~~~^~
  99434. In file included from ././common/inc/nv-linux.h:37:
  99435. ././common/inc/nv-time.h: At top level:
  99436. In file included from ././common/inc/nv-linux.h:37:
  99437. ././common/inc/nv-time.h: At top level:
  99438. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  99439. 40 | struct timespec64 {
  99440. | ^~~~~~~~~~
  99441. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  99442. 40 | struct timespec64 {
  99443. | ^~~~~~~~~~
  99444. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  99445. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  99446. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  99447. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  99448. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  99449. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  99450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  99451. 13 | struct timespec64 {
  99452. | ^~~~~~~~~~
  99453. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  99454. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  99455. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  99456. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  99457. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  99458. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  99459. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  99460. 13 | struct timespec64 {
  99461. | ^~~~~~~~~~
  99462. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99463. 77 | static inline struct timespec64 timespec64_add
  99464. | ^~~~~~~~~~~~~~
  99465. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99466. 77 | static inline struct timespec64 timespec64_add
  99467. | ^~~~~~~~~~~~~~
  99468. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99469. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  99470. | ^~~~~~~~~~~~~~
  99471. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99472. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  99473. | ^~~~~~~~~~~~~~
  99474. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99475. 95 | static inline struct timespec64 timespec64_sub
  99476. | ^~~~~~~~~~~~~~
  99477. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99478. 95 | static inline struct timespec64 timespec64_sub
  99479. | ^~~~~~~~~~~~~~
  99480. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99481. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  99482. | ^~~~~~~~~~~~~~
  99483. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99484. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  99485. | ^~~~~~~~~~~~~~
  99486. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  99487. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  99488. | ^~~~~~~~~~~~~~~~
  99489. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  99490. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  99491. | ^~~~~~~~~~~~~~~~
  99492. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  99493. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  99494. | ^~~~~~~~~~~~~~~~
  99495. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  99496. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  99497. | ^~~~~~~~~~~~~~~~
  99498. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  99499. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  99500. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99501. 122 | ktime_get_raw_ts64(&ts);
  99502. | ^~~
  99503. | |
  99504. | struct timespec64 *
  99505. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99506. 122 | ktime_get_raw_ts64(&ts);
  99507. | ^~~
  99508. | |
  99509. | struct timespec64 *
  99510. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  99511. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99512. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99513. | ~~~~~~~~~~~~~~~~~~~^~
  99514. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  99515. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99516. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99517. | ~~~~~~~~~~~~~~~~~~~^~
  99518. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  99519. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  99520. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99521. 185 | ktime_get_raw_ts64(&tm_aux);
  99522. | ^~~~~~~
  99523. | |
  99524. | struct timespec64 *
  99525. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99526. 185 | ktime_get_raw_ts64(&tm_aux);
  99527. | ^~~~~~~
  99528. | |
  99529. | struct timespec64 *
  99530. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99531. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99532. | ~~~~~~~~~~~~~~~~~~~^~
  99533. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99534. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99535. | ~~~~~~~~~~~~~~~~~~~^~
  99536. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99537. 221 | ktime_get_raw_ts64(&tm_aux);
  99538. | ^~~~~~~
  99539. | |
  99540. | struct timespec64 *
  99541. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99542. 221 | ktime_get_raw_ts64(&tm_aux);
  99543. | ^~~~~~~
  99544. | |
  99545. | struct timespec64 *
  99546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99547. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99548. | ~~~~~~~~~~~~~~~~~~~^~
  99549. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99550. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99551. | ~~~~~~~~~~~~~~~~~~~^~
  99552. In file included from ././common/inc/conftest.h:28,
  99553. from ././common/inc/nv_stdarg.h:29,
  99554. from ././common/inc/os-interface.h:40,
  99555. from nvidia/nv-i2c.c:28:
  99556. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  99557. 74 | #error dma_buf_export() conftest failed!
  99558. | ^~~~~
  99559. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  99560. 87 | #error wait_on_bit_lock() conftest failed!
  99561. | ^~~~~
  99562. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  99563. 90 | #error radix_tree_replace_slot() conftest failed!
  99564. | ^~~~~
  99565. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99566. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99567. 502 | NV_MEMDBG_ADD(ptr, size);
  99568. | ^
  99569. In file included from ././common/inc/nv-linux.h:34,
  99570. from nvidia/nv-i2c.c:29:
  99571. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  99572. 29 | typedef int vm_fault_t;
  99573. | ^~~~~~~~~~
  99574. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  99575. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  99576. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/slab.h:16,
  99577. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/resource_ext.h:11,
  99578. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:13,
  99579. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:13,
  99580. from nvidia/nv-i2c.c:26:
  99581. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  99582. 1311 | typedef __bitwise unsigned int vm_fault_t;
  99583. | ^~~~~~~~~~
  99584. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99585. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99586. 502 | NV_MEMDBG_ADD(ptr, size);
  99587. | ^
  99588. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  99589. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  99590. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  99591. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:8:
  99592. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  99593. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99594. 52 | #define current get_current()
  99595. | ^~~~~~~~~~~~~
  99596. | |
  99597. | struct task_struct *
  99598. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  99599. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99600. | ^~~~~~~
  99601. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/memcontrol.h:21,
  99602. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/swap.h:9,
  99603. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/suspend.h:5,
  99604. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/regulator/consumer.h:35,
  99605. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:19:
  99606. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  99607. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99608. | ~~~~~~~~~~~~~~^~~~~
  99609. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99610. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99611. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  99612. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99613. | ~~~~~~~~~~~~~~^~~~~~~~
  99614. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  99615. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99616. | ^~~~~~~~
  99617. | |
  99618. | long unsigned int
  99619. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  99620. 2535 | unsigned int gup_flags, struct page **pages);
  99621. | ~~~~~~~~~~~~~~^~~~~
  99622. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  99623. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  99624. | ^~~~~~~~~~~~~~ ~~~~~
  99625. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  99626. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99627. | ^~~~~~~~~~~~~~
  99628. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  99629. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  99630. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  99631. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  99632. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  99633. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  99634. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  99635. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  99636. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bits.h:22,
  99637. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ioport.h:13,
  99638. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:12:
  99639. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  99640. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99641. 8 | #define NULL ((void *)0)
  99642. | ^~~~~~~~~~~
  99643. | |
  99644. | void *
  99645. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  99646. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99647. | ^~~~
  99648. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  99649. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99650. | ~~~~~~~~~~~~~~^~~~~
  99651. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  99652. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99653. | ^~
  99654. | |
  99655. | struct mm_struct *
  99656. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  99657. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99658. | ~~~~~~~~~~~~~~^~~~~~~~
  99659. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  99660. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99661. | ^~~~~~~~
  99662. | |
  99663. | long unsigned int
  99664. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  99665. 2535 | unsigned int gup_flags, struct page **pages);
  99666. | ~~~~~~~~~~~~~~^~~~~
  99667. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  99668. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  99669. | ^~~~~~~~~~~~~~ ~~~~~
  99670. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  99671. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  99672. | ^~~~~~~~~~~~~~
  99673. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  99674. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  99675. 237 | return (unsigned long)(vmf->virtual_address);
  99676. | ^~~~~~~~~~~~~~~
  99677. | real_address
  99678. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  99679. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99680. 246 | down_read(&mm->mmap_sem);
  99681. | ^~~~~~~~
  99682. | mmap_base
  99683. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  99684. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99685. 255 | up_read(&mm->mmap_sem);
  99686. | ^~~~~~~~
  99687. | mmap_base
  99688. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  99689. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99690. 264 | down_write(&mm->mmap_sem);
  99691. | ^~~~~~~~
  99692. | mmap_base
  99693. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  99694. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99695. 273 | up_write(&mm->mmap_sem);
  99696. | ^~~~~~~~
  99697. | mmap_base
  99698. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  99699. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99700. 282 | return rwsem_is_locked(&mm->mmap_sem);
  99701. | ^~~~~~~~
  99702. | mmap_base
  99703. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  99704. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  99705. 291 | return &mm->mmap_sem;
  99706. | ^~~~~~~~
  99707. | mmap_base
  99708. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  99709. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  99710. 300 | vma->vm_flags |= flags;
  99711. | ^~
  99712. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  99713. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  99714. 309 | vma->vm_flags &= ~flags;
  99715. | ^~
  99716. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99717. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99718. 502 | NV_MEMDBG_ADD(ptr, size);
  99719. | ^
  99720. In file included from ././common/inc/nv-linux.h:37:
  99721. ././common/inc/nv-time.h: At top level:
  99722. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  99723. 40 | struct timespec64 {
  99724. | ^~~~~~~~~~
  99725. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  99726. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  99727. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  99728. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  99729. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  99730. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  99731. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  99732. 13 | struct timespec64 {
  99733. | ^~~~~~~~~~
  99734. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99735. 77 | static inline struct timespec64 timespec64_add
  99736. | ^~~~~~~~~~~~~~
  99737. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99738. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  99739. | ^~~~~~~~~~~~~~
  99740. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  99741. 95 | static inline struct timespec64 timespec64_sub
  99742. | ^~~~~~~~~~~~~~
  99743. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  99744. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  99745. | ^~~~~~~~~~~~~~
  99746. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  99747. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  99748. | ^~~~~~~~~~~~~~~~
  99749. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  99750. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  99751. | ^~~~~~~~~~~~~~~~
  99752. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  99753. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99754. 122 | ktime_get_raw_ts64(&ts);
  99755. | ^~~
  99756. | |
  99757. | struct timespec64 *
  99758. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  99759. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99760. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99761. | ~~~~~~~~~~~~~~~~~~~^~
  99762. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  99763. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99764. 185 | ktime_get_raw_ts64(&tm_aux);
  99765. | ^~~~~~~
  99766. | |
  99767. | struct timespec64 *
  99768. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99769. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99770. | ~~~~~~~~~~~~~~~~~~~^~
  99771. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  99772. 221 | ktime_get_raw_ts64(&tm_aux);
  99773. | ^~~~~~~
  99774. | |
  99775. | struct timespec64 *
  99776. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  99777. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  99778. | ~~~~~~~~~~~~~~~~~~~^~
  99779. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99780. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99781. 502 | NV_MEMDBG_ADD(ptr, size);
  99782. | ^
  99783. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99784. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99785. 502 | NV_MEMDBG_ADD(ptr, size);
  99786. | ^
  99787. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99788. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99789. 502 | NV_MEMDBG_ADD(ptr, size);
  99790. | ^
  99791. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99792. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99793. 502 | NV_MEMDBG_ADD(ptr, size);
  99794. | ^
  99795. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  99796. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  99797. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  99798. | ^~~~~~~~~~~~~~~~~~~~~~~
  99799. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99800. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99801. 520 | NV_MEMDBG_ADD(ptr, size);
  99802. | ^
  99803. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  99804. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  99805. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  99806. | ^~~~~~~~~~~~~~~~~~~~~~~
  99807. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99808. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99809. 520 | NV_MEMDBG_ADD(ptr, size);
  99810. | ^
  99811. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99812. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99813. 502 | NV_MEMDBG_ADD(ptr, size);
  99814. | ^
  99815. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  99816. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  99817. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  99818. | ^~~~~~~~~~~~~~~~~~~~~~~
  99819. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99820. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99821. 520 | NV_MEMDBG_ADD(ptr, size);
  99822. | ^
  99823. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  99824. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  99825. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  99826. | ^~~~~~~~~~~~~~~~~~~~~~~
  99827. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99828. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99829. 520 | NV_MEMDBG_ADD(ptr, size);
  99830. | ^
  99831. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  99832. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  99833. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  99834. | ^~~~~~~~~~~~~~~~~~~~~~~
  99835. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99836. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99837. 520 | NV_MEMDBG_ADD(ptr, size);
  99838. | ^
  99839. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99840. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99841. 502 | NV_MEMDBG_ADD(ptr, size);
  99842. | ^
  99843. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  99844. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  99845. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  99846. | ^~~~~~~~~~~~~~~~~~~~~~~
  99847. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99848. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99849. 520 | NV_MEMDBG_ADD(ptr, size);
  99850. | ^
  99851. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  99852. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  99853. 533 | ptr = ioremap_cache_shared(phys, size);
  99854. | ^~~~~~~~~~~~~~~~~~~~
  99855. | ioremap_cache
  99856. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99857. 533 | ptr = ioremap_cache_shared(phys, size);
  99858. | ^
  99859. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99860. 556 | NV_MEMDBG_ADD(ptr, size);
  99861. | ^
  99862. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  99863. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  99864. 533 | ptr = ioremap_cache_shared(phys, size);
  99865. | ^~~~~~~~~~~~~~~~~~~~
  99866. | ioremap_cache
  99867. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99868. 533 | ptr = ioremap_cache_shared(phys, size);
  99869. | ^
  99870. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99871. 556 | NV_MEMDBG_ADD(ptr, size);
  99872. | ^
  99873. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  99874. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  99875. 533 | ptr = ioremap_cache_shared(phys, size);
  99876. | ^~~~~~~~~~~~~~~~~~~~
  99877. | ioremap_cache
  99878. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  99879. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99880. 533 | ptr = ioremap_cache_shared(phys, size);
  99881. | ^
  99882. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99883. 556 | NV_MEMDBG_ADD(ptr, size);
  99884. | ^
  99885. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  99886. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  99887. | ^~~~~~~~~~~~~~~~~~~~~~~
  99888. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99889. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99890. 520 | NV_MEMDBG_ADD(ptr, size);
  99891. | ^
  99892. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  99893. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  99894. 533 | ptr = ioremap_cache_shared(phys, size);
  99895. | ^~~~~~~~~~~~~~~~~~~~
  99896. | ioremap_cache
  99897. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99898. 533 | ptr = ioremap_cache_shared(phys, size);
  99899. | ^
  99900. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99901. 556 | NV_MEMDBG_ADD(ptr, size);
  99902. | ^
  99903. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99904. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99905. 502 | NV_MEMDBG_ADD(ptr, size);
  99906. | ^
  99907. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  99908. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  99909. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  99910. | ^~~~~~~~~~~~~~~~~~~~~~~
  99911. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99912. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99913. 520 | NV_MEMDBG_ADD(ptr, size);
  99914. | ^
  99915. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  99916. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  99917. 533 | ptr = ioremap_cache_shared(phys, size);
  99918. | ^~~~~~~~~~~~~~~~~~~~
  99919. | ioremap_cache
  99920. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99921. 533 | ptr = ioremap_cache_shared(phys, size);
  99922. | ^
  99923. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99924. 556 | NV_MEMDBG_ADD(ptr, size);
  99925. | ^
  99926. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99927. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99928. 502 | NV_MEMDBG_ADD(ptr, size);
  99929. | ^
  99930. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99931. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99932. 502 | NV_MEMDBG_ADD(ptr, size);
  99933. | ^
  99934. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99935. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99936. 502 | NV_MEMDBG_ADD(ptr, size);
  99937. | ^
  99938. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  99939. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  99940. 533 | ptr = ioremap_cache_shared(phys, size);
  99941. | ^~~~~~~~~~~~~~~~~~~~
  99942. | ioremap_cache
  99943. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99944. 533 | ptr = ioremap_cache_shared(phys, size);
  99945. | ^
  99946. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99947. 556 | NV_MEMDBG_ADD(ptr, size);
  99948. | ^
  99949. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  99950. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  99951. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  99952. | ^~~~~~~~~~~~~~~~~~~~~~~
  99953. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99954. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99955. 520 | NV_MEMDBG_ADD(ptr, size);
  99956. | ^
  99957. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99958. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99959. 502 | NV_MEMDBG_ADD(ptr, size);
  99960. | ^
  99961. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99962. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99963. 502 | NV_MEMDBG_ADD(ptr, size);
  99964. | ^
  99965. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  99966. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99967. 502 | NV_MEMDBG_ADD(ptr, size);
  99968. | ^
  99969. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  99970. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  99971. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  99972. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  99973. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99974. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  99975. | ^
  99976. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99977. 573 | NV_MEMDBG_ADD(ptr, size);
  99978. | ^
  99979. ././common/inc/nv-linux.h: In function 'nv_vmap':
  99980. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  99981. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99982. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  99983. | ^
  99984. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  99985. 533 | ptr = ioremap_cache_shared(phys, size);
  99986. | ^~~~~~~~~~~~~~~~~~~~
  99987. | ioremap_cache
  99988. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99989. 533 | ptr = ioremap_cache_shared(phys, size);
  99990. | ^
  99991. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  99992. 556 | NV_MEMDBG_ADD(ptr, size);
  99993. | ^
  99994. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  99995. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  99996. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  99997. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  99998. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  99999. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100000. | ^
  100001. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100002. 573 | NV_MEMDBG_ADD(ptr, size);
  100003. | ^
  100004. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100005. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100006. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100007. | ^
  100008. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100009. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  100010. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100011. 736 | return phys_to_dma(dev, pa);
  100012. | ^~~~~~~~~~~
  100013. | nv_phys_to_dma
  100014. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  100015. 533 | ptr = ioremap_cache_shared(phys, size);
  100016. | ^~~~~~~~~~~~~~~~~~~~
  100017. | ioremap_cache
  100018. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100019. 533 | ptr = ioremap_cache_shared(phys, size);
  100020. | ^
  100021. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100022. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100023. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100024. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100025. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100026. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100027. | ^
  100028. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100029. 556 | NV_MEMDBG_ADD(ptr, size);
  100030. | ^
  100031. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100032. 573 | NV_MEMDBG_ADD(ptr, size);
  100033. | ^
  100034. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100035. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100036. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100037. | ^
  100038. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100039. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100040. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100041. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100042. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100043. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100044. | ^
  100045. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100046. 573 | NV_MEMDBG_ADD(ptr, size);
  100047. | ^
  100048. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100049. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100050. 736 | return phys_to_dma(dev, pa);
  100051. | ^~~~~~~~~~~
  100052. | nv_phys_to_dma
  100053. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100054. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100055. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100056. | ^
  100057. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100058. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100059. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100060. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100061. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100062. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100063. | ^
  100064. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  100065. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  100066. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  100067. | ^~~~~~~~~~~~~~~~~~~~~~~
  100068. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100069. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100070. 520 | NV_MEMDBG_ADD(ptr, size);
  100071. | ^
  100072. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100073. 573 | NV_MEMDBG_ADD(ptr, size);
  100074. | ^
  100075. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100076. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100077. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100078. | ^
  100079. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100080. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100081. 736 | return phys_to_dma(dev, pa);
  100082. | ^~~~~~~~~~~
  100083. | nv_phys_to_dma
  100084. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  100085. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  100086. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  100087. | ^~~~~~~~~~~~~~~~~~~~~~~
  100088. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100089. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100090. 520 | NV_MEMDBG_ADD(ptr, size);
  100091. | ^
  100092. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100093. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100094. 736 | return phys_to_dma(dev, pa);
  100095. | ^~~~~~~~~~~
  100096. | nv_phys_to_dma
  100097. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100098. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100099. 736 | return phys_to_dma(dev, pa);
  100100. | ^~~~~~~~~~~
  100101. | nv_phys_to_dma
  100102. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  100103. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  100104. 533 | ptr = ioremap_cache_shared(phys, size);
  100105. | ^~~~~~~~~~~~~~~~~~~~
  100106. | ioremap_cache
  100107. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100108. 533 | ptr = ioremap_cache_shared(phys, size);
  100109. | ^
  100110. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100111. 556 | NV_MEMDBG_ADD(ptr, size);
  100112. | ^
  100113. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  100114. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100115. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100116. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100117. | ^~~~~~~~~~~~~
  100118. | d_is_dir
  100119. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  100120. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  100121. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  100122. | ^~~~~~~~~~~~~~~~~~~~~~~
  100123. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100124. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100125. 520 | NV_MEMDBG_ADD(ptr, size);
  100126. | ^
  100127. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  100128. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  100129. | ^~~~~~~~~~~~~~~~~~~~~~~
  100130. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100131. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100132. 520 | NV_MEMDBG_ADD(ptr, size);
  100133. | ^
  100134. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100135. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100136. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100137. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100138. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100139. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100140. | ^
  100141. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100142. 573 | NV_MEMDBG_ADD(ptr, size);
  100143. | ^
  100144. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100145. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100146. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100147. | ^
  100148. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100149. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100150. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100151. | ^~~~~~~~~~~~~
  100152. | d_is_dir
  100153. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  100154. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  100155. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  100156. | ^~~~~~~~~~~~~~~~~~~~~~~
  100157. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100158. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100159. 520 | NV_MEMDBG_ADD(ptr, size);
  100160. | ^
  100161. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100162. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100163. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100164. | ^~~~~~~~~~~~~
  100165. | d_is_dir
  100166. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  100167. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  100168. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  100169. | ^~~~~~~~~~~~~~~~~~~~~~~
  100170. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100171. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  100172. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100173. 520 | NV_MEMDBG_ADD(ptr, size);
  100174. | ^
  100175. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  100176. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  100177. | ^~~~~~~~~~~~~~~~~~~~~~~
  100178. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100179. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100180. 520 | NV_MEMDBG_ADD(ptr, size);
  100181. | ^
  100182. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100183. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100184. 736 | return phys_to_dma(dev, pa);
  100185. | ^~~~~~~~~~~
  100186. | nv_phys_to_dma
  100187. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100188. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100189. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100190. | ^~~~~~~~~~~~~
  100191. | d_is_dir
  100192. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100193. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100194. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100195. | ^~~~~~~~~~~~~
  100196. | d_is_dir
  100197. nvidia/nv-nano-timer.c: In function 'nv_alloc_nano_timer':
  100198. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100199. 595 | NV_MEMDBG_ADD(ptr, size); \
  100200. | ^
  100201. nvidia/nv-nano-timer.c:86:5: note: in expansion of macro 'NV_KMALLOC'
  100202. 86 | NV_KMALLOC(nv_nstimer, sizeof(nv_nano_timer_t));
  100203. | ^~~~~~~~~~
  100204. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/sound/hdaudio.h:18,
  100205. from nvidia/nv.c:70:
  100206. /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h: In function 'snd_pcm_gettime':
  100207. /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]
  100208. 1292 | ktime_get_ts64(tv);
  100209. | ^~
  100210. | |
  100211. | struct timespec64 *
  100212. /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 *'
  100213. 43 | extern void ktime_get_ts64(struct timespec64 *ts);
  100214. | ~~~~~~~~~~~~~~~~~~~^~
  100215. /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]
  100216. 1295 | ktime_get_raw_ts64(tv);
  100217. | ^~
  100218. | |
  100219. | struct timespec64 *
  100220. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  100221. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  100222. | ~~~~~~~~~~~~~~~~~~~^~
  100223. /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]
  100224. 1298 | ktime_get_real_ts64(tv);
  100225. | ^~
  100226. | |
  100227. | struct timespec64 *
  100228. /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 *'
  100229. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  100230. | ~~~~~~~~~~~~~~~~~~~^~
  100231. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100232. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100233. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100234. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100235. nvidia/nv-pci.c: In function 'nv_pci_probe':
  100236. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100237. 602 | NV_MEMDBG_ADD(ptr, size); \
  100238. | ^
  100239. nvidia/nv-pci.c:396:5: note: in expansion of macro 'NV_KZALLOC'
  100240. 396 | NV_KZALLOC(nvl, sizeof(nv_linux_state_t));
  100241. | ^~~~~~~~~~
  100242. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100243. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100244. | ^
  100245. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100246. 573 | NV_MEMDBG_ADD(ptr, size);
  100247. | ^
  100248. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100249. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100250. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100251. | ^
  100252. nvidia/nv.c: In function 'nvos_create_alloc':
  100253. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100254. 602 | NV_MEMDBG_ADD(ptr, size); \
  100255. | ^
  100256. nvidia/nv.c:262:5: note: in expansion of macro 'NV_KZALLOC'
  100257. 262 | NV_KZALLOC(at, sizeof(nv_alloc_t));
  100258. | ^~~~~~~~~~
  100259. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-nano-timer.o] Error 1
  100260. nvidia/nv.c: At top level:
  100261. nvidia/nv.c:735:12: warning: no previous prototype for 'nvidia_init_module' [-Wmissing-prototypes]
  100262. 735 | int __init nvidia_init_module(void)
  100263. | ^~~~~~~~~~~~~~~~~~
  100264. nvidia/nv.c:855:6: warning: no previous prototype for 'nvidia_exit_module' [-Wmissing-prototypes]
  100265. 855 | void nvidia_exit_module(void)
  100266. | ^~~~~~~~~~~~~~~~~~
  100267. nvidia/nv.c: In function 'nv_alloc_file_private':
  100268. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100269. 602 | NV_MEMDBG_ADD(ptr, size); \
  100270. | ^
  100271. nvidia/nv.c:879:5: note: in expansion of macro 'NV_KZALLOC'
  100272. 879 | NV_KZALLOC(nvlfp, sizeof(nv_linux_file_private_t));
  100273. | ^~~~~~~~~~
  100274. nvidia/nv.c: At top level:
  100275. nvidia/nv.c:1124:23: warning: no previous prototype for 'nv_get_num_dpaux_instances' [-Wmissing-prototypes]
  100276. 1124 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances)
  100277. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100278. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100279. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100280. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100281. | ^~~~~~~~~~~~~
  100282. | d_is_dir
  100283. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  100284. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  100285. 533 | ptr = ioremap_cache_shared(phys, size);
  100286. | ^~~~~~~~~~~~~~~~~~~~
  100287. | ioremap_cache
  100288. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100289. 533 | ptr = ioremap_cache_shared(phys, size);
  100290. | ^
  100291. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100292. 556 | NV_MEMDBG_ADD(ptr, size);
  100293. | ^
  100294. CC [M] nvidia/os-mlock.o
  100295. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  100296. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100297. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100298. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100299. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100300. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100301. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100302. | ^
  100303. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100304. 573 | NV_MEMDBG_ADD(ptr, size);
  100305. | ^
  100306. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  100307. 533 | ptr = ioremap_cache_shared(phys, size);
  100308. | ^~~~~~~~~~~~~~~~~~~~
  100309. | ioremap_cache
  100310. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100311. 533 | ptr = ioremap_cache_shared(phys, size);
  100312. | ^
  100313. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100314. 556 | NV_MEMDBG_ADD(ptr, size);
  100315. | ^
  100316. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100317. nvidia/nv.c: In function 'nvidia_ioctl':
  100318. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100319. 595 | NV_MEMDBG_ADD(ptr, size); \
  100320. | ^
  100321. nvidia/nv.c:2104:5: note: in expansion of macro 'NV_KMALLOC'
  100322. 2104 | NV_KMALLOC(arg_copy, arg_size);
  100323. | ^~~~~~~~~~
  100324. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100325. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100326. | ^
  100327. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100328. 595 | NV_MEMDBG_ADD(ptr, size); \
  100329. | ^
  100330. nvidia/nv.c:2165:13: note: in expansion of macro 'NV_KMALLOC'
  100331. 2165 | NV_KMALLOC(nvlfp->attached_gpus, arg_size);
  100332. | ^~~~~~~~~~
  100333. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100334. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100335. 736 | return phys_to_dma(dev, pa);
  100336. | ^~~~~~~~~~~
  100337. | nv_phys_to_dma
  100338. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-usermap.o] Error 1
  100339. nvidia/nv.c: In function 'nv_map_guest_pages':
  100340. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100341. 595 | NV_MEMDBG_ADD(ptr, size); \
  100342. | ^
  100343. nvidia/nv.c:2805:5: note: in expansion of macro 'NV_KMALLOC'
  100344. 2805 | NV_KMALLOC(pages, sizeof(struct page *) * page_count);
  100345. | ^~~~~~~~~~
  100346. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dmabuf.o] Error 1
  100347. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  100348. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  100349. 533 | ptr = ioremap_cache_shared(phys, size);
  100350. | ^~~~~~~~~~~~~~~~~~~~
  100351. | ioremap_cache
  100352. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100353. 533 | ptr = ioremap_cache_shared(phys, size);
  100354. | ^
  100355. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100356. 556 | NV_MEMDBG_ADD(ptr, size);
  100357. | ^
  100358. CC [M] nvidia/os-pci.o
  100359. nvidia/nv.c: In function 'nv_alloc_kernel_mapping':
  100360. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100361. 595 | NV_MEMDBG_ADD(ptr, size); \
  100362. | ^
  100363. nvidia/nv.c:3282:13: note: in expansion of macro 'NV_KMALLOC'
  100364. 3282 | NV_KMALLOC(pages, sizeof(struct page *) * page_count);
  100365. | ^~~~~~~~~~
  100366. nvidia/nv.c: In function 'nv_post_event':
  100367. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100368. 609 | NV_MEMDBG_ADD(ptr, size); \
  100369. | ^
  100370. nvidia/nv.c:3554:9: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  100371. 3554 | NV_KMALLOC_ATOMIC(nvet, sizeof(nvidia_event_t));
  100372. | ^~~~~~~~~~~~~~~~~
  100373. CC [M] nvidia/os-registry.o
  100374. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  100375. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  100376. 533 | ptr = ioremap_cache_shared(phys, size);
  100377. | ^~~~~~~~~~~~~~~~~~~~
  100378. | ioremap_cache
  100379. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100380. 533 | ptr = ioremap_cache_shared(phys, size);
  100381. | ^
  100382. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100383. 556 | NV_MEMDBG_ADD(ptr, size);
  100384. | ^
  100385. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100386. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100387. 736 | return phys_to_dma(dev, pa);
  100388. | ^~~~~~~~~~~
  100389. | nv_phys_to_dma
  100390. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pci.o] Error 1
  100391. In file included from ././common/inc/conftest.h:28,
  100392. from ././common/inc/nv_stdarg.h:29,
  100393. from ././common/inc/os-interface.h:40,
  100394. from nvidia/os-mlock.c:26:
  100395. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  100396. 74 | #error dma_buf_export() conftest failed!
  100397. | ^~~~~
  100398. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  100399. 87 | #error wait_on_bit_lock() conftest failed!
  100400. | ^~~~~
  100401. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  100402. 90 | #error radix_tree_replace_slot() conftest failed!
  100403. | ^~~~~
  100404. CC [M] nvidia/os-usermap.o
  100405. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  100406. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  100407. 533 | ptr = ioremap_cache_shared(phys, size);
  100408. | ^~~~~~~~~~~~~~~~~~~~
  100409. | ioremap_cache
  100410. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100411. 533 | ptr = ioremap_cache_shared(phys, size);
  100412. | ^
  100413. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100414. 556 | NV_MEMDBG_ADD(ptr, size);
  100415. | ^
  100416. In file included from ././common/inc/conftest.h:28,
  100417. from ././common/inc/nv_stdarg.h:29,
  100418. from ././common/inc/os-interface.h:40,
  100419. from nvidia/os-pci.c:26:
  100420. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  100421. 74 | #error dma_buf_export() conftest failed!
  100422. | ^~~~~
  100423. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  100424. 87 | #error wait_on_bit_lock() conftest failed!
  100425. | ^~~~~
  100426. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  100427. 90 | #error radix_tree_replace_slot() conftest failed!
  100428. | ^~~~~
  100429. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  100430. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  100431. 533 | ptr = ioremap_cache_shared(phys, size);
  100432. | ^~~~~~~~~~~~~~~~~~~~
  100433. | ioremap_cache
  100434. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100435. 533 | ptr = ioremap_cache_shared(phys, size);
  100436. | ^
  100437. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100438. 556 | NV_MEMDBG_ADD(ptr, size);
  100439. | ^
  100440. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  100441. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  100442. 533 | ptr = ioremap_cache_shared(phys, size);
  100443. | ^~~~~~~~~~~~~~~~~~~~
  100444. | ioremap_cache
  100445. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100446. 533 | ptr = ioremap_cache_shared(phys, size);
  100447. | ^
  100448. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100449. 556 | NV_MEMDBG_ADD(ptr, size);
  100450. | ^
  100451. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100452. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100453. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100454. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100455. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100456. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100457. | ^
  100458. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100459. 573 | NV_MEMDBG_ADD(ptr, size);
  100460. | ^
  100461. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100462. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100463. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100464. | ^
  100465. In file included from ././common/inc/conftest.h:28,
  100466. from ././common/inc/nv_stdarg.h:29,
  100467. from ././common/inc/os-interface.h:40,
  100468. from nvidia/os-registry.c:26:
  100469. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  100470. 74 | #error dma_buf_export() conftest failed!
  100471. | ^~~~~
  100472. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  100473. 87 | #error wait_on_bit_lock() conftest failed!
  100474. | ^~~~~
  100475. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  100476. 90 | #error radix_tree_replace_slot() conftest failed!
  100477. | ^~~~~
  100478. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100479. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100480. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100481. | ^~~~~~~~~~~~~
  100482. | d_is_dir
  100483. In file included from ././common/inc/conftest.h:28,
  100484. from ././common/inc/nv_stdarg.h:29,
  100485. from ././common/inc/os-interface.h:40,
  100486. from nvidia/os-usermap.c:26:
  100487. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  100488. 74 | #error dma_buf_export() conftest failed!
  100489. | ^~~~~
  100490. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  100491. 87 | #error wait_on_bit_lock() conftest failed!
  100492. | ^~~~~
  100493. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  100494. 90 | #error radix_tree_replace_slot() conftest failed!
  100495. | ^~~~~
  100496. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pat.o] Error 1
  100497. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100498. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100499. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100500. | ^~~~~~~~~~~~~
  100501. | d_is_dir
  100502. CC [M] nvidia/nv-modeset-interface.o
  100503. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100504. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100505. 736 | return phys_to_dma(dev, pa);
  100506. | ^~~~~~~~~~~
  100507. | nv_phys_to_dma
  100508. nvidia/nv-mmap.c: At top level:
  100509. 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]
  100510. 299 | .fault = nvidia_fault,
  100511. | ^~~~~~~~~~~~
  100512. nvidia/nv-mmap.c:299:15: note: (near initialization for 'nv_vm_ops.fault')
  100513. nvidia/nv-mmap.c:201:19: note: 'nvidia_fault' declared here
  100514. 201 | static vm_fault_t nvidia_fault(
  100515. | ^~~~~~~~~~~~
  100516. 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]
  100517. 303 | int nv_encode_caching(
  100518. | ^~~~~~~~~~~~~~~~~
  100519. In file included from ././common/inc/nv-linux.h:1761:
  100520. ././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)'}
  100521. 46 | int nv_encode_caching (pgprot_t *, NvU32, NvU32);
  100522. | ^~~~~~~~~~~~~~~~~
  100523. nvidia/nv-mmap.c:371:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  100524. 371 | int static nvidia_mmap_peer_io(
  100525. | ^~~
  100526. nvidia/nv-mmap.c:392:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  100527. 392 | int static nvidia_mmap_sysmem(
  100528. | ^~~
  100529. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv.o] Error 1
  100530. In file included from ././common/inc/conftest.h:28,
  100531. from ././common/inc/nv_stdarg.h:29,
  100532. from ././common/inc/os-interface.h:40,
  100533. from nvidia/nv-modeset-interface.c:26:
  100534. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  100535. 74 | #error dma_buf_export() conftest failed!
  100536. | ^~~~~
  100537. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  100538. 87 | #error wait_on_bit_lock() conftest failed!
  100539. | ^~~~~
  100540. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  100541. 90 | #error radix_tree_replace_slot() conftest failed!
  100542. | ^~~~~
  100543. nvidia/nv-procfs.c: In function 'nv_procfs_open_file':
  100544. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100545. 602 | NV_MEMDBG_ADD(ptr, size); \
  100546. | ^
  100547. nvidia/nv-procfs.c:276:5: note: in expansion of macro 'NV_KZALLOC'
  100548. 276 | NV_KZALLOC(nvpp, sizeof(nv_procfs_private_t));
  100549. | ^~~~~~~~~~
  100550. CC [M] nvidia/nv-kthread-q.o
  100551. nvidia/nv-procfs.c: At top level:
  100552. nvidia/nv-procfs.c:698:1: warning: no previous prototype for 'exercise_error_forwarding_va' [-Wmissing-prototypes]
  100553. 698 | exercise_error_forwarding_va(
  100554. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100555. In file included from ././common/inc/nv-procfs.h:26,
  100556. from nvidia/nv-procfs.c:31:
  100557. nvidia/nv-procfs.c: In function 'nv_procfs_add_text_file':
  100558. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100559. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100560. | ^~~~
  100561. | |
  100562. | const nv_proc_ops_t * {aka const struct file_operations *}
  100563. nvidia/nv-procfs.c:1312:5: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100564. 1312 | NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text);
  100565. | ^~~~~~~~~~~~~~~~~~~
  100566. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  100567. from ././common/inc/nv-linux.h:220:
  100568. /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 *'}
  100569. 111 | const struct proc_ops *,
  100570. | ^~~~~~~~~~~~~~~~~~~~~~~
  100571. nvidia/nv-procfs.c: In function 'nv_procfs_init':
  100572. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100573. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100574. | ^~~~
  100575. | |
  100576. | const nv_proc_ops_t * {aka const struct file_operations *}
  100577. nvidia/nv-procfs.c:1342:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100578. 1342 | entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL);
  100579. | ^~~~~~~~~~~~~~~~~~~
  100580. /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 *'}
  100581. 111 | const struct proc_ops *,
  100582. | ^~~~~~~~~~~~~~~~~~~~~~~
  100583. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100584. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100585. | ^~~~
  100586. | |
  100587. | const nv_proc_ops_t * {aka const struct file_operations *}
  100588. nvidia/nv-procfs.c:1346:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100589. 1346 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL);
  100590. | ^~~~~~~~~~~~~~~~~~~
  100591. /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 *'}
  100592. 111 | const struct proc_ops *,
  100593. | ^~~~~~~~~~~~~~~~~~~~~~~
  100594. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100595. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100596. | ^~~~
  100597. | |
  100598. | const nv_proc_ops_t * {aka const struct file_operations *}
  100599. nvidia/nv-procfs.c:1351:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100600. 1351 | entry = NV_CREATE_PROC_FILE("suspend_depth", proc_nvidia, suspend_depth, NULL);
  100601. | ^~~~~~~~~~~~~~~~~~~
  100602. /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 *'}
  100603. 111 | const struct proc_ops *,
  100604. | ^~~~~~~~~~~~~~~~~~~~~~~
  100605. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100606. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100607. | ^~~~
  100608. | |
  100609. | const nv_proc_ops_t * {aka const struct file_operations *}
  100610. nvidia/nv-procfs.c:1355:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100611. 1355 | entry = NV_CREATE_PROC_FILE("suspend", proc_nvidia, suspend, NULL);
  100612. | ^~~~~~~~~~~~~~~~~~~
  100613. /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 *'}
  100614. 111 | const struct proc_ops *,
  100615. | ^~~~~~~~~~~~~~~~~~~~~~~
  100616. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100617. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100618. | ^~~~
  100619. | |
  100620. | const nv_proc_ops_t * {aka const struct file_operations *}
  100621. nvidia/nv-procfs.c:1377:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100622. 1377 | entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL);
  100623. | ^~~~~~~~~~~~~~~~~~~
  100624. /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 *'}
  100625. 111 | const struct proc_ops *,
  100626. | ^~~~~~~~~~~~~~~~~~~~~~~
  100627. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100628. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100629. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100630. | ^~~~~~~~~~~~~
  100631. | d_is_dir
  100632. nvidia/nv-procfs.c: In function 'nv_procfs_add_gpu':
  100633. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100634. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100635. | ^~~~
  100636. | |
  100637. | const nv_proc_ops_t * {aka const struct file_operations *}
  100638. nvidia/nv-procfs.c:1419:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100639. 1419 | entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info,
  100640. | ^~~~~~~~~~~~~~~~~~~
  100641. /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 *'}
  100642. 111 | const struct proc_ops *,
  100643. | ^~~~~~~~~~~~~~~~~~~~~~~
  100644. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100645. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100646. | ^~~~
  100647. | |
  100648. | const nv_proc_ops_t * {aka const struct file_operations *}
  100649. nvidia/nv-procfs.c:1424:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100650. 1424 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv);
  100651. | ^~~~~~~~~~~~~~~~~~~
  100652. /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 *'}
  100653. 111 | const struct proc_ops *,
  100654. | ^~~~~~~~~~~~~~~~~~~~~~~
  100655. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100656. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100657. | ^~~~
  100658. | |
  100659. | const nv_proc_ops_t * {aka const struct file_operations *}
  100660. nvidia/nv-procfs.c:1428:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100661. 1428 | entry = NV_CREATE_PROC_FILE("power", proc_nvidia_gpu, power, nv);
  100662. | ^~~~~~~~~~~~~~~~~~~
  100663. /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 *'}
  100664. 111 | const struct proc_ops *,
  100665. | ^~~~~~~~~~~~~~~~~~~~~~~
  100666. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100667. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100668. | ^~~~
  100669. | |
  100670. | const nv_proc_ops_t * {aka const struct file_operations *}
  100671. nvidia/nv-procfs.c:1434:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100672. 1434 | entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu,
  100673. | ^~~~~~~~~~~~~~~~~~~
  100674. /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 *'}
  100675. 111 | const struct proc_ops *,
  100676. | ^~~~~~~~~~~~~~~~~~~~~~~
  100677. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100678. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100679. | ^~~~
  100680. | |
  100681. | const nv_proc_ops_t * {aka const struct file_operations *}
  100682. nvidia/nv-procfs.c:1442:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100683. 1442 | entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv);
  100684. | ^~~~~~~~~~~~~~~~~~~
  100685. /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 *'}
  100686. 111 | const struct proc_ops *,
  100687. | ^~~~~~~~~~~~~~~~~~~~~~~
  100688. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100689. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100690. | ^~~~
  100691. | |
  100692. | const nv_proc_ops_t * {aka const struct file_operations *}
  100693. nvidia/nv-procfs.c:1449:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100694. 1449 | entry = NV_CREATE_PROC_FILE("numa_status", proc_nvidia_gpu, numa_status,
  100695. | ^~~~~~~~~~~~~~~~~~~
  100696. /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 *'}
  100697. 111 | const struct proc_ops *,
  100698. | ^~~~~~~~~~~~~~~~~~~~~~~
  100699. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  100700. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  100701. | ^~~~
  100702. | |
  100703. | const nv_proc_ops_t * {aka const struct file_operations *}
  100704. nvidia/nv-procfs.c:1454:17: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  100705. 1454 | entry = NV_CREATE_PROC_FILE("offline_pages", proc_nvidia_gpu, offline_pages,
  100706. | ^~~~~~~~~~~~~~~~~~~
  100707. /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 *'}
  100708. 111 | const struct proc_ops *,
  100709. | ^~~~~~~~~~~~~~~~~~~~~~~
  100710. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100711. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100712. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100713. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100714. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100715. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100716. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100717. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100718. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100719. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100720. | ^
  100721. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100722. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100723. | ^
  100724. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100725. 573 | NV_MEMDBG_ADD(ptr, size);
  100726. | ^
  100727. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100728. 573 | NV_MEMDBG_ADD(ptr, size);
  100729. | ^
  100730. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100731. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100732. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100733. | ^
  100734. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100735. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100736. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100737. | ^
  100738. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100739. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100740. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100741. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100742. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100743. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100744. | ^
  100745. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100746. 573 | NV_MEMDBG_ADD(ptr, size);
  100747. | ^
  100748. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100749. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100750. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100751. | ^
  100752. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-mmap.o] Error 1
  100753. CC [M] nvidia/nv-memdbg.o
  100754. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100755. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100756. 736 | return phys_to_dma(dev, pa);
  100757. | ^~~~~~~~~~~
  100758. | nv_phys_to_dma
  100759. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100760. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100761. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100762. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100763. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100764. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100765. | ^
  100766. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100767. 573 | NV_MEMDBG_ADD(ptr, size);
  100768. | ^
  100769. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100770. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100771. 736 | return phys_to_dma(dev, pa);
  100772. | ^~~~~~~~~~~
  100773. | nv_phys_to_dma
  100774. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100775. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100776. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100777. | ^
  100778. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100779. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100780. 736 | return phys_to_dma(dev, pa);
  100781. | ^~~~~~~~~~~
  100782. | nv_phys_to_dma
  100783. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100784. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100785. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100786. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100787. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100788. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100789. | ^
  100790. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100791. 573 | NV_MEMDBG_ADD(ptr, size);
  100792. | ^
  100793. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100794. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100795. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100796. | ^
  100797. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-procfs.o] Error 1
  100798. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100799. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100800. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100801. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100802. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100803. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100804. | ^
  100805. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100806. 573 | NV_MEMDBG_ADD(ptr, size);
  100807. | ^
  100808. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100809. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100810. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100811. | ^
  100812. In file included from ././common/inc/conftest.h:28,
  100813. from ././common/inc/nv_stdarg.h:29,
  100814. from ././common/inc/nv.h:41,
  100815. from ././common/inc/nv-linux.h:28,
  100816. from nvidia/nv-memdbg.c:25:
  100817. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  100818. 74 | #error dma_buf_export() conftest failed!
  100819. | ^~~~~
  100820. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  100821. 87 | #error wait_on_bit_lock() conftest failed!
  100822. | ^~~~~
  100823. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  100824. 90 | #error radix_tree_replace_slot() conftest failed!
  100825. | ^~~~~
  100826. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  100827. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  100828. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100829. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  100830. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  100831. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  100832. | ^
  100833. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100834. 573 | NV_MEMDBG_ADD(ptr, size);
  100835. | ^
  100836. CC [M] nvidia/nv-ibmnpu.o
  100837. ././common/inc/nv-linux.h: In function 'nv_vmap':
  100838. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100839. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  100840. | ^
  100841. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100842. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100843. 736 | return phys_to_dma(dev, pa);
  100844. | ^~~~~~~~~~~
  100845. | nv_phys_to_dma
  100846. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100847. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100848. 736 | return phys_to_dma(dev, pa);
  100849. | ^~~~~~~~~~~
  100850. | nv_phys_to_dma
  100851. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-i2c.o] Error 1
  100852. CC [M] nvidia/nv-report-err.o
  100853. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100854. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100855. 736 | return phys_to_dma(dev, pa);
  100856. | ^~~~~~~~~~~
  100857. | nv_phys_to_dma
  100858. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100859. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100860. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100861. | ^~~~~~~~~~~~~
  100862. | d_is_dir
  100863. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  100864. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  100865. 736 | return phys_to_dma(dev, pa);
  100866. | ^~~~~~~~~~~
  100867. | nv_phys_to_dma
  100868. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100869. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100870. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100871. | ^~~~~~~~~~~~~
  100872. | d_is_dir
  100873. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100874. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100875. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100876. | ^~~~~~~~~~~~~
  100877. | d_is_dir
  100878. In file included from ././common/inc/conftest.h:28,
  100879. from ././common/inc/nv_stdarg.h:29,
  100880. from ././common/inc/nv.h:41,
  100881. from ././common/inc/nv-linux.h:28,
  100882. from nvidia/nv-ibmnpu.c:27:
  100883. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  100884. 74 | #error dma_buf_export() conftest failed!
  100885. | ^~~~~
  100886. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  100887. 87 | #error wait_on_bit_lock() conftest failed!
  100888. | ^~~~~
  100889. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  100890. 90 | #error radix_tree_replace_slot() conftest failed!
  100891. | ^~~~~
  100892. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100893. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100894. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100895. | ^~~~~~~~~~~~~
  100896. | d_is_dir
  100897. In file included from ././common/inc/conftest.h:28,
  100898. from ././common/inc/nv_stdarg.h:29,
  100899. from ././common/inc/nv.h:41,
  100900. from ././common/inc/nv-linux.h:28,
  100901. from nvidia/nv-report-err.c:25:
  100902. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  100903. 74 | #error dma_buf_export() conftest failed!
  100904. | ^~~~~
  100905. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  100906. 87 | #error wait_on_bit_lock() conftest failed!
  100907. | ^~~~~
  100908. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  100909. 90 | #error radix_tree_replace_slot() conftest failed!
  100910. | ^~~~~
  100911. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100912. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100913. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100914. | ^~~~~~~~~~~~~
  100915. | d_is_dir
  100916. nvidia/nv-dma.c: At top level:
  100917. nvidia/nv-dma.c:293:6: warning: no previous prototype for 'nv_load_dma_map_scatterlist' [-Wmissing-prototypes]
  100918. 293 | void nv_load_dma_map_scatterlist(
  100919. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  100920. nvidia/nv-dma.c:489:23: warning: no previous prototype for 'nv_dma_unmap_sgt' [-Wmissing-prototypes]
  100921. 489 | NV_STATUS NV_API_CALL nv_dma_unmap_sgt(
  100922. | ^~~~~~~~~~~~~~~~
  100923. nvidia/os-interface.c: At top level:
  100924. nvidia/os-interface.c:370:7: warning: no previous prototype for 'os_mem_copy_custom' [-Wmissing-prototypes]
  100925. 370 | void *os_mem_copy_custom(
  100926. | ^~~~~~~~~~~~~~~~~~
  100927. nvidia/os-interface.c: In function 'os_alloc_mem':
  100928. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100929. 609 | NV_MEMDBG_ADD(ptr, size); \
  100930. | ^
  100931. nvidia/os-interface.c:584:13: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  100932. 584 | NV_KMALLOC_ATOMIC(*address, alloc_size);
  100933. | ^~~~~~~~~~~~~~~~~
  100934. ././common/inc/nv-linux.h:624:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  100935. 624 | NV_MEMDBG_ADD(ptr, size); \
  100936. | ^
  100937. nvidia/os-interface.c:590:13: note: in expansion of macro 'NV_KMALLOC_NO_OOM'
  100938. 590 | NV_KMALLOC_NO_OOM(*address, alloc_size);
  100939. | ^~~~~~~~~~~~~~~~~
  100940. nvidia/os-interface.c: In function 'os_get_current_time':
  100941. nvidia/os-interface.c:633:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  100942. 633 | ktime_get_real_ts64(&tm);
  100943. | ^~~
  100944. | |
  100945. | struct timespec64 *
  100946. /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 *'
  100947. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  100948. | ~~~~~~~~~~~~~~~~~~~^~
  100949. nvidia/os-interface.c: In function 'os_get_current_tick_hr':
  100950. nvidia/os-interface.c:647:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  100951. 647 | ktime_get_raw_ts64(&tm);
  100952. | ^~~
  100953. | |
  100954. | struct timespec64 *
  100955. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  100956. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  100957. | ~~~~~~~~~~~~~~~~~~~^~
  100958. nvidia/os-interface.c: In function 'os_get_current_tick':
  100959. nvidia/os-interface.c:656:21: error: storage size of 'ts' isn't known
  100960. 656 | struct timespec ts;
  100961. | ^~
  100962. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100963. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100964. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100965. | ^~~~~~~~~~~~~
  100966. | d_is_dir
  100967. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  100968. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  100969. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  100970. | ^~~~~~~~~~~~~
  100971. | d_is_dir
  100972. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dma.o] Error 1
  100973. CC [M] nvidia/nv-rsync.o
  100974. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-cray.o] Error 1
  100975. nvidia/os-interface.c:657:5: error: implicit declaration of function 'jiffies_to_timespec'; did you mean 'jiffies_to_timespec64'? [-Wimplicit-function-declaration]
  100976. 657 | jiffies_to_timespec(jiffies, &ts);
  100977. | ^~~~~~~~~~~~~~~~~~~
  100978. | jiffies_to_timespec64
  100979. CC [M] nvidia/nv-msi.o
  100980. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vtophys.o] Error 1
  100981. CC [M] nvidia/nv-caps.o
  100982. nvidia/os-interface.c:658:20: error: implicit declaration of function 'timespec_to_ns'; did you mean 'timespec64_to_ns'? [-Wimplicit-function-declaration]
  100983. 658 | return (NvU64) timespec_to_ns(&ts);
  100984. | ^~~~~~~~~~~~~~
  100985. | timespec64_to_ns
  100986. nvidia/os-interface.c:656:21: warning: unused variable 'ts' [-Wunused-variable]
  100987. 656 | struct timespec ts;
  100988. | ^~
  100989. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-p2p.o] Error 1
  100990. In file included from ././common/inc/conftest.h:28,
  100991. from ././common/inc/nv_stdarg.h:29,
  100992. from ././common/inc/nv.h:41,
  100993. from ././common/inc/nv-linux.h:28,
  100994. from nvidia/nv-rsync.c:24:
  100995. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  100996. 74 | #error dma_buf_export() conftest failed!
  100997. | ^~~~~
  100998. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  100999. 87 | #error wait_on_bit_lock() conftest failed!
  101000. | ^~~~~
  101001. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101002. 90 | #error radix_tree_replace_slot() conftest failed!
  101003. | ^~~~~
  101004. CC [M] nvidia/nv-frontend.o
  101005. nvidia/os-interface.c: In function 'os_queue_work_item':
  101006. ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  101007. 609 | NV_MEMDBG_ADD(ptr, size); \
  101008. | ^
  101009. nvidia/os-interface.c:1113:5: note: in expansion of macro 'NV_KMALLOC_ATOMIC'
  101010. 1113 | NV_KMALLOC_ATOMIC(oqd, sizeof(os_queue_data_t));
  101011. | ^~~~~~~~~~~~~~~~~
  101012. In file included from ././common/inc/conftest.h:28,
  101013. from ././common/inc/nv_stdarg.h:29,
  101014. from ././common/inc/nv.h:41,
  101015. from ././common/inc/nv-linux.h:28,
  101016. from ././common/inc/nv-msi.h:27,
  101017. from nvidia/nv-msi.c:24:
  101018. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101019. 74 | #error dma_buf_export() conftest failed!
  101020. | ^~~~~
  101021. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101022. 87 | #error wait_on_bit_lock() conftest failed!
  101023. | ^~~~~
  101024. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101025. 90 | #error radix_tree_replace_slot() conftest failed!
  101026. | ^~~~~
  101027. nvidia/nv-vm.c: In function 'nv_set_memory_array_type':
  101028. 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]
  101029. 92 | set_memory_array_uc(pages, num_pages);
  101030. | ^~~~~~~~~~~~~~~~~~~
  101031. | set_pages_array_uc
  101032. nvidia/os-interface.c: In function 'os_write_file':
  101033. nvidia/os-interface.c:1792:54: error: passing argument 4 of 'kernel_write' makes pointer from integer without a cast [-Wint-conversion]
  101034. 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos);
  101035. | ^~~~~
  101036. | |
  101037. | loff_t {aka long long int}
  101038. nvidia/os-interface.c:1792:54: note: possible fix: take the address with '&'
  101039. 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos);
  101040. | ^~~~~
  101041. | &
  101042. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7,
  101043. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133:
  101044. /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'}
  101045. 3189 | extern ssize_t kernel_write(struct file *, const void *, size_t, loff_t *);
  101046. | ^~~~~~~~
  101047. nvidia/os-interface.c: In function 'os_read_file':
  101048. nvidia/os-interface.c:1832:35: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  101049. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  101050. | ^~~~~
  101051. | |
  101052. | loff_t {aka long long int}
  101053. /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'}
  101054. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  101055. | ^~~~~~
  101056. nvidia/os-interface.c:1832:42: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion]
  101057. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  101058. | ^~~~~~~
  101059. | |
  101060. | NvU8 * {aka unsigned char *}
  101061. /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 *'}
  101062. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  101063. | ^~~~~~
  101064. nvidia/os-interface.c:1832:51: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion]
  101065. 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size);
  101066. | ^~~~
  101067. | |
  101068. | NvU64 {aka long long unsigned int}
  101069. /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'}
  101070. 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
  101071. | ^~~~~~~~
  101072. nvidia/os-interface.c: In function 'os_alloc_wait_queue':
  101073. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  101074. 595 | NV_MEMDBG_ADD(ptr, size); \
  101075. | ^
  101076. nvidia/os-interface.c:1945:5: note: in expansion of macro 'NV_KMALLOC'
  101077. 1945 | NV_KMALLOC(*wq, sizeof(os_wait_queue));
  101078. | ^~~~~~~~~~
  101079. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-acpi.o] Error 1
  101080. CC [M] nvidia/nv_uvm_interface.o
  101081. In file included from ././common/inc/conftest.h:28,
  101082. from ././common/inc/nv_stdarg.h:29,
  101083. from ././common/inc/nv.h:41,
  101084. from ././common/inc/nv-linux.h:28,
  101085. from nvidia/nv-caps.c:24:
  101086. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101087. 74 | #error dma_buf_export() conftest failed!
  101088. | ^~~~~
  101089. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101090. 87 | #error wait_on_bit_lock() conftest failed!
  101091. | ^~~~~
  101092. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101093. 90 | #error radix_tree_replace_slot() conftest failed!
  101094. | ^~~~~
  101095. In file included from ././common/inc/conftest.h:28,
  101096. from ././common/inc/nv_stdarg.h:29,
  101097. from ././common/inc/os-interface.h:40,
  101098. from nvidia/nv-frontend.c:24:
  101099. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101100. 74 | #error dma_buf_export() conftest failed!
  101101. | ^~~~~
  101102. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101103. 87 | #error wait_on_bit_lock() conftest failed!
  101104. | ^~~~~
  101105. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101106. 90 | #error radix_tree_replace_slot() conftest failed!
  101107. | ^~~~~
  101108. In file included from ././common/inc/conftest.h:28,
  101109. from ././common/inc/nv_stdarg.h:29,
  101110. from ././common/inc/os-interface.h:40,
  101111. from nvidia/nv_uvm_interface.c:32:
  101112. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101113. 74 | #error dma_buf_export() conftest failed!
  101114. | ^~~~~
  101115. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101116. 87 | #error wait_on_bit_lock() conftest failed!
  101117. | ^~~~~
  101118. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101119. 90 | #error radix_tree_replace_slot() conftest failed!
  101120. | ^~~~~
  101121. In file included from ././common/inc/conftest.h:28,
  101122. from ././common/inc/nv-kthread-q.h:33,
  101123. from nvidia/nv-kthread-q.c:24:
  101124. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101125. 74 | #error dma_buf_export() conftest failed!
  101126. | ^~~~~
  101127. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101128. 87 | #error wait_on_bit_lock() conftest failed!
  101129. | ^~~~~
  101130. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101131. 90 | #error radix_tree_replace_slot() conftest failed!
  101132. | ^~~~~
  101133. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-interface.o] Error 1
  101134. CC [M] nvidia/libspdm_aead.o
  101135. 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]
  101136. 95 | set_memory_array_wb(pages, num_pages);
  101137. | ^~~~~~~~~~~~~~~~~~~
  101138. | set_pages_array_wb
  101139. In file included from ././common/inc/conftest.h:28,
  101140. from nvidia/internal_crypt_lib.h:32,
  101141. from nvidia/libspdm_aead.c:24:
  101142. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101143. 74 | #error dma_buf_export() conftest failed!
  101144. | ^~~~~
  101145. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101146. 87 | #error wait_on_bit_lock() conftest failed!
  101147. | ^~~~~
  101148. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101149. 90 | #error radix_tree_replace_slot() conftest failed!
  101150. | ^~~~~
  101151. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vm.o] Error 1
  101152. CC [M] nvidia/libspdm_hkdf.o
  101153. In file included from ././common/inc/conftest.h:28,
  101154. from nvidia/internal_crypt_lib.h:32,
  101155. from nvidia/libspdm_hkdf.c:24:
  101156. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101157. 74 | #error dma_buf_export() conftest failed!
  101158. | ^~~~~
  101159. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101160. 87 | #error wait_on_bit_lock() conftest failed!
  101161. | ^~~~~
  101162. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101163. 90 | #error radix_tree_replace_slot() conftest failed!
  101164. | ^~~~~
  101165. nvidia/libspdm_aead.c:41:5: warning: no previous prototype for 'libspdm_aead_prealloc' [-Wmissing-prototypes]
  101166. 41 | int libspdm_aead_prealloc(void **context, char const *alg)
  101167. | ^~~~~~~~~~~~~~~~~~~~~
  101168. nvidia/libspdm_aead.c:171:5: warning: no previous prototype for 'libspdm_aead_prealloced' [-Wmissing-prototypes]
  101169. 171 | int libspdm_aead_prealloced(void *context,
  101170. | ^~~~~~~~~~~~~~~~~~~~~~~
  101171. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_aead.o] Error 1
  101172. CC [M] nvidia/libspdm_shash.o
  101173. In file included from ././common/inc/conftest.h:28,
  101174. from nvidia/internal_crypt_lib.h:32,
  101175. from nvidia/libspdm_shash.c:24:
  101176. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101177. 74 | #error dma_buf_export() conftest failed!
  101178. | ^~~~~
  101179. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101180. 87 | #error wait_on_bit_lock() conftest failed!
  101181. | ^~~~~
  101182. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101183. 90 | #error radix_tree_replace_slot() conftest failed!
  101184. | ^~~~~
  101185. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_hkdf.o] Error 1
  101186. CC [M] nvidia/nvlink_linux.o
  101187. In file included from ././common/inc/conftest.h:28,
  101188. from nvidia/nvlink_linux.c:24:
  101189. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101190. 74 | #error dma_buf_export() conftest failed!
  101191. | ^~~~~
  101192. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101193. 87 | #error wait_on_bit_lock() conftest failed!
  101194. | ^~~~~
  101195. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101196. 90 | #error radix_tree_replace_slot() conftest failed!
  101197. | ^~~~~
  101198. In file included from ././common/inc/nv-linux.h:34,
  101199. from nvidia/os-mlock.c:27:
  101200. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  101201. 29 | typedef int vm_fault_t;
  101202. | ^~~~~~~~~~
  101203. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  101204. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  101205. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  101206. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  101207. from ././common/inc/nv-lock.h:35,
  101208. from ././common/inc/nv-linux.h:32:
  101209. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  101210. 1311 | typedef __bitwise unsigned int vm_fault_t;
  101211. | ^~~~~~~~~~
  101212. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  101213. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  101214. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  101215. from ././common/inc/nv-lock.h:29:
  101216. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  101217. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101218. 52 | #define current get_current()
  101219. | ^~~~~~~~~~~~~
  101220. | |
  101221. | struct task_struct *
  101222. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  101223. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101224. | ^~~~~~~
  101225. In file included from ././common/inc/nv-pgprot.h:30,
  101226. from ././common/inc/nv-linux.h:33:
  101227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  101228. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101229. | ~~~~~~~~~~~~~~^~~~~
  101230. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101231. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101233. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101234. | ~~~~~~~~~~~~~~^~~~~~~~
  101235. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101236. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101237. | ^~~~~~~~
  101238. | |
  101239. | long unsigned int
  101240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101241. 2535 | unsigned int gup_flags, struct page **pages);
  101242. | ~~~~~~~~~~~~~~^~~~~
  101243. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101244. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101245. | ^~~~~~~~~~~~~~ ~~~~~
  101246. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101247. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101248. | ^~~~~~~~~~~~~~
  101249. In file included from ././common/inc/nv.h:35,
  101250. from ././common/inc/nv-linux.h:28:
  101251. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  101252. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101253. 8 | #define NULL ((void *)0)
  101254. | ^~~~~~~~~~~
  101255. | |
  101256. | void *
  101257. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  101258. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101259. | ^~~~
  101260. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  101261. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101262. | ~~~~~~~~~~~~~~^~~~~
  101263. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101264. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101265. | ^~
  101266. | |
  101267. | struct mm_struct *
  101268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101269. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101270. | ~~~~~~~~~~~~~~^~~~~~~~
  101271. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101272. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101273. | ^~~~~~~~
  101274. | |
  101275. | long unsigned int
  101276. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101277. 2535 | unsigned int gup_flags, struct page **pages);
  101278. | ~~~~~~~~~~~~~~^~~~~
  101279. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101280. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101281. | ^~~~~~~~~~~~~~ ~~~~~
  101282. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101283. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101284. | ^~~~~~~~~~~~~~
  101285. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  101286. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  101287. 237 | return (unsigned long)(vmf->virtual_address);
  101288. | ^~~~~~~~~~~~~~~
  101289. | real_address
  101290. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  101291. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101292. 246 | down_read(&mm->mmap_sem);
  101293. | ^~~~~~~~
  101294. | mmap_base
  101295. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  101296. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101297. 255 | up_read(&mm->mmap_sem);
  101298. | ^~~~~~~~
  101299. | mmap_base
  101300. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  101301. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101302. 264 | down_write(&mm->mmap_sem);
  101303. | ^~~~~~~~
  101304. | mmap_base
  101305. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  101306. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101307. 273 | up_write(&mm->mmap_sem);
  101308. | ^~~~~~~~
  101309. | mmap_base
  101310. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  101311. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101312. 282 | return rwsem_is_locked(&mm->mmap_sem);
  101313. | ^~~~~~~~
  101314. | mmap_base
  101315. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  101316. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101317. 291 | return &mm->mmap_sem;
  101318. | ^~~~~~~~
  101319. | mmap_base
  101320. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  101321. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  101322. 300 | vma->vm_flags |= flags;
  101323. | ^~
  101324. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  101325. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  101326. 309 | vma->vm_flags &= ~flags;
  101327. | ^~
  101328. In file included from ././common/inc/nv-linux.h:34,
  101329. from nvidia/os-pci.c:27:
  101330. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  101331. 29 | typedef int vm_fault_t;
  101332. | ^~~~~~~~~~
  101333. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  101334. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  101335. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  101336. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  101337. from ././common/inc/nv-lock.h:35,
  101338. from ././common/inc/nv-linux.h:32:
  101339. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  101340. 1311 | typedef __bitwise unsigned int vm_fault_t;
  101341. | ^~~~~~~~~~
  101342. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  101343. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  101344. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  101345. from ././common/inc/nv-lock.h:29:
  101346. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  101347. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101348. 52 | #define current get_current()
  101349. | ^~~~~~~~~~~~~
  101350. | |
  101351. | struct task_struct *
  101352. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  101353. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101354. | ^~~~~~~
  101355. In file included from ././common/inc/nv-pgprot.h:30,
  101356. from ././common/inc/nv-linux.h:33:
  101357. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  101358. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101359. | ~~~~~~~~~~~~~~^~~~~
  101360. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101361. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101362. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101363. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101364. | ~~~~~~~~~~~~~~^~~~~~~~
  101365. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101366. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101367. | ^~~~~~~~
  101368. | |
  101369. | long unsigned int
  101370. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101371. 2535 | unsigned int gup_flags, struct page **pages);
  101372. | ~~~~~~~~~~~~~~^~~~~
  101373. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101374. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101375. | ^~~~~~~~~~~~~~ ~~~~~
  101376. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101377. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101378. | ^~~~~~~~~~~~~~
  101379. In file included from ././common/inc/nv.h:35,
  101380. from ././common/inc/nv-linux.h:28:
  101381. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  101382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101383. 8 | #define NULL ((void *)0)
  101384. | ^~~~~~~~~~~
  101385. | |
  101386. | void *
  101387. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  101388. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101389. | ^~~~
  101390. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  101391. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101392. | ~~~~~~~~~~~~~~^~~~~
  101393. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101394. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101395. | ^~
  101396. | |
  101397. | struct mm_struct *
  101398. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101399. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101400. | ~~~~~~~~~~~~~~^~~~~~~~
  101401. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101402. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101403. | ^~~~~~~~
  101404. | |
  101405. | long unsigned int
  101406. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101407. 2535 | unsigned int gup_flags, struct page **pages);
  101408. | ~~~~~~~~~~~~~~^~~~~
  101409. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101410. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101411. | ^~~~~~~~~~~~~~ ~~~~~
  101412. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101413. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101414. | ^~~~~~~~~~~~~~
  101415. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  101416. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  101417. 237 | return (unsigned long)(vmf->virtual_address);
  101418. | ^~~~~~~~~~~~~~~
  101419. | real_address
  101420. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  101421. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101422. 246 | down_read(&mm->mmap_sem);
  101423. | ^~~~~~~~
  101424. | mmap_base
  101425. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  101426. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101427. 255 | up_read(&mm->mmap_sem);
  101428. | ^~~~~~~~
  101429. | mmap_base
  101430. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  101431. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101432. 264 | down_write(&mm->mmap_sem);
  101433. | ^~~~~~~~
  101434. | mmap_base
  101435. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  101436. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101437. 273 | up_write(&mm->mmap_sem);
  101438. | ^~~~~~~~
  101439. | mmap_base
  101440. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  101441. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101442. 282 | return rwsem_is_locked(&mm->mmap_sem);
  101443. | ^~~~~~~~
  101444. | mmap_base
  101445. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  101446. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101447. 291 | return &mm->mmap_sem;
  101448. | ^~~~~~~~
  101449. | mmap_base
  101450. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  101451. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  101452. 300 | vma->vm_flags |= flags;
  101453. | ^~
  101454. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  101455. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  101456. 309 | vma->vm_flags &= ~flags;
  101457. | ^~
  101458. In file included from ././common/inc/nv-linux.h:37:
  101459. ././common/inc/nv-time.h: At top level:
  101460. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  101461. 40 | struct timespec64 {
  101462. | ^~~~~~~~~~
  101463. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  101464. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  101465. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  101466. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  101467. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  101468. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  101469. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  101470. 13 | struct timespec64 {
  101471. | ^~~~~~~~~~
  101472. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  101473. 77 | static inline struct timespec64 timespec64_add
  101474. | ^~~~~~~~~~~~~~
  101475. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  101476. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  101477. | ^~~~~~~~~~~~~~
  101478. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  101479. 95 | static inline struct timespec64 timespec64_sub
  101480. | ^~~~~~~~~~~~~~
  101481. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  101482. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  101483. | ^~~~~~~~~~~~~~
  101484. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  101485. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  101486. | ^~~~~~~~~~~~~~~~
  101487. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  101488. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  101489. | ^~~~~~~~~~~~~~~~
  101490. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  101491. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  101492. 122 | ktime_get_raw_ts64(&ts);
  101493. | ^~~
  101494. | |
  101495. | struct timespec64 *
  101496. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  101497. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  101498. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  101499. | ~~~~~~~~~~~~~~~~~~~^~
  101500. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  101501. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  101502. 185 | ktime_get_raw_ts64(&tm_aux);
  101503. | ^~~~~~~
  101504. | |
  101505. | struct timespec64 *
  101506. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  101507. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  101508. | ~~~~~~~~~~~~~~~~~~~^~
  101509. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  101510. 221 | ktime_get_raw_ts64(&tm_aux);
  101511. | ^~~~~~~
  101512. | |
  101513. | struct timespec64 *
  101514. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  101515. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  101516. | ~~~~~~~~~~~~~~~~~~~^~
  101517. In file included from ././common/inc/nv-linux.h:37:
  101518. ././common/inc/nv-time.h: At top level:
  101519. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  101520. 40 | struct timespec64 {
  101521. | ^~~~~~~~~~
  101522. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  101523. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  101524. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  101525. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  101526. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  101527. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  101528. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  101529. 13 | struct timespec64 {
  101530. | ^~~~~~~~~~
  101531. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  101532. 77 | static inline struct timespec64 timespec64_add
  101533. | ^~~~~~~~~~~~~~
  101534. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  101535. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  101536. | ^~~~~~~~~~~~~~
  101537. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  101538. 95 | static inline struct timespec64 timespec64_sub
  101539. | ^~~~~~~~~~~~~~
  101540. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  101541. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  101542. | ^~~~~~~~~~~~~~
  101543. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  101544. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  101545. | ^~~~~~~~~~~~~~~~
  101546. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  101547. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  101548. | ^~~~~~~~~~~~~~~~
  101549. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  101550. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  101551. 122 | ktime_get_raw_ts64(&ts);
  101552. | ^~~
  101553. | |
  101554. | struct timespec64 *
  101555. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  101556. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  101557. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  101558. | ~~~~~~~~~~~~~~~~~~~^~
  101559. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  101560. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  101561. 185 | ktime_get_raw_ts64(&tm_aux);
  101562. | ^~~~~~~
  101563. | |
  101564. | struct timespec64 *
  101565. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  101566. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  101567. | ~~~~~~~~~~~~~~~~~~~^~
  101568. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  101569. 221 | ktime_get_raw_ts64(&tm_aux);
  101570. | ^~~~~~~
  101571. | |
  101572. | struct timespec64 *
  101573. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  101574. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  101575. | ~~~~~~~~~~~~~~~~~~~^~
  101576. In file included from ././common/inc/nv-linux.h:34,
  101577. from nvidia/os-usermap.c:27:
  101578. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  101579. 29 | typedef int vm_fault_t;
  101580. | ^~~~~~~~~~
  101581. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  101582. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  101583. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  101584. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  101585. from ././common/inc/nv-lock.h:35,
  101586. from ././common/inc/nv-linux.h:32:
  101587. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  101588. 1311 | typedef __bitwise unsigned int vm_fault_t;
  101589. | ^~~~~~~~~~
  101590. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  101591. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  101592. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  101593. from ././common/inc/nv-lock.h:29:
  101594. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  101595. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101596. 52 | #define current get_current()
  101597. | ^~~~~~~~~~~~~
  101598. | |
  101599. | struct task_struct *
  101600. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  101601. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101602. | ^~~~~~~
  101603. In file included from ././common/inc/nv-pgprot.h:30,
  101604. from ././common/inc/nv-linux.h:33:
  101605. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  101606. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101607. | ~~~~~~~~~~~~~~^~~~~
  101608. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101609. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101610. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101611. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101612. | ~~~~~~~~~~~~~~^~~~~~~~
  101613. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101614. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101615. | ^~~~~~~~
  101616. | |
  101617. | long unsigned int
  101618. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101619. 2535 | unsigned int gup_flags, struct page **pages);
  101620. | ~~~~~~~~~~~~~~^~~~~
  101621. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101622. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101623. | ^~~~~~~~~~~~~~ ~~~~~
  101624. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101625. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101626. | ^~~~~~~~~~~~~~
  101627. In file included from ././common/inc/nv.h:35,
  101628. from ././common/inc/nv-linux.h:28:
  101629. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  101630. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101631. 8 | #define NULL ((void *)0)
  101632. | ^~~~~~~~~~~
  101633. | |
  101634. | void *
  101635. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  101636. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101637. | ^~~~
  101638. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  101639. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101640. | ~~~~~~~~~~~~~~^~~~~
  101641. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101642. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101643. | ^~
  101644. | |
  101645. | struct mm_struct *
  101646. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101647. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101648. | ~~~~~~~~~~~~~~^~~~~~~~
  101649. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101650. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101651. | ^~~~~~~~
  101652. | |
  101653. | long unsigned int
  101654. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101655. 2535 | unsigned int gup_flags, struct page **pages);
  101656. | ~~~~~~~~~~~~~~^~~~~
  101657. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101658. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101659. | ^~~~~~~~~~~~~~ ~~~~~
  101660. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101661. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101662. | ^~~~~~~~~~~~~~
  101663. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  101664. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  101665. 237 | return (unsigned long)(vmf->virtual_address);
  101666. | ^~~~~~~~~~~~~~~
  101667. | real_address
  101668. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  101669. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101670. 246 | down_read(&mm->mmap_sem);
  101671. | ^~~~~~~~
  101672. | mmap_base
  101673. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  101674. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101675. 255 | up_read(&mm->mmap_sem);
  101676. | ^~~~~~~~
  101677. | mmap_base
  101678. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  101679. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101680. 264 | down_write(&mm->mmap_sem);
  101681. | ^~~~~~~~
  101682. | mmap_base
  101683. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  101684. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101685. 273 | up_write(&mm->mmap_sem);
  101686. | ^~~~~~~~
  101687. | mmap_base
  101688. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  101689. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101690. 282 | return rwsem_is_locked(&mm->mmap_sem);
  101691. | ^~~~~~~~
  101692. | mmap_base
  101693. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  101694. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101695. 291 | return &mm->mmap_sem;
  101696. | ^~~~~~~~
  101697. | mmap_base
  101698. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  101699. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  101700. 300 | vma->vm_flags |= flags;
  101701. | ^~
  101702. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  101703. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  101704. 309 | vma->vm_flags &= ~flags;
  101705. | ^~
  101706. In file included from ././common/inc/nv-linux.h:37:
  101707. ././common/inc/nv-time.h: At top level:
  101708. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  101709. 40 | struct timespec64 {
  101710. | ^~~~~~~~~~
  101711. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  101712. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  101713. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  101714. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  101715. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  101716. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  101717. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  101718. 13 | struct timespec64 {
  101719. | ^~~~~~~~~~
  101720. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  101721. 77 | static inline struct timespec64 timespec64_add
  101722. | ^~~~~~~~~~~~~~
  101723. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  101724. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  101725. | ^~~~~~~~~~~~~~
  101726. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  101727. 95 | static inline struct timespec64 timespec64_sub
  101728. | ^~~~~~~~~~~~~~
  101729. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  101730. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  101731. | ^~~~~~~~~~~~~~
  101732. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  101733. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  101734. | ^~~~~~~~~~~~~~~~
  101735. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  101736. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  101737. | ^~~~~~~~~~~~~~~~
  101738. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  101739. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  101740. 122 | ktime_get_raw_ts64(&ts);
  101741. | ^~~
  101742. | |
  101743. | struct timespec64 *
  101744. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  101745. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  101746. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  101747. | ~~~~~~~~~~~~~~~~~~~^~
  101748. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  101749. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  101750. 185 | ktime_get_raw_ts64(&tm_aux);
  101751. | ^~~~~~~
  101752. | |
  101753. | struct timespec64 *
  101754. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  101755. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  101756. | ~~~~~~~~~~~~~~~~~~~^~
  101757. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  101758. 221 | ktime_get_raw_ts64(&tm_aux);
  101759. | ^~~~~~~
  101760. | |
  101761. | struct timespec64 *
  101762. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  101763. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  101764. | ~~~~~~~~~~~~~~~~~~~^~
  101765. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_shash.o] Error 1
  101766. CC [M] nvidia/linux_nvswitch.o
  101767. nvidia/nv-kthread-q.c: In function 'thread_create_on_node':
  101768. nvidia/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  101769. 179 | const static unsigned attempts = 3;
  101770. | ^~~~~
  101771. In file included from ././common/inc/conftest.h:28,
  101772. from ././common/inc/nv_stdarg.h:29,
  101773. from ././common/inc/nv.h:41,
  101774. from ././common/inc/nv-linux.h:28,
  101775. from nvidia/linux_nvswitch.h:28,
  101776. from nvidia/linux_nvswitch.c:24:
  101777. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  101778. 74 | #error dma_buf_export() conftest failed!
  101779. | ^~~~~
  101780. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  101781. 87 | #error wait_on_bit_lock() conftest failed!
  101782. | ^~~~~
  101783. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  101784. 90 | #error radix_tree_replace_slot() conftest failed!
  101785. | ^~~~~
  101786. In file included from ././common/inc/nv-linux.h:34:
  101787. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  101788. 29 | typedef int vm_fault_t;
  101789. | ^~~~~~~~~~
  101790. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  101791. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  101792. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  101793. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  101794. from ././common/inc/nv-lock.h:35,
  101795. from ././common/inc/nv-linux.h:32:
  101796. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  101797. 1311 | typedef __bitwise unsigned int vm_fault_t;
  101798. | ^~~~~~~~~~
  101799. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  101800. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  101801. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  101802. from ././common/inc/nv-lock.h:29:
  101803. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  101804. In file included from ././common/inc/nv-linux.h:34,
  101805. from nvidia/os-registry.c:27:
  101806. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  101807. 29 | typedef int vm_fault_t;
  101808. | ^~~~~~~~~~
  101809. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101810. 52 | #define current get_current()
  101811. | ^~~~~~~~~~~~~
  101812. | |
  101813. | struct task_struct *
  101814. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  101815. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101816. | ^~~~~~~
  101817. In file included from ././common/inc/nv-pgprot.h:30,
  101818. from ././common/inc/nv-linux.h:33:
  101819. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  101820. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101821. | ~~~~~~~~~~~~~~^~~~~
  101822. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101823. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101824. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101825. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101826. | ~~~~~~~~~~~~~~^~~~~~~~
  101827. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101828. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101829. | ^~~~~~~~
  101830. | |
  101831. | long unsigned int
  101832. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101833. 2535 | unsigned int gup_flags, struct page **pages);
  101834. | ~~~~~~~~~~~~~~^~~~~
  101835. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101836. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101837. | ^~~~~~~~~~~~~~ ~~~~~
  101838. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101839. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101840. | ^~~~~~~~~~~~~~
  101841. In file included from ././common/inc/nv.h:35:
  101842. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  101843. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101844. 8 | #define NULL ((void *)0)
  101845. | ^~~~~~~~~~~
  101846. | |
  101847. | void *
  101848. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  101849. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101850. | ^~~~
  101851. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  101852. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101853. | ~~~~~~~~~~~~~~^~~~~
  101854. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101855. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101856. | ^~
  101857. | |
  101858. | struct mm_struct *
  101859. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101860. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101861. | ~~~~~~~~~~~~~~^~~~~~~~
  101862. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101863. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101864. | ^~~~~~~~
  101865. | |
  101866. | long unsigned int
  101867. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101868. 2535 | unsigned int gup_flags, struct page **pages);
  101869. | ~~~~~~~~~~~~~~^~~~~
  101870. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101871. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101872. | ^~~~~~~~~~~~~~ ~~~~~
  101873. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101874. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101875. | ^~~~~~~~~~~~~~
  101876. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  101877. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  101878. 237 | return (unsigned long)(vmf->virtual_address);
  101879. | ^~~~~~~~~~~~~~~
  101880. | real_address
  101881. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  101882. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101883. 246 | down_read(&mm->mmap_sem);
  101884. | ^~~~~~~~
  101885. | mmap_base
  101886. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  101887. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101888. 255 | up_read(&mm->mmap_sem);
  101889. | ^~~~~~~~
  101890. | mmap_base
  101891. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  101892. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101893. 264 | down_write(&mm->mmap_sem);
  101894. | ^~~~~~~~
  101895. | mmap_base
  101896. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  101897. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101898. 273 | up_write(&mm->mmap_sem);
  101899. | ^~~~~~~~
  101900. | mmap_base
  101901. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  101902. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101903. 282 | return rwsem_is_locked(&mm->mmap_sem);
  101904. | ^~~~~~~~
  101905. | mmap_base
  101906. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  101907. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  101908. 291 | return &mm->mmap_sem;
  101909. | ^~~~~~~~
  101910. | mmap_base
  101911. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  101912. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  101913. 300 | vma->vm_flags |= flags;
  101914. | ^~
  101915. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  101916. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  101917. 309 | vma->vm_flags &= ~flags;
  101918. | ^~
  101919. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  101920. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  101921. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  101922. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  101923. from ././common/inc/nv-lock.h:35,
  101924. from ././common/inc/nv-linux.h:32:
  101925. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  101926. 1311 | typedef __bitwise unsigned int vm_fault_t;
  101927. | ^~~~~~~~~~
  101928. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  101929. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  101930. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  101931. from ././common/inc/nv-lock.h:29:
  101932. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  101933. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101934. 52 | #define current get_current()
  101935. | ^~~~~~~~~~~~~
  101936. | |
  101937. | struct task_struct *
  101938. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  101939. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101940. | ^~~~~~~
  101941. In file included from ././common/inc/nv-pgprot.h:30,
  101942. from ././common/inc/nv-linux.h:33:
  101943. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  101944. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101945. | ~~~~~~~~~~~~~~^~~~~
  101946. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101947. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101948. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101949. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101950. | ~~~~~~~~~~~~~~^~~~~~~~
  101951. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101952. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101953. | ^~~~~~~~
  101954. | |
  101955. | long unsigned int
  101956. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101957. 2535 | unsigned int gup_flags, struct page **pages);
  101958. | ~~~~~~~~~~~~~~^~~~~
  101959. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101960. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  101961. | ^~~~~~~~~~~~~~ ~~~~~
  101962. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101963. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101964. | ^~~~~~~~~~~~~~
  101965. In file included from ././common/inc/nv.h:35,
  101966. from ././common/inc/nv-linux.h:28:
  101967. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  101968. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101969. 8 | #define NULL ((void *)0)
  101970. | ^~~~~~~~~~~
  101971. | |
  101972. | void *
  101973. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  101974. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101975. | ^~~~
  101976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  101977. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101978. | ~~~~~~~~~~~~~~^~~~~
  101979. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  101980. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101981. | ^~
  101982. | |
  101983. | struct mm_struct *
  101984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  101985. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  101986. | ~~~~~~~~~~~~~~^~~~~~~~
  101987. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  101988. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101989. | ^~~~~~~~
  101990. | |
  101991. | long unsigned int
  101992. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  101993. 2535 | unsigned int gup_flags, struct page **pages);
  101994. | ~~~~~~~~~~~~~~^~~~~
  101995. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  101996. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  101997. | ^~~~~~~~~~~~~~ ~~~~~
  101998. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  101999. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102000. | ^~~~~~~~~~~~~~
  102001. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  102002. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  102003. 237 | return (unsigned long)(vmf->virtual_address);
  102004. | ^~~~~~~~~~~~~~~
  102005. | real_address
  102006. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  102007. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102008. 246 | down_read(&mm->mmap_sem);
  102009. | ^~~~~~~~
  102010. | mmap_base
  102011. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  102012. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102013. 255 | up_read(&mm->mmap_sem);
  102014. | ^~~~~~~~
  102015. | mmap_base
  102016. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  102017. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102018. 264 | down_write(&mm->mmap_sem);
  102019. | ^~~~~~~~
  102020. | mmap_base
  102021. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  102022. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102023. 273 | up_write(&mm->mmap_sem);
  102024. | ^~~~~~~~
  102025. | mmap_base
  102026. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  102027. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102028. 282 | return rwsem_is_locked(&mm->mmap_sem);
  102029. | ^~~~~~~~
  102030. | mmap_base
  102031. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  102032. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102033. 291 | return &mm->mmap_sem;
  102034. | ^~~~~~~~
  102035. | mmap_base
  102036. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  102037. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  102038. 300 | vma->vm_flags |= flags;
  102039. | ^~
  102040. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  102041. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  102042. 309 | vma->vm_flags &= ~flags;
  102043. | ^~
  102044. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-kthread-q.o] Error 1
  102045. In file included from ././common/inc/nv-linux.h:37:
  102046. ././common/inc/nv-time.h: At top level:
  102047. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  102048. 40 | struct timespec64 {
  102049. | ^~~~~~~~~~
  102050. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  102051. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  102052. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  102053. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  102054. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  102055. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  102056. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  102057. 13 | struct timespec64 {
  102058. | ^~~~~~~~~~
  102059. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102060. 77 | static inline struct timespec64 timespec64_add
  102061. | ^~~~~~~~~~~~~~
  102062. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102063. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  102064. | ^~~~~~~~~~~~~~
  102065. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102066. 95 | static inline struct timespec64 timespec64_sub
  102067. | ^~~~~~~~~~~~~~
  102068. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102069. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  102070. | ^~~~~~~~~~~~~~
  102071. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  102072. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  102073. | ^~~~~~~~~~~~~~~~
  102074. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  102075. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  102076. | ^~~~~~~~~~~~~~~~
  102077. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  102078. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102079. 122 | ktime_get_raw_ts64(&ts);
  102080. | ^~~
  102081. | |
  102082. | struct timespec64 *
  102083. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  102084. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102085. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102086. | ~~~~~~~~~~~~~~~~~~~^~
  102087. CC [M] nvidia/procfs_nvswitch.o
  102088. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  102089. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102090. 185 | ktime_get_raw_ts64(&tm_aux);
  102091. | ^~~~~~~
  102092. | |
  102093. | struct timespec64 *
  102094. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102095. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102096. | ~~~~~~~~~~~~~~~~~~~^~
  102097. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102098. 221 | ktime_get_raw_ts64(&tm_aux);
  102099. | ^~~~~~~
  102100. | |
  102101. | struct timespec64 *
  102102. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102103. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102104. | ~~~~~~~~~~~~~~~~~~~^~
  102105. In file included from ././common/inc/nv-linux.h:37:
  102106. ././common/inc/nv-time.h: At top level:
  102107. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  102108. 40 | struct timespec64 {
  102109. | ^~~~~~~~~~
  102110. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  102111. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  102112. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  102113. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  102114. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  102115. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  102116. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  102117. 13 | struct timespec64 {
  102118. | ^~~~~~~~~~
  102119. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102120. 77 | static inline struct timespec64 timespec64_add
  102121. | ^~~~~~~~~~~~~~
  102122. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102123. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  102124. | ^~~~~~~~~~~~~~
  102125. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102126. 95 | static inline struct timespec64 timespec64_sub
  102127. | ^~~~~~~~~~~~~~
  102128. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102129. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  102130. | ^~~~~~~~~~~~~~
  102131. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  102132. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  102133. | ^~~~~~~~~~~~~~~~
  102134. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  102135. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  102136. | ^~~~~~~~~~~~~~~~
  102137. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  102138. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102139. 122 | ktime_get_raw_ts64(&ts);
  102140. | ^~~
  102141. | |
  102142. | struct timespec64 *
  102143. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  102144. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102145. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102146. | ~~~~~~~~~~~~~~~~~~~^~
  102147. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  102148. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102149. 185 | ktime_get_raw_ts64(&tm_aux);
  102150. | ^~~~~~~
  102151. | |
  102152. | struct timespec64 *
  102153. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102154. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102155. | ~~~~~~~~~~~~~~~~~~~^~
  102156. In file included from ././common/inc/nv-linux.h:34,
  102157. from nvidia/nv-modeset-interface.c:27:
  102158. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  102159. 29 | typedef int vm_fault_t;
  102160. | ^~~~~~~~~~
  102161. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  102162. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  102163. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  102164. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  102165. from ././common/inc/nv-lock.h:35,
  102166. from ././common/inc/nv-linux.h:32:
  102167. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  102168. 1311 | typedef __bitwise unsigned int vm_fault_t;
  102169. | ^~~~~~~~~~
  102170. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102171. 221 | ktime_get_raw_ts64(&tm_aux);
  102172. | ^~~~~~~
  102173. | |
  102174. | struct timespec64 *
  102175. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102176. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102177. | ~~~~~~~~~~~~~~~~~~~^~
  102178. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  102179. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  102180. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  102181. from ././common/inc/nv-lock.h:29:
  102182. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  102183. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102184. 52 | #define current get_current()
  102185. | ^~~~~~~~~~~~~
  102186. | |
  102187. | struct task_struct *
  102188. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  102189. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102190. | ^~~~~~~
  102191. In file included from ././common/inc/nv-pgprot.h:30,
  102192. from ././common/inc/nv-linux.h:33:
  102193. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  102194. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102195. | ~~~~~~~~~~~~~~^~~~~
  102196. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102197. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102198. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  102199. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102200. | ~~~~~~~~~~~~~~^~~~~~~~
  102201. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  102202. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102203. | ^~~~~~~~
  102204. | |
  102205. | long unsigned int
  102206. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  102207. 2535 | unsigned int gup_flags, struct page **pages);
  102208. | ~~~~~~~~~~~~~~^~~~~
  102209. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  102210. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102211. | ^~~~~~~~~~~~~~ ~~~~~
  102212. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  102213. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102214. | ^~~~~~~~~~~~~~
  102215. In file included from ././common/inc/nv.h:35,
  102216. from ././common/inc/nv-linux.h:28:
  102217. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  102218. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102219. 8 | #define NULL ((void *)0)
  102220. | ^~~~~~~~~~~
  102221. | |
  102222. | void *
  102223. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  102224. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102225. | ^~~~
  102226. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  102227. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102228. | ~~~~~~~~~~~~~~^~~~~
  102229. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102230. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102231. | ^~
  102232. | |
  102233. | struct mm_struct *
  102234. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  102235. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102236. | ~~~~~~~~~~~~~~^~~~~~~~
  102237. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  102238. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102239. | ^~~~~~~~
  102240. | |
  102241. | long unsigned int
  102242. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  102243. 2535 | unsigned int gup_flags, struct page **pages);
  102244. | ~~~~~~~~~~~~~~^~~~~
  102245. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  102246. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102247. | ^~~~~~~~~~~~~~ ~~~~~
  102248. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  102249. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102250. | ^~~~~~~~~~~~~~
  102251. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  102252. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  102253. 237 | return (unsigned long)(vmf->virtual_address);
  102254. | ^~~~~~~~~~~~~~~
  102255. | real_address
  102256. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  102257. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102258. 246 | down_read(&mm->mmap_sem);
  102259. | ^~~~~~~~
  102260. | mmap_base
  102261. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  102262. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102263. 255 | up_read(&mm->mmap_sem);
  102264. | ^~~~~~~~
  102265. | mmap_base
  102266. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  102267. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102268. 264 | down_write(&mm->mmap_sem);
  102269. | ^~~~~~~~
  102270. | mmap_base
  102271. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  102272. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102273. 273 | up_write(&mm->mmap_sem);
  102274. | ^~~~~~~~
  102275. | mmap_base
  102276. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  102277. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102278. 282 | return rwsem_is_locked(&mm->mmap_sem);
  102279. | ^~~~~~~~
  102280. | mmap_base
  102281. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  102282. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102283. 291 | return &mm->mmap_sem;
  102284. | ^~~~~~~~
  102285. | mmap_base
  102286. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  102287. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  102288. 300 | vma->vm_flags |= flags;
  102289. | ^~
  102290. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  102291. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  102292. 309 | vma->vm_flags &= ~flags;
  102293. | ^~
  102294. In file included from ././common/inc/conftest.h:28,
  102295. from ././common/inc/nv_stdarg.h:29,
  102296. from ././common/inc/nv.h:41,
  102297. from ././common/inc/nv-linux.h:28,
  102298. from nvidia/linux_nvswitch.h:28,
  102299. from nvidia/procfs_nvswitch.c:24:
  102300. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  102301. 74 | #error dma_buf_export() conftest failed!
  102302. | ^~~~~
  102303. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  102304. 87 | #error wait_on_bit_lock() conftest failed!
  102305. | ^~~~~
  102306. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  102307. 90 | #error radix_tree_replace_slot() conftest failed!
  102308. | ^~~~~
  102309. In file included from ././common/inc/nv-linux.h:37:
  102310. ././common/inc/nv-time.h: At top level:
  102311. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  102312. 40 | struct timespec64 {
  102313. | ^~~~~~~~~~
  102314. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  102315. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  102316. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  102317. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  102318. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  102319. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  102320. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  102321. 13 | struct timespec64 {
  102322. | ^~~~~~~~~~
  102323. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102324. 77 | static inline struct timespec64 timespec64_add
  102325. | ^~~~~~~~~~~~~~
  102326. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102327. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  102328. | ^~~~~~~~~~~~~~
  102329. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102330. 95 | static inline struct timespec64 timespec64_sub
  102331. | ^~~~~~~~~~~~~~
  102332. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102333. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  102334. | ^~~~~~~~~~~~~~
  102335. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  102336. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  102337. | ^~~~~~~~~~~~~~~~
  102338. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  102339. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  102340. | ^~~~~~~~~~~~~~~~
  102341. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  102342. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102343. 122 | ktime_get_raw_ts64(&ts);
  102344. | ^~~
  102345. | |
  102346. | struct timespec64 *
  102347. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  102348. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102349. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102350. | ~~~~~~~~~~~~~~~~~~~^~
  102351. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  102352. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102353. 185 | ktime_get_raw_ts64(&tm_aux);
  102354. | ^~~~~~~
  102355. | |
  102356. | struct timespec64 *
  102357. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102358. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102359. | ~~~~~~~~~~~~~~~~~~~^~
  102360. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102361. 221 | ktime_get_raw_ts64(&tm_aux);
  102362. | ^~~~~~~
  102363. | |
  102364. | struct timespec64 *
  102365. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102366. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102367. | ~~~~~~~~~~~~~~~~~~~^~
  102368. In file included from ././common/inc/nv-linux.h:34:
  102369. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  102370. 29 | typedef int vm_fault_t;
  102371. | ^~~~~~~~~~
  102372. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  102373. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  102374. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  102375. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  102376. from ././common/inc/nv-lock.h:35,
  102377. from ././common/inc/nv-linux.h:32:
  102378. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  102379. 1311 | typedef __bitwise unsigned int vm_fault_t;
  102380. | ^~~~~~~~~~
  102381. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  102382. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  102383. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  102384. from ././common/inc/nv-lock.h:29:
  102385. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  102386. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102387. 52 | #define current get_current()
  102388. | ^~~~~~~~~~~~~
  102389. | |
  102390. | struct task_struct *
  102391. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  102392. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102393. | ^~~~~~~
  102394. In file included from ././common/inc/nv-pgprot.h:30,
  102395. from ././common/inc/nv-linux.h:33:
  102396. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  102397. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102398. | ~~~~~~~~~~~~~~^~~~~
  102399. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102400. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102401. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  102402. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102403. | ~~~~~~~~~~~~~~^~~~~~~~
  102404. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  102405. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102406. | ^~~~~~~~
  102407. | |
  102408. | long unsigned int
  102409. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  102410. 2535 | unsigned int gup_flags, struct page **pages);
  102411. | ~~~~~~~~~~~~~~^~~~~
  102412. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  102413. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102414. | ^~~~~~~~~~~~~~ ~~~~~
  102415. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  102416. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102417. | ^~~~~~~~~~~~~~
  102418. In file included from ././common/inc/nv.h:35:
  102419. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  102420. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102421. 8 | #define NULL ((void *)0)
  102422. | ^~~~~~~~~~~
  102423. | |
  102424. | void *
  102425. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  102426. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102427. | ^~~~
  102428. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  102429. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102430. | ~~~~~~~~~~~~~~^~~~~
  102431. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102432. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102433. | ^~
  102434. | |
  102435. | struct mm_struct *
  102436. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  102437. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102438. | ~~~~~~~~~~~~~~^~~~~~~~
  102439. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  102440. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102441. | ^~~~~~~~
  102442. | |
  102443. | long unsigned int
  102444. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  102445. 2535 | unsigned int gup_flags, struct page **pages);
  102446. | ~~~~~~~~~~~~~~^~~~~
  102447. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  102448. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102449. | ^~~~~~~~~~~~~~ ~~~~~
  102450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  102451. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102452. | ^~~~~~~~~~~~~~
  102453. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  102454. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  102455. 237 | return (unsigned long)(vmf->virtual_address);
  102456. | ^~~~~~~~~~~~~~~
  102457. | real_address
  102458. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  102459. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102460. 246 | down_read(&mm->mmap_sem);
  102461. | ^~~~~~~~
  102462. | mmap_base
  102463. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  102464. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102465. 255 | up_read(&mm->mmap_sem);
  102466. | ^~~~~~~~
  102467. | mmap_base
  102468. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  102469. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102470. 264 | down_write(&mm->mmap_sem);
  102471. | ^~~~~~~~
  102472. | mmap_base
  102473. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  102474. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102475. 273 | up_write(&mm->mmap_sem);
  102476. | ^~~~~~~~
  102477. | mmap_base
  102478. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  102479. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102480. 282 | return rwsem_is_locked(&mm->mmap_sem);
  102481. | ^~~~~~~~
  102482. | mmap_base
  102483. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  102484. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102485. 291 | return &mm->mmap_sem;
  102486. | ^~~~~~~~
  102487. | mmap_base
  102488. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  102489. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  102490. 300 | vma->vm_flags |= flags;
  102491. | ^~
  102492. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  102493. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  102494. 309 | vma->vm_flags &= ~flags;
  102495. | ^~
  102496. In file included from ././common/inc/nv-linux.h:37:
  102497. ././common/inc/nv-time.h: At top level:
  102498. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  102499. 40 | struct timespec64 {
  102500. | ^~~~~~~~~~
  102501. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  102502. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  102503. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  102504. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  102505. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  102506. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  102507. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  102508. 13 | struct timespec64 {
  102509. | ^~~~~~~~~~
  102510. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102511. 77 | static inline struct timespec64 timespec64_add
  102512. | ^~~~~~~~~~~~~~
  102513. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102514. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  102515. | ^~~~~~~~~~~~~~
  102516. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102517. 95 | static inline struct timespec64 timespec64_sub
  102518. | ^~~~~~~~~~~~~~
  102519. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102520. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  102521. | ^~~~~~~~~~~~~~
  102522. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  102523. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  102524. | ^~~~~~~~~~~~~~~~
  102525. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  102526. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  102527. | ^~~~~~~~~~~~~~~~
  102528. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  102529. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102530. 122 | ktime_get_raw_ts64(&ts);
  102531. | ^~~
  102532. | |
  102533. | struct timespec64 *
  102534. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  102535. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102536. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102537. | ~~~~~~~~~~~~~~~~~~~^~
  102538. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  102539. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102540. 185 | ktime_get_raw_ts64(&tm_aux);
  102541. | ^~~~~~~
  102542. | |
  102543. | struct timespec64 *
  102544. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102545. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102546. | ~~~~~~~~~~~~~~~~~~~^~
  102547. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102548. 221 | ktime_get_raw_ts64(&tm_aux);
  102549. | ^~~~~~~
  102550. | |
  102551. | struct timespec64 *
  102552. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102553. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102554. | ~~~~~~~~~~~~~~~~~~~^~
  102555. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  102556. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  102557. 502 | NV_MEMDBG_ADD(ptr, size);
  102558. | ^
  102559. In file included from ././common/inc/nv-linux.h:34,
  102560. from nvidia/nv-frontend.c:25:
  102561. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  102562. 29 | typedef int vm_fault_t;
  102563. | ^~~~~~~~~~
  102564. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  102565. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  102566. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  102567. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  102568. from ././common/inc/nv-lock.h:35,
  102569. from ././common/inc/nv-linux.h:32:
  102570. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  102571. 1311 | typedef __bitwise unsigned int vm_fault_t;
  102572. | ^~~~~~~~~~
  102573. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  102574. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  102575. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  102576. from ././common/inc/nv-lock.h:29:
  102577. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  102578. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102579. 52 | #define current get_current()
  102580. | ^~~~~~~~~~~~~
  102581. | |
  102582. | struct task_struct *
  102583. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  102584. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102585. | ^~~~~~~
  102586. In file included from ././common/inc/nv-pgprot.h:30,
  102587. from ././common/inc/nv-linux.h:33:
  102588. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  102589. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102590. | ~~~~~~~~~~~~~~^~~~~
  102591. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102592. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102593. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  102594. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102595. | ~~~~~~~~~~~~~~^~~~~~~~
  102596. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  102597. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102598. | ^~~~~~~~
  102599. | |
  102600. | long unsigned int
  102601. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  102602. 2535 | unsigned int gup_flags, struct page **pages);
  102603. | ~~~~~~~~~~~~~~^~~~~
  102604. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  102605. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102606. | ^~~~~~~~~~~~~~ ~~~~~
  102607. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  102608. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102609. | ^~~~~~~~~~~~~~
  102610. In file included from ././common/inc/nv.h:35,
  102611. from ././common/inc/nv-linux.h:28:
  102612. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  102613. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102614. 8 | #define NULL ((void *)0)
  102615. | ^~~~~~~~~~~
  102616. | |
  102617. | void *
  102618. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  102619. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102620. | ^~~~
  102621. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  102622. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102623. | ~~~~~~~~~~~~~~^~~~~
  102624. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102625. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102626. | ^~
  102627. | |
  102628. | struct mm_struct *
  102629. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  102630. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102631. | ~~~~~~~~~~~~~~^~~~~~~~
  102632. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  102633. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102634. | ^~~~~~~~
  102635. | |
  102636. | long unsigned int
  102637. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  102638. 2535 | unsigned int gup_flags, struct page **pages);
  102639. | ~~~~~~~~~~~~~~^~~~~
  102640. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  102641. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102642. | ^~~~~~~~~~~~~~ ~~~~~
  102643. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  102644. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102645. | ^~~~~~~~~~~~~~
  102646. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  102647. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  102648. 237 | return (unsigned long)(vmf->virtual_address);
  102649. | ^~~~~~~~~~~~~~~
  102650. | real_address
  102651. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  102652. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102653. 246 | down_read(&mm->mmap_sem);
  102654. | ^~~~~~~~
  102655. | mmap_base
  102656. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  102657. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102658. 255 | up_read(&mm->mmap_sem);
  102659. | ^~~~~~~~
  102660. | mmap_base
  102661. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  102662. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102663. 264 | down_write(&mm->mmap_sem);
  102664. | ^~~~~~~~
  102665. | mmap_base
  102666. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  102667. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102668. 273 | up_write(&mm->mmap_sem);
  102669. | ^~~~~~~~
  102670. | mmap_base
  102671. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  102672. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102673. 282 | return rwsem_is_locked(&mm->mmap_sem);
  102674. | ^~~~~~~~
  102675. | mmap_base
  102676. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  102677. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102678. 291 | return &mm->mmap_sem;
  102679. | ^~~~~~~~
  102680. | mmap_base
  102681. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  102682. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  102683. 300 | vma->vm_flags |= flags;
  102684. | ^~
  102685. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  102686. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  102687. 309 | vma->vm_flags &= ~flags;
  102688. | ^~
  102689. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  102690. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  102691. 502 | NV_MEMDBG_ADD(ptr, size);
  102692. | ^
  102693. In file included from ././common/inc/nv-linux.h:34:
  102694. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  102695. 29 | typedef int vm_fault_t;
  102696. | ^~~~~~~~~~
  102697. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  102698. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  102699. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  102700. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  102701. from ././common/inc/nv-lock.h:35,
  102702. from ././common/inc/nv-linux.h:32:
  102703. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  102704. 1311 | typedef __bitwise unsigned int vm_fault_t;
  102705. | ^~~~~~~~~~
  102706. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  102707. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  102708. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  102709. from ././common/inc/nv-lock.h:29:
  102710. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  102711. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102712. 52 | #define current get_current()
  102713. | ^~~~~~~~~~~~~
  102714. | |
  102715. | struct task_struct *
  102716. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  102717. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102718. | ^~~~~~~
  102719. In file included from ././common/inc/nv-pgprot.h:30,
  102720. from ././common/inc/nv-linux.h:33:
  102721. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  102722. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102723. | ~~~~~~~~~~~~~~^~~~~
  102724. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102725. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102726. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  102727. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102728. | ~~~~~~~~~~~~~~^~~~~~~~
  102729. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  102730. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102731. | ^~~~~~~~
  102732. | |
  102733. | long unsigned int
  102734. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  102735. 2535 | unsigned int gup_flags, struct page **pages);
  102736. | ~~~~~~~~~~~~~~^~~~~
  102737. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  102738. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102739. | ^~~~~~~~~~~~~~ ~~~~~
  102740. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  102741. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102742. | ^~~~~~~~~~~~~~
  102743. In file included from ././common/inc/nv.h:35:
  102744. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  102745. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102746. 8 | #define NULL ((void *)0)
  102747. | ^~~~~~~~~~~
  102748. | |
  102749. | void *
  102750. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  102751. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102752. | ^~~~
  102753. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  102754. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102755. | ~~~~~~~~~~~~~~^~~~~
  102756. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102757. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102758. | ^~
  102759. | |
  102760. | struct mm_struct *
  102761. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  102762. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102763. | ~~~~~~~~~~~~~~^~~~~~~~
  102764. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  102765. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102766. | ^~~~~~~~
  102767. | |
  102768. | long unsigned int
  102769. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  102770. 2535 | unsigned int gup_flags, struct page **pages);
  102771. | ~~~~~~~~~~~~~~^~~~~
  102772. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  102773. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  102774. | ^~~~~~~~~~~~~~ ~~~~~
  102775. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  102776. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102777. | ^~~~~~~~~~~~~~
  102778. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  102779. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  102780. 237 | return (unsigned long)(vmf->virtual_address);
  102781. | ^~~~~~~~~~~~~~~
  102782. | real_address
  102783. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  102784. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102785. 246 | down_read(&mm->mmap_sem);
  102786. | ^~~~~~~~
  102787. | mmap_base
  102788. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  102789. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102790. 255 | up_read(&mm->mmap_sem);
  102791. | ^~~~~~~~
  102792. | mmap_base
  102793. In file included from ././common/inc/nv-linux.h:37:
  102794. ././common/inc/nv-time.h: At top level:
  102795. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  102796. 40 | struct timespec64 {
  102797. | ^~~~~~~~~~
  102798. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  102799. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102800. 264 | down_write(&mm->mmap_sem);
  102801. | ^~~~~~~~
  102802. | mmap_base
  102803. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  102804. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  102805. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  102806. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  102807. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  102808. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  102809. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  102810. 13 | struct timespec64 {
  102811. | ^~~~~~~~~~
  102812. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  102813. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102814. 273 | up_write(&mm->mmap_sem);
  102815. | ^~~~~~~~
  102816. | mmap_base
  102817. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  102818. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102819. 282 | return rwsem_is_locked(&mm->mmap_sem);
  102820. | ^~~~~~~~
  102821. | mmap_base
  102822. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102823. 77 | static inline struct timespec64 timespec64_add
  102824. | ^~~~~~~~~~~~~~
  102825. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102826. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  102827. | ^~~~~~~~~~~~~~
  102828. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  102829. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  102830. 291 | return &mm->mmap_sem;
  102831. | ^~~~~~~~
  102832. | mmap_base
  102833. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  102834. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  102835. 300 | vma->vm_flags |= flags;
  102836. | ^~
  102837. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102838. 95 | static inline struct timespec64 timespec64_sub
  102839. | ^~~~~~~~~~~~~~
  102840. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  102841. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102842. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  102843. | ^~~~~~~~~~~~~~
  102844. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  102845. 309 | vma->vm_flags &= ~flags;
  102846. | ^~
  102847. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  102848. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  102849. | ^~~~~~~~~~~~~~~~
  102850. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  102851. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  102852. | ^~~~~~~~~~~~~~~~
  102853. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  102854. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102855. 122 | ktime_get_raw_ts64(&ts);
  102856. | ^~~
  102857. | |
  102858. | struct timespec64 *
  102859. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  102860. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102861. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102862. | ~~~~~~~~~~~~~~~~~~~^~
  102863. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  102864. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102865. 185 | ktime_get_raw_ts64(&tm_aux);
  102866. | ^~~~~~~
  102867. | |
  102868. | struct timespec64 *
  102869. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102870. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102871. | ~~~~~~~~~~~~~~~~~~~^~
  102872. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102873. 221 | ktime_get_raw_ts64(&tm_aux);
  102874. | ^~~~~~~
  102875. | |
  102876. | struct timespec64 *
  102877. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102878. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102879. | ~~~~~~~~~~~~~~~~~~~^~
  102880. In file included from ././common/inc/nv-linux.h:37:
  102881. ././common/inc/nv-time.h: At top level:
  102882. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  102883. 40 | struct timespec64 {
  102884. | ^~~~~~~~~~
  102885. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  102886. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  102887. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  102888. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  102889. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  102890. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  102891. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  102892. 13 | struct timespec64 {
  102893. | ^~~~~~~~~~
  102894. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102895. 77 | static inline struct timespec64 timespec64_add
  102896. | ^~~~~~~~~~~~~~
  102897. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102898. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  102899. | ^~~~~~~~~~~~~~
  102900. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  102901. 95 | static inline struct timespec64 timespec64_sub
  102902. | ^~~~~~~~~~~~~~
  102903. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  102904. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  102905. | ^~~~~~~~~~~~~~
  102906. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  102907. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  102908. | ^~~~~~~~~~~~~~~~
  102909. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  102910. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  102911. | ^~~~~~~~~~~~~~~~
  102912. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  102913. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102914. 122 | ktime_get_raw_ts64(&ts);
  102915. | ^~~
  102916. | |
  102917. | struct timespec64 *
  102918. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  102919. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102920. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102921. | ~~~~~~~~~~~~~~~~~~~^~
  102922. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  102923. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102924. 185 | ktime_get_raw_ts64(&tm_aux);
  102925. | ^~~~~~~
  102926. | |
  102927. | struct timespec64 *
  102928. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102929. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102930. | ~~~~~~~~~~~~~~~~~~~^~
  102931. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  102932. 221 | ktime_get_raw_ts64(&tm_aux);
  102933. | ^~~~~~~
  102934. | |
  102935. | struct timespec64 *
  102936. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  102937. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  102938. | ~~~~~~~~~~~~~~~~~~~^~
  102939. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  102940. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  102941. 502 | NV_MEMDBG_ADD(ptr, size);
  102942. | ^
  102943. In file included from ././common/inc/nv-linux.h:34:
  102944. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  102945. 29 | typedef int vm_fault_t;
  102946. | ^~~~~~~~~~
  102947. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  102948. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  102949. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  102950. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  102951. from ././common/inc/nv-lock.h:35,
  102952. from ././common/inc/nv-linux.h:32:
  102953. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  102954. 1311 | typedef __bitwise unsigned int vm_fault_t;
  102955. | ^~~~~~~~~~
  102956. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  102957. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  102958. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  102959. from ././common/inc/nv-lock.h:29:
  102960. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  102961. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102962. 52 | #define current get_current()
  102963. | ^~~~~~~~~~~~~
  102964. | |
  102965. | struct task_struct *
  102966. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  102967. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102968. | ^~~~~~~
  102969. In file included from ././common/inc/nv-pgprot.h:30,
  102970. from ././common/inc/nv-linux.h:33:
  102971. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  102972. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102973. | ~~~~~~~~~~~~~~^~~~~
  102974. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102975. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102976. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  102977. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102978. | ~~~~~~~~~~~~~~^~~~~~~~
  102979. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  102980. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102981. | ^~~~~~~~
  102982. | |
  102983. | long unsigned int
  102984. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  102985. 2535 | unsigned int gup_flags, struct page **pages);
  102986. | ~~~~~~~~~~~~~~^~~~~
  102987. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  102988. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  102989. | ^~~~~~~~~~~~~~ ~~~~~
  102990. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  102991. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  102992. | ^~~~~~~~~~~~~~
  102993. In file included from ././common/inc/nv.h:35:
  102994. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  102995. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  102996. 8 | #define NULL ((void *)0)
  102997. | ^~~~~~~~~~~
  102998. | |
  102999. | void *
  103000. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  103001. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103002. | ^~~~
  103003. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  103004. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103005. | ~~~~~~~~~~~~~~^~~~~
  103006. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103007. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103008. | ^~
  103009. | |
  103010. | struct mm_struct *
  103011. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  103012. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103013. | ~~~~~~~~~~~~~~^~~~~~~~
  103014. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  103015. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103016. | ^~~~~~~~
  103017. | |
  103018. | long unsigned int
  103019. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  103020. 2535 | unsigned int gup_flags, struct page **pages);
  103021. | ~~~~~~~~~~~~~~^~~~~
  103022. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  103023. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103024. | ^~~~~~~~~~~~~~ ~~~~~
  103025. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  103026. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103027. | ^~~~~~~~~~~~~~
  103028. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  103029. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  103030. 237 | return (unsigned long)(vmf->virtual_address);
  103031. | ^~~~~~~~~~~~~~~
  103032. | real_address
  103033. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  103034. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103035. 246 | down_read(&mm->mmap_sem);
  103036. | ^~~~~~~~
  103037. | mmap_base
  103038. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  103039. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103040. 255 | up_read(&mm->mmap_sem);
  103041. | ^~~~~~~~
  103042. | mmap_base
  103043. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  103044. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103045. 264 | down_write(&mm->mmap_sem);
  103046. | ^~~~~~~~
  103047. | mmap_base
  103048. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  103049. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103050. 273 | up_write(&mm->mmap_sem);
  103051. | ^~~~~~~~
  103052. | mmap_base
  103053. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  103054. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103055. 282 | return rwsem_is_locked(&mm->mmap_sem);
  103056. | ^~~~~~~~
  103057. | mmap_base
  103058. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  103059. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103060. 291 | return &mm->mmap_sem;
  103061. | ^~~~~~~~
  103062. | mmap_base
  103063. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  103064. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  103065. 300 | vma->vm_flags |= flags;
  103066. | ^~
  103067. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  103068. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  103069. 309 | vma->vm_flags &= ~flags;
  103070. | ^~
  103071. In file included from ././common/inc/nv-linux.h:34:
  103072. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  103073. 29 | typedef int vm_fault_t;
  103074. | ^~~~~~~~~~
  103075. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  103076. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  103077. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  103078. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  103079. from ././common/inc/nv-lock.h:35,
  103080. from ././common/inc/nv-linux.h:32:
  103081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  103082. 1311 | typedef __bitwise unsigned int vm_fault_t;
  103083. | ^~~~~~~~~~
  103084. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  103085. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  103086. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  103087. from ././common/inc/nv-lock.h:29:
  103088. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  103089. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103090. 52 | #define current get_current()
  103091. | ^~~~~~~~~~~~~
  103092. | |
  103093. | struct task_struct *
  103094. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  103095. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103096. | ^~~~~~~
  103097. In file included from ././common/inc/nv-pgprot.h:30,
  103098. from ././common/inc/nv-linux.h:33:
  103099. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  103100. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103101. | ~~~~~~~~~~~~~~^~~~~
  103102. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103103. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103104. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  103105. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103106. | ~~~~~~~~~~~~~~^~~~~~~~
  103107. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  103108. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103109. | ^~~~~~~~
  103110. | |
  103111. | long unsigned int
  103112. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  103113. 2535 | unsigned int gup_flags, struct page **pages);
  103114. | ~~~~~~~~~~~~~~^~~~~
  103115. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  103116. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103117. | ^~~~~~~~~~~~~~ ~~~~~
  103118. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  103119. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103120. | ^~~~~~~~~~~~~~
  103121. In file included from ././common/inc/nv.h:35:
  103122. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  103123. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103124. 8 | #define NULL ((void *)0)
  103125. | ^~~~~~~~~~~
  103126. | |
  103127. | void *
  103128. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  103129. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103130. | ^~~~
  103131. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  103132. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103133. | ~~~~~~~~~~~~~~^~~~~
  103134. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103135. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103136. | ^~
  103137. | |
  103138. | struct mm_struct *
  103139. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  103140. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103141. | ~~~~~~~~~~~~~~^~~~~~~~
  103142. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  103143. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103144. | ^~~~~~~~
  103145. | |
  103146. | long unsigned int
  103147. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  103148. 2535 | unsigned int gup_flags, struct page **pages);
  103149. | ~~~~~~~~~~~~~~^~~~~
  103150. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  103151. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103152. | ^~~~~~~~~~~~~~ ~~~~~
  103153. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  103154. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103155. | ^~~~~~~~~~~~~~
  103156. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  103157. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  103158. 237 | return (unsigned long)(vmf->virtual_address);
  103159. | ^~~~~~~~~~~~~~~
  103160. | real_address
  103161. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  103162. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103163. 246 | down_read(&mm->mmap_sem);
  103164. | ^~~~~~~~
  103165. | mmap_base
  103166. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  103167. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103168. 255 | up_read(&mm->mmap_sem);
  103169. | ^~~~~~~~
  103170. | mmap_base
  103171. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  103172. In file included from ././common/inc/nv-linux.h:34:
  103173. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  103174. 29 | typedef int vm_fault_t;
  103175. | ^~~~~~~~~~
  103176. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103177. 264 | down_write(&mm->mmap_sem);
  103178. | ^~~~~~~~
  103179. | mmap_base
  103180. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  103181. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103182. 273 | up_write(&mm->mmap_sem);
  103183. | ^~~~~~~~
  103184. | mmap_base
  103185. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  103186. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  103187. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  103188. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  103189. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  103190. from ././common/inc/nv-lock.h:35,
  103191. from ././common/inc/nv-linux.h:32:
  103192. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  103193. 1311 | typedef __bitwise unsigned int vm_fault_t;
  103194. | ^~~~~~~~~~
  103195. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103196. 282 | return rwsem_is_locked(&mm->mmap_sem);
  103197. | ^~~~~~~~
  103198. | mmap_base
  103199. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  103200. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103201. 291 | return &mm->mmap_sem;
  103202. | ^~~~~~~~
  103203. | mmap_base
  103204. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  103205. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  103206. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  103207. from ././common/inc/nv-lock.h:29:
  103208. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  103209. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  103210. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  103211. 300 | vma->vm_flags |= flags;
  103212. | ^~
  103213. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  103214. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  103215. 309 | vma->vm_flags &= ~flags;
  103216. | ^~
  103217. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103218. 52 | #define current get_current()
  103219. | ^~~~~~~~~~~~~
  103220. | |
  103221. | struct task_struct *
  103222. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  103223. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103224. | ^~~~~~~
  103225. In file included from ././common/inc/nv-pgprot.h:30,
  103226. from ././common/inc/nv-linux.h:33:
  103227. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  103228. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103229. | ~~~~~~~~~~~~~~^~~~~
  103230. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103231. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103232. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  103233. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103234. | ~~~~~~~~~~~~~~^~~~~~~~
  103235. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  103236. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103237. | ^~~~~~~~
  103238. | |
  103239. | long unsigned int
  103240. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  103241. 2535 | unsigned int gup_flags, struct page **pages);
  103242. | ~~~~~~~~~~~~~~^~~~~
  103243. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  103244. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103245. | ^~~~~~~~~~~~~~ ~~~~~
  103246. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  103247. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103248. | ^~~~~~~~~~~~~~
  103249. In file included from ././common/inc/nv.h:35:
  103250. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  103251. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103252. 8 | #define NULL ((void *)0)
  103253. | ^~~~~~~~~~~
  103254. | |
  103255. | void *
  103256. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  103257. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103258. | ^~~~
  103259. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  103260. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103261. | ~~~~~~~~~~~~~~^~~~~
  103262. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103263. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103264. | ^~
  103265. | |
  103266. | struct mm_struct *
  103267. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  103268. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103269. | ~~~~~~~~~~~~~~^~~~~~~~
  103270. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  103271. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103272. | ^~~~~~~~
  103273. | |
  103274. | long unsigned int
  103275. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  103276. 2535 | unsigned int gup_flags, struct page **pages);
  103277. | ~~~~~~~~~~~~~~^~~~~
  103278. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  103279. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103280. | ^~~~~~~~~~~~~~ ~~~~~
  103281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  103282. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103283. | ^~~~~~~~~~~~~~
  103284. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  103285. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  103286. 237 | return (unsigned long)(vmf->virtual_address);
  103287. | ^~~~~~~~~~~~~~~
  103288. | real_address
  103289. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  103290. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103291. 246 | down_read(&mm->mmap_sem);
  103292. | ^~~~~~~~
  103293. | mmap_base
  103294. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  103295. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103296. 255 | up_read(&mm->mmap_sem);
  103297. | ^~~~~~~~
  103298. | mmap_base
  103299. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  103300. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103301. 264 | down_write(&mm->mmap_sem);
  103302. | ^~~~~~~~
  103303. | mmap_base
  103304. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  103305. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103306. 273 | up_write(&mm->mmap_sem);
  103307. | ^~~~~~~~
  103308. | mmap_base
  103309. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  103310. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103311. 282 | return rwsem_is_locked(&mm->mmap_sem);
  103312. | ^~~~~~~~
  103313. | mmap_base
  103314. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  103315. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103316. 291 | return &mm->mmap_sem;
  103317. | ^~~~~~~~
  103318. | mmap_base
  103319. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  103320. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  103321. 300 | vma->vm_flags |= flags;
  103322. | ^~
  103323. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  103324. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  103325. 309 | vma->vm_flags &= ~flags;
  103326. | ^~
  103327. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  103328. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  103329. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  103330. | ^~~~~~~~~~~~~~~~~~~~~~~
  103331. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103332. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103333. 520 | NV_MEMDBG_ADD(ptr, size);
  103334. | ^
  103335. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  103336. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  103337. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  103338. | ^~~~~~~~~~~~~~~~~~~~~~~
  103339. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103340. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103341. 520 | NV_MEMDBG_ADD(ptr, size);
  103342. | ^
  103343. In file included from ././common/inc/nv-linux.h:37:
  103344. ././common/inc/nv-time.h: At top level:
  103345. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  103346. 40 | struct timespec64 {
  103347. | ^~~~~~~~~~
  103348. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  103349. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  103350. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  103351. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  103352. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  103353. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  103354. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  103355. 13 | struct timespec64 {
  103356. | ^~~~~~~~~~
  103357. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  103358. 77 | static inline struct timespec64 timespec64_add
  103359. | ^~~~~~~~~~~~~~
  103360. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  103361. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  103362. | ^~~~~~~~~~~~~~
  103363. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  103364. 95 | static inline struct timespec64 timespec64_sub
  103365. | ^~~~~~~~~~~~~~
  103366. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  103367. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  103368. | ^~~~~~~~~~~~~~
  103369. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  103370. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  103371. | ^~~~~~~~~~~~~~~~
  103372. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  103373. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  103374. | ^~~~~~~~~~~~~~~~
  103375. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  103376. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103377. 122 | ktime_get_raw_ts64(&ts);
  103378. | ^~~
  103379. | |
  103380. | struct timespec64 *
  103381. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  103382. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103383. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103384. | ~~~~~~~~~~~~~~~~~~~^~
  103385. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  103386. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103387. 185 | ktime_get_raw_ts64(&tm_aux);
  103388. | ^~~~~~~
  103389. | |
  103390. | struct timespec64 *
  103391. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103392. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103393. | ~~~~~~~~~~~~~~~~~~~^~
  103394. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103395. 221 | ktime_get_raw_ts64(&tm_aux);
  103396. | ^~~~~~~
  103397. | |
  103398. | struct timespec64 *
  103399. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103400. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103401. | ~~~~~~~~~~~~~~~~~~~^~
  103402. In file included from ././common/inc/nv-linux.h:37:
  103403. ././common/inc/nv-time.h: At top level:
  103404. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  103405. 40 | struct timespec64 {
  103406. | ^~~~~~~~~~
  103407. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  103408. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  103409. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  103410. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  103411. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  103412. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  103413. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  103414. 13 | struct timespec64 {
  103415. | ^~~~~~~~~~
  103416. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  103417. 77 | static inline struct timespec64 timespec64_add
  103418. | ^~~~~~~~~~~~~~
  103419. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  103420. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  103421. | ^~~~~~~~~~~~~~
  103422. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  103423. 95 | static inline struct timespec64 timespec64_sub
  103424. | ^~~~~~~~~~~~~~
  103425. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  103426. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  103427. | ^~~~~~~~~~~~~~
  103428. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  103429. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  103430. | ^~~~~~~~~~~~~~~~
  103431. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  103432. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  103433. | ^~~~~~~~~~~~~~~~
  103434. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  103435. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103436. 122 | ktime_get_raw_ts64(&ts);
  103437. | ^~~
  103438. | |
  103439. | struct timespec64 *
  103440. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  103441. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103442. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103443. | ~~~~~~~~~~~~~~~~~~~^~
  103444. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  103445. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103446. 185 | ktime_get_raw_ts64(&tm_aux);
  103447. | ^~~~~~~
  103448. | |
  103449. | struct timespec64 *
  103450. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103451. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103452. | ~~~~~~~~~~~~~~~~~~~^~
  103453. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103454. 221 | ktime_get_raw_ts64(&tm_aux);
  103455. | ^~~~~~~
  103456. | |
  103457. | struct timespec64 *
  103458. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103459. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103460. | ~~~~~~~~~~~~~~~~~~~^~
  103461. In file included from ././common/inc/nv-linux.h:37:
  103462. ././common/inc/nv-time.h: At top level:
  103463. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  103464. 40 | struct timespec64 {
  103465. | ^~~~~~~~~~
  103466. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  103467. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  103468. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  103469. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  103470. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  103471. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  103472. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  103473. 13 | struct timespec64 {
  103474. | ^~~~~~~~~~
  103475. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  103476. 77 | static inline struct timespec64 timespec64_add
  103477. | ^~~~~~~~~~~~~~
  103478. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  103479. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  103480. | ^~~~~~~~~~~~~~
  103481. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  103482. 95 | static inline struct timespec64 timespec64_sub
  103483. | ^~~~~~~~~~~~~~
  103484. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  103485. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  103486. | ^~~~~~~~~~~~~~
  103487. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  103488. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  103489. | ^~~~~~~~~~~~~~~~
  103490. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  103491. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  103492. | ^~~~~~~~~~~~~~~~
  103493. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  103494. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103495. 122 | ktime_get_raw_ts64(&ts);
  103496. | ^~~
  103497. | |
  103498. | struct timespec64 *
  103499. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  103500. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103501. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103502. | ~~~~~~~~~~~~~~~~~~~^~
  103503. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  103504. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103505. 185 | ktime_get_raw_ts64(&tm_aux);
  103506. | ^~~~~~~
  103507. | |
  103508. | struct timespec64 *
  103509. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103510. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103511. | ~~~~~~~~~~~~~~~~~~~^~
  103512. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103513. 221 | ktime_get_raw_ts64(&tm_aux);
  103514. | ^~~~~~~
  103515. | |
  103516. | struct timespec64 *
  103517. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103518. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103519. | ~~~~~~~~~~~~~~~~~~~^~
  103520. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  103521. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103522. 502 | NV_MEMDBG_ADD(ptr, size);
  103523. | ^
  103524. In file included from ././common/inc/nv-linux.h:34,
  103525. from nvidia/nv_uvm_interface.c:33:
  103526. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  103527. 29 | typedef int vm_fault_t;
  103528. | ^~~~~~~~~~
  103529. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  103530. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  103531. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  103532. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  103533. from ././common/inc/nv-lock.h:35,
  103534. from ././common/inc/nv-linux.h:32:
  103535. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  103536. 1311 | typedef __bitwise unsigned int vm_fault_t;
  103537. | ^~~~~~~~~~
  103538. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  103539. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  103540. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  103541. from ././common/inc/nv-lock.h:29:
  103542. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  103543. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103544. 52 | #define current get_current()
  103545. | ^~~~~~~~~~~~~
  103546. | |
  103547. | struct task_struct *
  103548. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  103549. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103550. | ^~~~~~~
  103551. In file included from ././common/inc/nv-pgprot.h:30,
  103552. from ././common/inc/nv-linux.h:33:
  103553. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  103554. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103555. | ~~~~~~~~~~~~~~^~~~~
  103556. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103557. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103558. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  103559. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103560. | ~~~~~~~~~~~~~~^~~~~~~~
  103561. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  103562. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103563. | ^~~~~~~~
  103564. | |
  103565. | long unsigned int
  103566. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  103567. 2535 | unsigned int gup_flags, struct page **pages);
  103568. | ~~~~~~~~~~~~~~^~~~~
  103569. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  103570. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  103571. | ^~~~~~~~~~~~~~ ~~~~~
  103572. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  103573. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103574. | ^~~~~~~~~~~~~~
  103575. In file included from ././common/inc/nv.h:35,
  103576. from ././common/inc/nv-linux.h:28:
  103577. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  103578. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103579. 8 | #define NULL ((void *)0)
  103580. | ^~~~~~~~~~~
  103581. | |
  103582. | void *
  103583. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  103584. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103585. | ^~~~
  103586. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  103587. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103588. | ~~~~~~~~~~~~~~^~~~~
  103589. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  103590. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103591. | ^~
  103592. | |
  103593. | struct mm_struct *
  103594. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  103595. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103596. | ~~~~~~~~~~~~~~^~~~~~~~
  103597. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  103598. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103599. | ^~~~~~~~
  103600. | |
  103601. | long unsigned int
  103602. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  103603. 2535 | unsigned int gup_flags, struct page **pages);
  103604. | ~~~~~~~~~~~~~~^~~~~
  103605. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  103606. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  103607. | ^~~~~~~~~~~~~~ ~~~~~
  103608. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  103609. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  103610. | ^~~~~~~~~~~~~~
  103611. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  103612. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  103613. 237 | return (unsigned long)(vmf->virtual_address);
  103614. | ^~~~~~~~~~~~~~~
  103615. | real_address
  103616. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  103617. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103618. 246 | down_read(&mm->mmap_sem);
  103619. | ^~~~~~~~
  103620. | mmap_base
  103621. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  103622. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103623. 255 | up_read(&mm->mmap_sem);
  103624. | ^~~~~~~~
  103625. | mmap_base
  103626. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  103627. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103628. 264 | down_write(&mm->mmap_sem);
  103629. | ^~~~~~~~
  103630. | mmap_base
  103631. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  103632. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103633. 273 | up_write(&mm->mmap_sem);
  103634. | ^~~~~~~~
  103635. | mmap_base
  103636. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  103637. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103638. 282 | return rwsem_is_locked(&mm->mmap_sem);
  103639. | ^~~~~~~~
  103640. | mmap_base
  103641. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  103642. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  103643. 291 | return &mm->mmap_sem;
  103644. | ^~~~~~~~
  103645. | mmap_base
  103646. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  103647. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  103648. 300 | vma->vm_flags |= flags;
  103649. | ^~
  103650. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  103651. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  103652. 309 | vma->vm_flags &= ~flags;
  103653. | ^~
  103654. In file included from ././common/inc/nv-linux.h:37:
  103655. ././common/inc/nv-time.h: At top level:
  103656. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  103657. 40 | struct timespec64 {
  103658. | ^~~~~~~~~~
  103659. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  103660. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  103661. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  103662. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  103663. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  103664. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  103665. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  103666. 13 | struct timespec64 {
  103667. | ^~~~~~~~~~
  103668. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  103669. 77 | static inline struct timespec64 timespec64_add
  103670. | ^~~~~~~~~~~~~~
  103671. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  103672. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  103673. | ^~~~~~~~~~~~~~
  103674. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  103675. 95 | static inline struct timespec64 timespec64_sub
  103676. | ^~~~~~~~~~~~~~
  103677. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  103678. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  103679. | ^~~~~~~~~~~~~~
  103680. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  103681. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  103682. | ^~~~~~~~~~~~~~~~
  103683. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  103684. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  103685. | ^~~~~~~~~~~~~~~~
  103686. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  103687. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103688. 122 | ktime_get_raw_ts64(&ts);
  103689. | ^~~
  103690. | |
  103691. | struct timespec64 *
  103692. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  103693. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103694. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103695. | ~~~~~~~~~~~~~~~~~~~^~
  103696. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  103697. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103698. 185 | ktime_get_raw_ts64(&tm_aux);
  103699. | ^~~~~~~
  103700. | |
  103701. | struct timespec64 *
  103702. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103703. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103704. | ~~~~~~~~~~~~~~~~~~~^~
  103705. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  103706. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  103707. 221 | ktime_get_raw_ts64(&tm_aux);
  103708. | ^~~~~~~
  103709. | |
  103710. | struct timespec64 *
  103711. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  103712. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  103713. | ~~~~~~~~~~~~~~~~~~~^~
  103714. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  103715. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  103716. | ^~~~~~~~~~~~~~~~~~~~~~~
  103717. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103718. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103719. 520 | NV_MEMDBG_ADD(ptr, size);
  103720. | ^
  103721. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  103722. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  103723. 533 | ptr = ioremap_cache_shared(phys, size);
  103724. | ^~~~~~~~~~~~~~~~~~~~
  103725. | ioremap_cache
  103726. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103727. 533 | ptr = ioremap_cache_shared(phys, size);
  103728. | ^
  103729. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103730. 556 | NV_MEMDBG_ADD(ptr, size);
  103731. | ^
  103732. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  103733. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  103734. 533 | ptr = ioremap_cache_shared(phys, size);
  103735. | ^~~~~~~~~~~~~~~~~~~~
  103736. | ioremap_cache
  103737. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103738. 533 | ptr = ioremap_cache_shared(phys, size);
  103739. | ^
  103740. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103741. 556 | NV_MEMDBG_ADD(ptr, size);
  103742. | ^
  103743. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  103744. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103745. 502 | NV_MEMDBG_ADD(ptr, size);
  103746. | ^
  103747. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  103748. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103749. 502 | NV_MEMDBG_ADD(ptr, size);
  103750. | ^
  103751. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  103752. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  103753. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  103754. | ^~~~~~~~~~~~~~~~~~~~~~~
  103755. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103756. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103757. 520 | NV_MEMDBG_ADD(ptr, size);
  103758. | ^
  103759. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  103760. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  103761. 533 | ptr = ioremap_cache_shared(phys, size);
  103762. | ^~~~~~~~~~~~~~~~~~~~
  103763. | ioremap_cache
  103764. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103765. 533 | ptr = ioremap_cache_shared(phys, size);
  103766. | ^
  103767. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103768. 556 | NV_MEMDBG_ADD(ptr, size);
  103769. | ^
  103770. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  103771. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103772. 502 | NV_MEMDBG_ADD(ptr, size);
  103773. | ^
  103774. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  103775. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  103776. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  103777. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  103778. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103779. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  103780. | ^
  103781. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103782. 573 | NV_MEMDBG_ADD(ptr, size);
  103783. | ^
  103784. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  103785. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  103786. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  103787. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  103788. ././common/inc/nv-linux.h: In function 'nv_vmap':
  103789. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103790. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  103791. | ^
  103792. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103793. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  103794. | ^
  103795. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103796. 573 | NV_MEMDBG_ADD(ptr, size);
  103797. | ^
  103798. ././common/inc/nv-linux.h: In function 'nv_vmap':
  103799. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103800. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  103801. | ^
  103802. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  103803. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  103804. 736 | return phys_to_dma(dev, pa);
  103805. | ^~~~~~~~~~~
  103806. | nv_phys_to_dma
  103807. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  103808. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  103809. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  103810. | ^~~~~~~~~~~~~~~~~~~~~~~
  103811. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103812. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  103813. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  103814. 736 | return phys_to_dma(dev, pa);
  103815. | ^~~~~~~~~~~
  103816. | nv_phys_to_dma
  103817. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103818. 520 | NV_MEMDBG_ADD(ptr, size);
  103819. | ^
  103820. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  103821. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  103822. 533 | ptr = ioremap_cache_shared(phys, size);
  103823. | ^~~~~~~~~~~~~~~~~~~~
  103824. | ioremap_cache
  103825. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  103826. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103827. 533 | ptr = ioremap_cache_shared(phys, size);
  103828. | ^
  103829. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103830. 556 | NV_MEMDBG_ADD(ptr, size);
  103831. | ^
  103832. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103833. 502 | NV_MEMDBG_ADD(ptr, size);
  103834. | ^
  103835. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  103836. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  103837. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  103838. | ^~~~~~~~~~~~~~~~~~~~~~~
  103839. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103840. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103841. 520 | NV_MEMDBG_ADD(ptr, size);
  103842. | ^
  103843. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  103844. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  103845. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  103846. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  103847. | ^~~~~~~~~~~~~
  103848. | d_is_dir
  103849. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  103850. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  103851. | ^~~~~~~~~~~~~
  103852. | d_is_dir
  103853. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  103854. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  103855. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  103856. | ^~~~~~~~~~~~~~~~~~~~~~~
  103857. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103858. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103859. 520 | NV_MEMDBG_ADD(ptr, size);
  103860. | ^
  103861. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  103862. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  103863. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  103864. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  103865. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103866. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  103867. | ^
  103868. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103869. 573 | NV_MEMDBG_ADD(ptr, size);
  103870. | ^
  103871. ././common/inc/nv-linux.h: In function 'nv_vmap':
  103872. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103873. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  103874. | ^
  103875. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  103876. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  103877. 736 | return phys_to_dma(dev, pa);
  103878. | ^~~~~~~~~~~
  103879. | nv_phys_to_dma
  103880. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  103881. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103882. 502 | NV_MEMDBG_ADD(ptr, size);
  103883. | ^
  103884. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-pci.o] Error 1
  103885. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  103886. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  103887. 533 | ptr = ioremap_cache_shared(phys, size);
  103888. | ^~~~~~~~~~~~~~~~~~~~
  103889. | ioremap_cache
  103890. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103891. 533 | ptr = ioremap_cache_shared(phys, size);
  103892. | ^
  103893. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103894. 556 | NV_MEMDBG_ADD(ptr, size);
  103895. | ^
  103896. CC [M] nvidia/i2c_nvswitch.o
  103897. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  103898. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  103899. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  103900. | ^~~~~~~~~~~~~~~~~~~~~~~
  103901. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103902. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103903. 520 | NV_MEMDBG_ADD(ptr, size);
  103904. | ^
  103905. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  103906. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  103907. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  103908. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  103909. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103910. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  103911. | ^
  103912. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103913. 573 | NV_MEMDBG_ADD(ptr, size);
  103914. | ^
  103915. ././common/inc/nv-linux.h: In function 'nv_vmap':
  103916. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103917. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  103918. | ^
  103919. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  103920. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  103921. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  103922. | ^~~~~~~~~~~~~
  103923. | d_is_dir
  103924. nvidia/os-mlock.c: In function 'nv_follow_pfn':
  103925. nvidia/os-mlock.c:34:12: error: implicit declaration of function 'unsafe_follow_pfn'; did you mean 'nv_follow_pfn'? [-Wimplicit-function-declaration]
  103926. 34 | return unsafe_follow_pfn(vma, address, pfn);
  103927. | ^~~~~~~~~~~~~~~~~
  103928. | nv_follow_pfn
  103929. In file included from ././common/inc/conftest.h:28,
  103930. from ././common/inc/nv_stdarg.h:29,
  103931. from ././common/inc/nv.h:41,
  103932. from ././common/inc/nv-linux.h:28,
  103933. from nvidia/linux_nvswitch.h:28,
  103934. from nvidia/i2c_nvswitch.c:24:
  103935. ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed!
  103936. 74 | #error dma_buf_export() conftest failed!
  103937. | ^~~~~
  103938. ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed!
  103939. 87 | #error wait_on_bit_lock() conftest failed!
  103940. | ^~~~~
  103941. ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed!
  103942. 90 | #error radix_tree_replace_slot() conftest failed!
  103943. | ^~~~~
  103944. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  103945. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103946. 502 | NV_MEMDBG_ADD(ptr, size);
  103947. | ^
  103948. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  103949. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103950. 502 | NV_MEMDBG_ADD(ptr, size);
  103951. | ^
  103952. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  103953. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  103954. 736 | return phys_to_dma(dev, pa);
  103955. | ^~~~~~~~~~~
  103956. | nv_phys_to_dma
  103957. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  103958. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  103959. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  103960. 533 | ptr = ioremap_cache_shared(phys, size);
  103961. | ^~~~~~~~~~~~~~~~~~~~
  103962. | ioremap_cache
  103963. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103964. 533 | ptr = ioremap_cache_shared(phys, size);
  103965. | ^
  103966. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103967. 556 | NV_MEMDBG_ADD(ptr, size);
  103968. | ^
  103969. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103970. 502 | NV_MEMDBG_ADD(ptr, size);
  103971. | ^
  103972. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  103973. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  103974. 533 | ptr = ioremap_cache_shared(phys, size);
  103975. | ^~~~~~~~~~~~~~~~~~~~
  103976. | ioremap_cache
  103977. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  103978. 533 | ptr = ioremap_cache_shared(phys, size);
  103979. | ^
  103980. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  103981. 556 | NV_MEMDBG_ADD(ptr, size);
  103982. | ^
  103983. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-mlock.o] Error 1
  103984. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-usermap.o] Error 1
  103985. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  103986. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  103987. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  103988. | ^~~~~~~~~~~~~
  103989. | d_is_dir
  103990. In file included from ././common/inc/nv-linux.h:34,
  103991. from nvidia/nvlink_linux.c:30:
  103992. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  103993. 29 | typedef int vm_fault_t;
  103994. | ^~~~~~~~~~
  103995. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22,
  103996. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7,
  103997. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16,
  103998. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list_lru.h:14,
  103999. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:13,
  104000. from nvidia/nvlink_linux.h:30,
  104001. from nvidia/nvlink_linux.c:27:
  104002. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  104003. 1311 | typedef __bitwise unsigned int vm_fault_t;
  104004. | ^~~~~~~~~~
  104005. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12,
  104006. from nvidia/nvlink_linux.h:28:
  104007. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  104008. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104009. 52 | #define current get_current()
  104010. | ^~~~~~~~~~~~~
  104011. | |
  104012. | struct task_struct *
  104013. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  104014. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104015. | ^~~~~~~
  104016. In file included from ././common/inc/nv-pgprot.h:30,
  104017. from ././common/inc/nv-linux.h:33:
  104018. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  104019. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104020. | ~~~~~~~~~~~~~~^~~~~
  104021. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104022. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104023. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  104024. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104025. | ~~~~~~~~~~~~~~^~~~~~~~
  104026. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  104027. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104028. | ^~~~~~~~
  104029. | |
  104030. | long unsigned int
  104031. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  104032. 2535 | unsigned int gup_flags, struct page **pages);
  104033. | ~~~~~~~~~~~~~~^~~~~
  104034. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  104035. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104036. | ^~~~~~~~~~~~~~ ~~~~~
  104037. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  104038. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104039. | ^~~~~~~~~~~~~~
  104040. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5,
  104041. from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14,
  104042. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6,
  104043. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5,
  104044. from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26,
  104045. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1,
  104046. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344,
  104047. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5,
  104048. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/init.h:5,
  104049. from nvidia/nvlink_linux.h:27:
  104050. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  104051. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104052. 8 | #define NULL ((void *)0)
  104053. | ^~~~~~~~~~~
  104054. | |
  104055. | void *
  104056. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  104057. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104058. | ^~~~
  104059. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  104060. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104061. | ~~~~~~~~~~~~~~^~~~~
  104062. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104063. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104064. | ^~
  104065. | |
  104066. | struct mm_struct *
  104067. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  104068. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104069. | ~~~~~~~~~~~~~~^~~~~~~~
  104070. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  104071. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104072. | ^~~~~~~~
  104073. | |
  104074. | long unsigned int
  104075. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  104076. 2535 | unsigned int gup_flags, struct page **pages);
  104077. | ~~~~~~~~~~~~~~^~~~~
  104078. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  104079. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104080. | ^~~~~~~~~~~~~~ ~~~~~
  104081. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  104082. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104083. | ^~~~~~~~~~~~~~
  104084. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  104085. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  104086. 237 | return (unsigned long)(vmf->virtual_address);
  104087. | ^~~~~~~~~~~~~~~
  104088. | real_address
  104089. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  104090. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104091. 246 | down_read(&mm->mmap_sem);
  104092. | ^~~~~~~~
  104093. | mmap_base
  104094. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  104095. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104096. 255 | up_read(&mm->mmap_sem);
  104097. | ^~~~~~~~
  104098. | mmap_base
  104099. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  104100. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104101. 264 | down_write(&mm->mmap_sem);
  104102. | ^~~~~~~~
  104103. | mmap_base
  104104. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  104105. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104106. 273 | up_write(&mm->mmap_sem);
  104107. | ^~~~~~~~
  104108. | mmap_base
  104109. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  104110. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104111. 282 | return rwsem_is_locked(&mm->mmap_sem);
  104112. | ^~~~~~~~
  104113. | mmap_base
  104114. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  104115. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104116. 291 | return &mm->mmap_sem;
  104117. | ^~~~~~~~
  104118. | mmap_base
  104119. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  104120. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  104121. 300 | vma->vm_flags |= flags;
  104122. | ^~
  104123. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  104124. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  104125. 309 | vma->vm_flags &= ~flags;
  104126. | ^~
  104127. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  104128. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104129. 502 | NV_MEMDBG_ADD(ptr, size);
  104130. | ^
  104131. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  104132. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  104133. 533 | ptr = ioremap_cache_shared(phys, size);
  104134. | ^~~~~~~~~~~~~~~~~~~~
  104135. | ioremap_cache
  104136. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104137. 533 | ptr = ioremap_cache_shared(phys, size);
  104138. | ^
  104139. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104140. 556 | NV_MEMDBG_ADD(ptr, size);
  104141. | ^
  104142. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  104143. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  104144. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  104145. | ^~~~~~~~~~~~~~~~~~~~~~~
  104146. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104147. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104148. 520 | NV_MEMDBG_ADD(ptr, size);
  104149. | ^
  104150. In file included from ././common/inc/nv-linux.h:37:
  104151. ././common/inc/nv-time.h: At top level:
  104152. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  104153. 40 | struct timespec64 {
  104154. | ^~~~~~~~~~
  104155. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  104156. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19,
  104157. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:10:
  104158. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  104159. 13 | struct timespec64 {
  104160. | ^~~~~~~~~~
  104161. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  104162. 77 | static inline struct timespec64 timespec64_add
  104163. | ^~~~~~~~~~~~~~
  104164. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  104165. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  104166. | ^~~~~~~~~~~~~~
  104167. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  104168. 95 | static inline struct timespec64 timespec64_sub
  104169. | ^~~~~~~~~~~~~~
  104170. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  104171. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  104172. | ^~~~~~~~~~~~~~
  104173. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  104174. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  104175. | ^~~~~~~~~~~~~~~~
  104176. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  104177. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  104178. | ^~~~~~~~~~~~~~~~
  104179. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  104180. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  104181. 122 | ktime_get_raw_ts64(&ts);
  104182. | ^~~
  104183. | |
  104184. | struct timespec64 *
  104185. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235,
  104186. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  104187. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  104188. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  104189. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  104190. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  104191. | ~~~~~~~~~~~~~~~~~~~^~
  104192. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  104193. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  104194. 185 | ktime_get_raw_ts64(&tm_aux);
  104195. | ^~~~~~~
  104196. | |
  104197. | struct timespec64 *
  104198. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  104199. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  104200. | ~~~~~~~~~~~~~~~~~~~^~
  104201. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  104202. 221 | ktime_get_raw_ts64(&tm_aux);
  104203. | ^~~~~~~
  104204. | |
  104205. | struct timespec64 *
  104206. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  104207. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  104208. | ~~~~~~~~~~~~~~~~~~~^~
  104209. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  104210. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  104211. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104212. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  104213. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104214. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104215. | ^
  104216. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104217. 573 | NV_MEMDBG_ADD(ptr, size);
  104218. | ^
  104219. ././common/inc/nv-linux.h: In function 'nv_vmap':
  104220. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104221. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  104222. | ^
  104223. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  104224. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  104225. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  104226. | ^~~~~~~~~~~~~~~~~~~~~~~
  104227. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104228. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104229. 520 | NV_MEMDBG_ADD(ptr, size);
  104230. | ^
  104231. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  104232. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  104233. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  104234. | ^~~~~~~~~~~~~~~~~~~~~~~
  104235. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104236. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104237. 520 | NV_MEMDBG_ADD(ptr, size);
  104238. | ^
  104239. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-memdbg.o] Error 1
  104240. In file included from ././common/inc/nv-linux.h:34:
  104241. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  104242. 29 | typedef int vm_fault_t;
  104243. | ^~~~~~~~~~
  104244. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  104245. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  104246. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  104247. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  104248. from ././common/inc/nv-lock.h:35,
  104249. from ././common/inc/nv-linux.h:32:
  104250. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  104251. 1311 | typedef __bitwise unsigned int vm_fault_t;
  104252. | ^~~~~~~~~~
  104253. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  104254. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  104255. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  104256. from ././common/inc/nv-lock.h:29:
  104257. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  104258. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104259. 52 | #define current get_current()
  104260. | ^~~~~~~~~~~~~
  104261. | |
  104262. | struct task_struct *
  104263. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  104264. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104265. | ^~~~~~~
  104266. In file included from ././common/inc/nv-pgprot.h:30,
  104267. from ././common/inc/nv-linux.h:33:
  104268. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  104269. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104270. | ~~~~~~~~~~~~~~^~~~~
  104271. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104272. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104273. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  104274. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104275. | ~~~~~~~~~~~~~~^~~~~~~~
  104276. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  104277. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104278. | ^~~~~~~~
  104279. | |
  104280. | long unsigned int
  104281. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  104282. 2535 | unsigned int gup_flags, struct page **pages);
  104283. | ~~~~~~~~~~~~~~^~~~~
  104284. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  104285. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104286. | ^~~~~~~~~~~~~~ ~~~~~
  104287. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  104288. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104289. | ^~~~~~~~~~~~~~
  104290. In file included from ././common/inc/nv.h:35:
  104291. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  104292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104293. 8 | #define NULL ((void *)0)
  104294. | ^~~~~~~~~~~
  104295. | |
  104296. | void *
  104297. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  104298. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104299. | ^~~~
  104300. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  104301. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104302. | ~~~~~~~~~~~~~~^~~~~
  104303. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104304. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104305. | ^~
  104306. | |
  104307. | struct mm_struct *
  104308. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  104309. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104310. | ~~~~~~~~~~~~~~^~~~~~~~
  104311. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  104312. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104313. | ^~~~~~~~
  104314. | |
  104315. | long unsigned int
  104316. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  104317. 2535 | unsigned int gup_flags, struct page **pages);
  104318. | ~~~~~~~~~~~~~~^~~~~
  104319. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  104320. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104321. | ^~~~~~~~~~~~~~ ~~~~~
  104322. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  104323. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104324. | ^~~~~~~~~~~~~~
  104325. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  104326. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  104327. 237 | return (unsigned long)(vmf->virtual_address);
  104328. | ^~~~~~~~~~~~~~~
  104329. | real_address
  104330. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  104331. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104332. 246 | down_read(&mm->mmap_sem);
  104333. | ^~~~~~~~
  104334. | mmap_base
  104335. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  104336. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104337. 255 | up_read(&mm->mmap_sem);
  104338. | ^~~~~~~~
  104339. | mmap_base
  104340. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  104341. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104342. 264 | down_write(&mm->mmap_sem);
  104343. | ^~~~~~~~
  104344. | mmap_base
  104345. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  104346. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104347. 273 | up_write(&mm->mmap_sem);
  104348. | ^~~~~~~~
  104349. | mmap_base
  104350. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  104351. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104352. 282 | return rwsem_is_locked(&mm->mmap_sem);
  104353. | ^~~~~~~~
  104354. | mmap_base
  104355. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  104356. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  104357. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104358. 291 | return &mm->mmap_sem;
  104359. | ^~~~~~~~
  104360. | mmap_base
  104361. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  104362. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  104363. | ^~~~~~~~~~~~~~~~~~~~~~~
  104364. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  104365. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  104366. 300 | vma->vm_flags |= flags;
  104367. | ^~
  104368. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  104369. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  104370. 309 | vma->vm_flags &= ~flags;
  104371. | ^~
  104372. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104373. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104374. 520 | NV_MEMDBG_ADD(ptr, size);
  104375. | ^
  104376. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  104377. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  104378. 736 | return phys_to_dma(dev, pa);
  104379. | ^~~~~~~~~~~
  104380. | nv_phys_to_dma
  104381. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  104382. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  104383. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104384. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  104385. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104386. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104387. | ^
  104388. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104389. 573 | NV_MEMDBG_ADD(ptr, size);
  104390. | ^
  104391. In file included from ././common/inc/nv-linux.h:37:
  104392. ././common/inc/nv-time.h: At top level:
  104393. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  104394. 40 | struct timespec64 {
  104395. | ^~~~~~~~~~
  104396. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  104397. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  104398. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  104399. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  104400. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  104401. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  104402. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  104403. 13 | struct timespec64 {
  104404. | ^~~~~~~~~~
  104405. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  104406. 77 | static inline struct timespec64 timespec64_add
  104407. | ^~~~~~~~~~~~~~
  104408. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  104409. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  104410. | ^~~~~~~~~~~~~~
  104411. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  104412. 95 | static inline struct timespec64 timespec64_sub
  104413. | ^~~~~~~~~~~~~~
  104414. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  104415. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  104416. | ^~~~~~~~~~~~~~
  104417. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  104418. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  104419. | ^~~~~~~~~~~~~~~~
  104420. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  104421. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  104422. | ^~~~~~~~~~~~~~~~
  104423. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  104424. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  104425. 122 | ktime_get_raw_ts64(&ts);
  104426. | ^~~
  104427. | |
  104428. | struct timespec64 *
  104429. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  104430. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  104431. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  104432. | ~~~~~~~~~~~~~~~~~~~^~
  104433. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  104434. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  104435. 185 | ktime_get_raw_ts64(&tm_aux);
  104436. | ^~~~~~~
  104437. | |
  104438. | struct timespec64 *
  104439. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  104440. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  104441. | ~~~~~~~~~~~~~~~~~~~^~
  104442. ././common/inc/nv-linux.h: In function 'nv_vmap':
  104443. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104444. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  104445. | ^
  104446. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  104447. 221 | ktime_get_raw_ts64(&tm_aux);
  104448. | ^~~~~~~
  104449. | |
  104450. | struct timespec64 *
  104451. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  104452. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  104453. | ~~~~~~~~~~~~~~~~~~~^~
  104454. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  104455. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  104456. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104457. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  104458. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104459. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104460. | ^
  104461. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104462. 573 | NV_MEMDBG_ADD(ptr, size);
  104463. | ^
  104464. ././common/inc/nv-linux.h: In function 'nv_vmap':
  104465. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104466. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  104467. | ^
  104468. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  104469. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  104470. 736 | return phys_to_dma(dev, pa);
  104471. | ^~~~~~~~~~~
  104472. | nv_phys_to_dma
  104473. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  104474. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  104475. 533 | ptr = ioremap_cache_shared(phys, size);
  104476. | ^~~~~~~~~~~~~~~~~~~~
  104477. | ioremap_cache
  104478. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104479. 533 | ptr = ioremap_cache_shared(phys, size);
  104480. | ^
  104481. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104482. 556 | NV_MEMDBG_ADD(ptr, size);
  104483. | ^
  104484. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  104485. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  104486. 736 | return phys_to_dma(dev, pa);
  104487. | ^~~~~~~~~~~
  104488. | nv_phys_to_dma
  104489. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  104490. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  104491. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  104492. | ^~~~~~~~~~~~~
  104493. | d_is_dir
  104494. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  104495. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  104496. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  104497. | ^~~~~~~~~~~~~~~~~~~~~~~
  104498. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104499. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104500. 520 | NV_MEMDBG_ADD(ptr, size);
  104501. | ^
  104502. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  104503. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  104504. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104505. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  104506. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104507. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104508. | ^
  104509. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104510. 573 | NV_MEMDBG_ADD(ptr, size);
  104511. | ^
  104512. In file included from ././common/inc/nv-linux.h:34:
  104513. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  104514. 29 | typedef int vm_fault_t;
  104515. | ^~~~~~~~~~
  104516. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  104517. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  104518. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  104519. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  104520. from ././common/inc/nv-lock.h:35,
  104521. from ././common/inc/nv-linux.h:32:
  104522. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  104523. 1311 | typedef __bitwise unsigned int vm_fault_t;
  104524. | ^~~~~~~~~~
  104525. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  104526. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  104527. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  104528. from ././common/inc/nv-lock.h:29:
  104529. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  104530. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104531. 52 | #define current get_current()
  104532. | ^~~~~~~~~~~~~
  104533. | |
  104534. | struct task_struct *
  104535. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  104536. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104537. | ^~~~~~~
  104538. ././common/inc/nv-linux.h: In function 'nv_vmap':
  104539. In file included from ././common/inc/nv-pgprot.h:30,
  104540. from ././common/inc/nv-linux.h:33:
  104541. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  104542. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104543. | ~~~~~~~~~~~~~~^~~~~
  104544. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104545. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  104546. | ^
  104547. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104548. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104549. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  104550. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104551. | ~~~~~~~~~~~~~~^~~~~~~~
  104552. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  104553. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104554. | ^~~~~~~~
  104555. | |
  104556. | long unsigned int
  104557. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  104558. 2535 | unsigned int gup_flags, struct page **pages);
  104559. | ~~~~~~~~~~~~~~^~~~~
  104560. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  104561. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  104562. | ^~~~~~~~~~~~~~ ~~~~~
  104563. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  104564. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104565. | ^~~~~~~~~~~~~~
  104566. In file included from ././common/inc/nv.h:35:
  104567. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  104568. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104569. 8 | #define NULL ((void *)0)
  104570. | ^~~~~~~~~~~
  104571. | |
  104572. | void *
  104573. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  104574. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104575. | ^~~~
  104576. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  104577. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104578. | ~~~~~~~~~~~~~~^~~~~
  104579. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  104580. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104581. | ^~
  104582. | |
  104583. | struct mm_struct *
  104584. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  104585. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104586. | ~~~~~~~~~~~~~~^~~~~~~~
  104587. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  104588. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104589. | ^~~~~~~~
  104590. | |
  104591. | long unsigned int
  104592. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  104593. 2535 | unsigned int gup_flags, struct page **pages);
  104594. | ~~~~~~~~~~~~~~^~~~~
  104595. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  104596. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  104597. | ^~~~~~~~~~~~~~ ~~~~~
  104598. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  104599. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  104600. | ^~~~~~~~~~~~~~
  104601. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  104602. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  104603. 237 | return (unsigned long)(vmf->virtual_address);
  104604. | ^~~~~~~~~~~~~~~
  104605. | real_address
  104606. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  104607. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104608. 246 | down_read(&mm->mmap_sem);
  104609. | ^~~~~~~~
  104610. | mmap_base
  104611. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  104612. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104613. 255 | up_read(&mm->mmap_sem);
  104614. | ^~~~~~~~
  104615. | mmap_base
  104616. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  104617. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104618. 264 | down_write(&mm->mmap_sem);
  104619. | ^~~~~~~~
  104620. | mmap_base
  104621. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  104622. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104623. 273 | up_write(&mm->mmap_sem);
  104624. | ^~~~~~~~
  104625. | mmap_base
  104626. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  104627. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104628. 282 | return rwsem_is_locked(&mm->mmap_sem);
  104629. | ^~~~~~~~
  104630. | mmap_base
  104631. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  104632. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  104633. 291 | return &mm->mmap_sem;
  104634. | ^~~~~~~~
  104635. | mmap_base
  104636. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  104637. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  104638. 300 | vma->vm_flags |= flags;
  104639. | ^~
  104640. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  104641. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  104642. 309 | vma->vm_flags &= ~flags;
  104643. | ^~
  104644. In file included from ././common/inc/nv-linux.h:37:
  104645. ././common/inc/nv-time.h: At top level:
  104646. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  104647. 40 | struct timespec64 {
  104648. | ^~~~~~~~~~
  104649. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  104650. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  104651. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  104652. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  104653. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  104654. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  104655. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  104656. 13 | struct timespec64 {
  104657. | ^~~~~~~~~~
  104658. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  104659. 77 | static inline struct timespec64 timespec64_add
  104660. | ^~~~~~~~~~~~~~
  104661. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  104662. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  104663. | ^~~~~~~~~~~~~~
  104664. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  104665. 95 | static inline struct timespec64 timespec64_sub
  104666. | ^~~~~~~~~~~~~~
  104667. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  104668. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  104669. | ^~~~~~~~~~~~~~
  104670. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  104671. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  104672. | ^~~~~~~~~~~~~~~~
  104673. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  104674. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  104675. | ^~~~~~~~~~~~~~~~
  104676. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  104677. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  104678. 122 | ktime_get_raw_ts64(&ts);
  104679. | ^~~
  104680. | |
  104681. | struct timespec64 *
  104682. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  104683. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  104684. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  104685. | ~~~~~~~~~~~~~~~~~~~^~
  104686. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  104687. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  104688. 736 | return phys_to_dma(dev, pa);
  104689. | ^~~~~~~~~~~
  104690. | nv_phys_to_dma
  104691. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  104692. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  104693. 185 | ktime_get_raw_ts64(&tm_aux);
  104694. | ^~~~~~~
  104695. | |
  104696. | struct timespec64 *
  104697. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  104698. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  104699. | ~~~~~~~~~~~~~~~~~~~^~
  104700. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  104701. 221 | ktime_get_raw_ts64(&tm_aux);
  104702. | ^~~~~~~
  104703. | |
  104704. | struct timespec64 *
  104705. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  104706. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  104707. | ~~~~~~~~~~~~~~~~~~~^~
  104708. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  104709. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  104710. 533 | ptr = ioremap_cache_shared(phys, size);
  104711. | ^~~~~~~~~~~~~~~~~~~~
  104712. | ioremap_cache
  104713. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104714. 533 | ptr = ioremap_cache_shared(phys, size);
  104715. | ^
  104716. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104717. 556 | NV_MEMDBG_ADD(ptr, size);
  104718. | ^
  104719. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  104720. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  104721. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  104722. | ^~~~~~~~~~~~~
  104723. | d_is_dir
  104724. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  104725. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  104726. 533 | ptr = ioremap_cache_shared(phys, size);
  104727. | ^~~~~~~~~~~~~~~~~~~~
  104728. | ioremap_cache
  104729. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104730. 533 | ptr = ioremap_cache_shared(phys, size);
  104731. | ^
  104732. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104733. 556 | NV_MEMDBG_ADD(ptr, size);
  104734. | ^
  104735. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  104736. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  104737. 533 | ptr = ioremap_cache_shared(phys, size);
  104738. | ^~~~~~~~~~~~~~~~~~~~
  104739. | ioremap_cache
  104740. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104741. 533 | ptr = ioremap_cache_shared(phys, size);
  104742. | ^
  104743. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104744. 556 | NV_MEMDBG_ADD(ptr, size);
  104745. | ^
  104746. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  104747. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  104748. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  104749. | ^~~~~~~~~~~~~
  104750. | d_is_dir
  104751. nvidia/nv-ibmnpu.c: At top level:
  104752. nvidia/nv-ibmnpu.c:395:6: warning: no previous prototype for 'nv_init_ibmnpu_info' [-Wmissing-prototypes]
  104753. 395 | void nv_init_ibmnpu_info(nv_state_t *nv)
  104754. | ^~~~~~~~~~~~~~~~~~~
  104755. nvidia/nv-ibmnpu.c:399:6: warning: no previous prototype for 'nv_destroy_ibmnpu_info' [-Wmissing-prototypes]
  104756. 399 | void nv_destroy_ibmnpu_info(nv_state_t *nv)
  104757. | ^~~~~~~~~~~~~~~~~~~~~~
  104758. nvidia/nv-ibmnpu.c:403:5: warning: no previous prototype for 'nv_init_ibmnpu_devices' [-Wmissing-prototypes]
  104759. 403 | int nv_init_ibmnpu_devices(nv_state_t *nv)
  104760. | ^~~~~~~~~~~~~~~~~~~~~~
  104761. nvidia/nv-ibmnpu.c:408:6: warning: no previous prototype for 'nv_unregister_ibmnpu_devices' [-Wmissing-prototypes]
  104762. 408 | void nv_unregister_ibmnpu_devices(nv_state_t *nv)
  104763. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  104764. nvidia/nv-ibmnpu.c:428:5: warning: no previous prototype for 'nv_get_ibmnpu_chip_id' [-Wmissing-prototypes]
  104765. 428 | int nv_get_ibmnpu_chip_id(nv_state_t *nv)
  104766. | ^~~~~~~~~~~~~~~~~~~~~
  104767. nvidia/nv-ibmnpu.c:437:6: warning: no previous prototype for 'nv_ibmnpu_cache_flush_numa_region' [-Wmissing-prototypes]
  104768. 437 | void nv_ibmnpu_cache_flush_numa_region(nv_state_t *nv)
  104769. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  104770. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  104771. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  104772. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  104773. | ^~~~~~~~~~~~~
  104774. | d_is_dir
  104775. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-ibmnpu.o] Error 1
  104776. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-registry.o] Error 1
  104777. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  104778. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  104779. 533 | ptr = ioremap_cache_shared(phys, size);
  104780. | ^~~~~~~~~~~~~~~~~~~~
  104781. | ioremap_cache
  104782. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104783. 533 | ptr = ioremap_cache_shared(phys, size);
  104784. | ^
  104785. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104786. 556 | NV_MEMDBG_ADD(ptr, size);
  104787. | ^
  104788. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  104789. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  104790. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104791. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  104792. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104793. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104794. | ^
  104795. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104796. 573 | NV_MEMDBG_ADD(ptr, size);
  104797. | ^
  104798. ././common/inc/nv-linux.h: In function 'nv_vmap':
  104799. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104800. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  104801. | ^
  104802. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-modeset-interface.o] Error 1
  104803. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-frontend.o] Error 1
  104804. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  104805. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  104806. 736 | return phys_to_dma(dev, pa);
  104807. | ^~~~~~~~~~~
  104808. | nv_phys_to_dma
  104809. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  104810. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  104811. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104812. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  104813. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104814. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104815. | ^
  104816. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104817. 573 | NV_MEMDBG_ADD(ptr, size);
  104818. | ^
  104819. ././common/inc/nv-linux.h: In function 'nv_vmap':
  104820. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104821. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  104822. | ^
  104823. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  104824. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  104825. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104826. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  104827. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104828. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104829. | ^
  104830. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104831. 573 | NV_MEMDBG_ADD(ptr, size);
  104832. | ^
  104833. ././common/inc/nv-linux.h: In function 'nv_vmap':
  104834. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104835. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  104836. | ^
  104837. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  104838. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  104839. 736 | return phys_to_dma(dev, pa);
  104840. | ^~~~~~~~~~~
  104841. | nv_phys_to_dma
  104842. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  104843. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  104844. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104845. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  104846. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104847. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104848. | ^
  104849. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104850. 573 | NV_MEMDBG_ADD(ptr, size);
  104851. | ^
  104852. ././common/inc/nv-linux.h: In function 'nv_vmap':
  104853. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104854. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  104855. | ^
  104856. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  104857. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  104858. 736 | return phys_to_dma(dev, pa);
  104859. | ^~~~~~~~~~~
  104860. | nv_phys_to_dma
  104861. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  104862. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  104863. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  104864. | ^~~~~~~~~~~~~
  104865. | d_is_dir
  104866. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  104867. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  104868. 736 | return phys_to_dma(dev, pa);
  104869. | ^~~~~~~~~~~
  104870. | nv_phys_to_dma
  104871. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  104872. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  104873. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  104874. | ^~~~~~~~~~~~~
  104875. | d_is_dir
  104876. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  104877. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  104878. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  104879. | ^~~~~~~~~~~~~
  104880. | d_is_dir
  104881. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  104882. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  104883. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104884. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  104885. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104886. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  104887. | ^
  104888. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104889. 573 | NV_MEMDBG_ADD(ptr, size);
  104890. | ^
  104891. ././common/inc/nv-linux.h: In function 'nv_vmap':
  104892. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104893. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  104894. | ^
  104895. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  104896. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  104897. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  104898. | ^~~~~~~~~~~~~
  104899. | d_is_dir
  104900. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  104901. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  104902. 736 | return phys_to_dma(dev, pa);
  104903. | ^~~~~~~~~~~
  104904. | nv_phys_to_dma
  104905. nvidia/nv-msi.c: In function 'nv_init_msi':
  104906. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104907. 602 | NV_MEMDBG_ADD(ptr, size); \
  104908. | ^
  104909. nvidia/nv-msi.c:39:9: note: in expansion of macro 'NV_KZALLOC'
  104910. 39 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * nvl->num_intr);
  104911. | ^~~~~~~~~~
  104912. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-report-err.o] Error 1
  104913. nvidia/nv-msi.c: In function 'nv_init_msix':
  104914. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104915. 595 | NV_MEMDBG_ADD(ptr, size); \
  104916. | ^
  104917. nvidia/nv-msi.c:90:5: note: in expansion of macro 'NV_KMALLOC'
  104918. 90 | NV_KMALLOC(nvl->msix_entries, sizeof(struct msix_entry) * num_intr);
  104919. | ^~~~~~~~~~
  104920. ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104921. 602 | NV_MEMDBG_ADD(ptr, size); \
  104922. | ^
  104923. nvidia/nv-msi.c:102:5: note: in expansion of macro 'NV_KZALLOC'
  104924. 102 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * num_intr);
  104925. | ^~~~~~~~~~
  104926. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  104927. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104928. 502 | NV_MEMDBG_ADD(ptr, size);
  104929. | ^
  104930. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  104931. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104932. 502 | NV_MEMDBG_ADD(ptr, size);
  104933. | ^
  104934. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-msi.o] Error 1
  104935. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  104936. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  104937. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  104938. | ^~~~~~~~~~~~~
  104939. | d_is_dir
  104940. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-rsync.o] Error 1
  104941. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  104942. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  104943. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  104944. | ^~~~~~~~~~~~~~~~~~~~~~~
  104945. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104946. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104947. 520 | NV_MEMDBG_ADD(ptr, size);
  104948. | ^
  104949. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  104950. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104951. 502 | NV_MEMDBG_ADD(ptr, size);
  104952. | ^
  104953. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  104954. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  104955. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  104956. | ^~~~~~~~~~~~~~~~~~~~~~~
  104957. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  104958. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  104959. 520 | NV_MEMDBG_ADD(ptr, size);
  104960. | ^
  104961. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv_uvm_interface.o] Error 1
  104962. nvidia/nv-caps.c: At top level:
  104963. nvidia/nv-caps.c:269:5: warning: no previous prototype for 'nv_cap_procfs_init' [-Wmissing-prototypes]
  104964. 269 | int nv_cap_procfs_init(void)
  104965. | ^~~~~~~~~~~~~~~~~~
  104966. In file included from ././common/inc/nv-procfs.h:26,
  104967. from nvidia/nv-caps.c:26:
  104968. nvidia/nv-caps.c: In function 'nv_cap_procfs_init':
  104969. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  104970. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  104971. | ^~~~
  104972. | |
  104973. | const nv_proc_ops_t * {aka const struct file_operations *}
  104974. nvidia/nv-caps.c:279:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  104975. 279 | file_entry = NV_CREATE_PROC_FILE("mig-minors", nv_cap_procfs_dir,
  104976. | ^~~~~~~~~~~~~~~~~~~
  104977. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  104978. from ././common/inc/nv-linux.h:220:
  104979. /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 *'}
  104980. 111 | const struct proc_ops *,
  104981. | ^~~~~~~~~~~~~~~~~~~~~~~
  104982. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  104983. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  104984. | ^~~~
  104985. | |
  104986. | const nv_proc_ops_t * {aka const struct file_operations *}
  104987. nvidia/nv-caps.c:286:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  104988. 286 | file_entry = NV_CREATE_PROC_FILE("nvlink-minors", nv_cap_procfs_dir,
  104989. | ^~~~~~~~~~~~~~~~~~~
  104990. /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 *'}
  104991. 111 | const struct proc_ops *,
  104992. | ^~~~~~~~~~~~~~~~~~~~~~~
  104993. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  104994. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  104995. | ^~~~
  104996. | |
  104997. | const nv_proc_ops_t * {aka const struct file_operations *}
  104998. nvidia/nv-caps.c:293:18: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  104999. 293 | file_entry = NV_CREATE_PROC_FILE("sys-minors", nv_cap_procfs_dir,
  105000. | ^~~~~~~~~~~~~~~~~~~
  105001. /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 *'}
  105002. 111 | const struct proc_ops *,
  105003. | ^~~~~~~~~~~~~~~~~~~~~~~
  105004. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/string.h:392,
  105005. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bitmap.h:13,
  105006. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/cpumask.h:12,
  105007. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt.h:21,
  105008. from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:102,
  105009. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18,
  105010. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:59:
  105011. nvidia/nv-caps.c: In function 'nv_cap_find_minor':
  105012. /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]
  105013. 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \
  105014. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  105015. 259 | __builtin_strlen(p), __fortify_strlen(p))
  105016. | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  105017. | |
  105018. | __kernel_size_t {aka long unsigned int}
  105019. ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen'
  105020. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  105021. | ^~~~~~
  105022. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  105023. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  105024. | ^~~~~~~~~~~~~~
  105025. nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key'
  105026. 310 | unsigned int key = nv_cap_hash_key(path);
  105027. | ^~~~~~~~~~~~~~~
  105028. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dcache.h:15,
  105029. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:8,
  105030. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7,
  105031. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133:
  105032. /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'}
  105033. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  105034. | ^~~~~~~~~~~~
  105035. In file included from nvidia/nv-caps.c:27:
  105036. ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2
  105037. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  105038. | ^~~~~~~~~~~~~~
  105039. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  105040. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  105041. | ^~~~~~~~~~~~~~
  105042. nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key'
  105043. 310 | unsigned int key = nv_cap_hash_key(path);
  105044. | ^~~~~~~~~~~~~~~
  105045. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here
  105046. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  105047. | ^~~~~~~~~~~~~~
  105048. nvidia/nv-caps.c: In function '_nv_cap_table_init':
  105049. /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]
  105050. 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \
  105051. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  105052. 259 | __builtin_strlen(p), __fortify_strlen(p))
  105053. | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  105054. | |
  105055. | __kernel_size_t {aka long unsigned int}
  105056. ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen'
  105057. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  105058. | ^~~~~~
  105059. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  105060. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  105061. | ^~~~~~~~~~~~~~
  105062. nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key'
  105063. 334 | key = nv_cap_hash_key(table[i].name);
  105064. | ^~~~~~~~~~~~~~~
  105065. /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'}
  105066. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  105067. | ^~~~~~~~~~~~
  105068. ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2
  105069. 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str))
  105070. | ^~~~~~~~~~~~~~
  105071. nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash'
  105072. 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE)
  105073. | ^~~~~~~~~~~~~~
  105074. nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key'
  105075. 334 | key = nv_cap_hash_key(table[i].name);
  105076. | ^~~~~~~~~~~~~~~
  105077. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here
  105078. 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int);
  105079. | ^~~~~~~~~~~~~~
  105080. nvidia/nv-caps.c: In function 'nv_cap_procfs_open':
  105081. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105082. 595 | NV_MEMDBG_ADD(ptr, size); \
  105083. | ^
  105084. nvidia/nv-caps.c:410:5: note: in expansion of macro 'NV_KMALLOC'
  105085. 410 | NV_KMALLOC(private, sizeof(nv_cap_file_private_t));
  105086. | ^~~~~~~~~~
  105087. nvidia/nv-caps.c: In function 'nv_cap_alloc':
  105088. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105089. 595 | NV_MEMDBG_ADD(ptr, size); \
  105090. | ^
  105091. nvidia/nv-caps.c:614:5: note: in expansion of macro 'NV_KMALLOC'
  105092. 614 | NV_KMALLOC(cap, sizeof(nv_cap_t));
  105093. | ^~~~~~~~~~
  105094. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105095. 595 | NV_MEMDBG_ADD(ptr, size); \
  105096. | ^
  105097. nvidia/nv-caps.c:621:5: note: in expansion of macro 'NV_KMALLOC'
  105098. 621 | NV_KMALLOC(cap->path, len);
  105099. | ^~~~~~~~~~
  105100. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105101. 595 | NV_MEMDBG_ADD(ptr, size); \
  105102. | ^
  105103. nvidia/nv-caps.c:633:5: note: in expansion of macro 'NV_KMALLOC'
  105104. 633 | NV_KMALLOC(cap->name, len);
  105105. | ^~~~~~~~~~
  105106. nvidia/nv-caps.c: In function 'nv_cap_create_file_entry':
  105107. nvidia/nv-caps.c:688:35: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  105108. 688 | &g_nv_cap_procfs_fops, (void*)cap);
  105109. | ^~~~~~~~~~~~~~~~~~~~~
  105110. | |
  105111. | nv_proc_ops_t * {aka struct file_operations *}
  105112. /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 *'}
  105113. 111 | const struct proc_ops *,
  105114. | ^~~~~~~~~~~~~~~~~~~~~~~
  105115. nvidia/nv-caps.c: In function 'nv_cap_init':
  105116. ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105117. 595 | NV_MEMDBG_ADD(ptr, size); \
  105118. | ^
  105119. nvidia/nv-caps.c:738:5: note: in expansion of macro 'NV_KMALLOC'
  105120. 738 | NV_KMALLOC(name, (strlen(path) + strlen(dir)) + 1);
  105121. | ^~~~~~~~~~
  105122. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  105123. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  105124. 533 | ptr = ioremap_cache_shared(phys, size);
  105125. | ^~~~~~~~~~~~~~~~~~~~
  105126. | ioremap_cache
  105127. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105128. 533 | ptr = ioremap_cache_shared(phys, size);
  105129. | ^
  105130. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105131. 556 | NV_MEMDBG_ADD(ptr, size);
  105132. | ^
  105133. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  105134. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  105135. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  105136. | ^~~~~~~~~~~~~~~~~~~~~~~
  105137. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105138. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105139. 520 | NV_MEMDBG_ADD(ptr, size);
  105140. | ^
  105141. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-caps.o] Error 1
  105142. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  105143. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  105144. 533 | ptr = ioremap_cache_shared(phys, size);
  105145. | ^~~~~~~~~~~~~~~~~~~~
  105146. | ioremap_cache
  105147. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105148. 533 | ptr = ioremap_cache_shared(phys, size);
  105149. | ^
  105150. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105151. 556 | NV_MEMDBG_ADD(ptr, size);
  105152. | ^
  105153. In file included from ././common/inc/nv-linux.h:34:
  105154. ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int'
  105155. 29 | typedef int vm_fault_t;
  105156. | ^~~~~~~~~~
  105157. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10,
  105158. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12,
  105159. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13,
  105160. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9,
  105161. from ././common/inc/nv-lock.h:35,
  105162. from ././common/inc/nv-linux.h:32:
  105163. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'}
  105164. 1311 | typedef __bitwise unsigned int vm_fault_t;
  105165. | ^~~~~~~~~~
  105166. In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7,
  105167. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79,
  105168. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56,
  105169. from ././common/inc/nv-lock.h:29:
  105170. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES':
  105171. /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  105172. 52 | #define current get_current()
  105173. | ^~~~~~~~~~~~~
  105174. | |
  105175. | struct task_struct *
  105176. ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current'
  105177. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  105178. | ^~~~~~~
  105179. In file included from ././common/inc/nv-pgprot.h:30,
  105180. from ././common/inc/nv-linux.h:33:
  105181. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
  105182. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  105183. | ~~~~~~~~~~~~~~^~~~~
  105184. ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  105185. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  105186. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  105187. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  105188. | ~~~~~~~~~~~~~~^~~~~~~~
  105189. ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  105190. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  105191. | ^~~~~~~~
  105192. | |
  105193. | long unsigned int
  105194. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  105195. 2535 | unsigned int gup_flags, struct page **pages);
  105196. | ~~~~~~~~~~~~~~^~~~~
  105197. ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  105198. 104 | return get_user_pages(current, current->mm, start, nr_pages, write,
  105199. | ^~~~~~~~~~~~~~ ~~~~~
  105200. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  105201. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  105202. | ^~~~~~~~~~~~~~
  105203. In file included from ././common/inc/nv.h:35:
  105204. ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE':
  105205. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  105206. 8 | #define NULL ((void *)0)
  105207. | ^~~~~~~~~~~
  105208. | |
  105209. | void *
  105210. ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL'
  105211. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  105212. | ^~~~
  105213. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *'
  105214. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  105215. | ~~~~~~~~~~~~~~^~~~~
  105216. ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion]
  105217. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  105218. | ^~
  105219. | |
  105220. | struct mm_struct *
  105221. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
  105222. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  105223. | ~~~~~~~~~~~~~~^~~~~~~~
  105224. ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
  105225. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  105226. | ^~~~~~~~
  105227. | |
  105228. | long unsigned int
  105229. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int'
  105230. 2535 | unsigned int gup_flags, struct page **pages);
  105231. | ~~~~~~~~~~~~~~^~~~~
  105232. ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8
  105233. 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas);
  105234. | ^~~~~~~~~~~~~~ ~~~~~
  105235. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here
  105236. 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages,
  105237. | ^~~~~~~~~~~~~~
  105238. ././common/inc/nv-mm.h: In function 'nv_page_fault_va':
  105239. ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'?
  105240. 237 | return (unsigned long)(vmf->virtual_address);
  105241. | ^~~~~~~~~~~~~~~
  105242. | real_address
  105243. ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock':
  105244. ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  105245. 246 | down_read(&mm->mmap_sem);
  105246. | ^~~~~~~~
  105247. | mmap_base
  105248. ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock':
  105249. ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  105250. 255 | up_read(&mm->mmap_sem);
  105251. | ^~~~~~~~
  105252. | mmap_base
  105253. ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock':
  105254. ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  105255. 264 | down_write(&mm->mmap_sem);
  105256. | ^~~~~~~~
  105257. | mmap_base
  105258. ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock':
  105259. ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  105260. 273 | up_write(&mm->mmap_sem);
  105261. | ^~~~~~~~
  105262. | mmap_base
  105263. ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked':
  105264. ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  105265. 282 | return rwsem_is_locked(&mm->mmap_sem);
  105266. | ^~~~~~~~
  105267. | mmap_base
  105268. ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock':
  105269. ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
  105270. 291 | return &mm->mmap_sem;
  105271. | ^~~~~~~~
  105272. | mmap_base
  105273. ././common/inc/nv-mm.h: In function 'nv_vm_flags_set':
  105274. ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags'
  105275. 300 | vma->vm_flags |= flags;
  105276. | ^~
  105277. ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear':
  105278. ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags'
  105279. 309 | vma->vm_flags &= ~flags;
  105280. | ^~
  105281. In file included from ././common/inc/nv-linux.h:37:
  105282. ././common/inc/nv-time.h: At top level:
  105283. ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64'
  105284. 40 | struct timespec64 {
  105285. | ^~~~~~~~~~
  105286. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7,
  105287. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10,
  105288. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25,
  105289. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6,
  105290. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18,
  105291. from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16:
  105292. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here
  105293. 13 | struct timespec64 {
  105294. | ^~~~~~~~~~
  105295. ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  105296. 77 | static inline struct timespec64 timespec64_add
  105297. | ^~~~~~~~~~~~~~
  105298. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)'
  105299. 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs,
  105300. | ^~~~~~~~~~~~~~
  105301. ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)'
  105302. 95 | static inline struct timespec64 timespec64_sub
  105303. | ^~~~~~~~~~~~~~
  105304. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)'
  105305. 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs,
  105306. | ^~~~~~~~~~~~~~
  105307. ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'}
  105308. 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts)
  105309. | ^~~~~~~~~~~~~~~~
  105310. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'}
  105311. 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts)
  105312. | ^~~~~~~~~~~~~~~~
  105313. ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns':
  105314. ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  105315. 122 | ktime_get_raw_ts64(&ts);
  105316. | ^~~
  105317. | |
  105318. | struct timespec64 *
  105319. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235:
  105320. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  105321. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  105322. | ~~~~~~~~~~~~~~~~~~~^~
  105323. ././common/inc/nv-time.h: In function 'nv_sleep_ms':
  105324. ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  105325. 185 | ktime_get_raw_ts64(&tm_aux);
  105326. | ^~~~~~~
  105327. | |
  105328. | struct timespec64 *
  105329. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  105330. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  105331. | ~~~~~~~~~~~~~~~~~~~^~
  105332. ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  105333. 221 | ktime_get_raw_ts64(&tm_aux);
  105334. | ^~~~~~~
  105335. | |
  105336. | struct timespec64 *
  105337. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  105338. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  105339. | ~~~~~~~~~~~~~~~~~~~^~
  105340. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  105341. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  105342. 533 | ptr = ioremap_cache_shared(phys, size);
  105343. | ^~~~~~~~~~~~~~~~~~~~
  105344. | ioremap_cache
  105345. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105346. 533 | ptr = ioremap_cache_shared(phys, size);
  105347. | ^
  105348. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105349. 556 | NV_MEMDBG_ADD(ptr, size);
  105350. | ^
  105351. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  105352. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  105353. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  105354. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  105355. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105356. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  105357. | ^
  105358. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105359. 573 | NV_MEMDBG_ADD(ptr, size);
  105360. | ^
  105361. ././common/inc/nv-linux.h: In function 'nv_vmap':
  105362. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105363. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  105364. | ^
  105365. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  105366. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  105367. 736 | return phys_to_dma(dev, pa);
  105368. | ^~~~~~~~~~~
  105369. | nv_phys_to_dma
  105370. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  105371. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  105372. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  105373. | ^~~~~~~~~~~~~
  105374. | d_is_dir
  105375. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  105376. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  105377. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  105378. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  105379. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105380. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  105381. | ^
  105382. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105383. 573 | NV_MEMDBG_ADD(ptr, size);
  105384. | ^
  105385. ././common/inc/nv-linux.h: In function 'nv_vmap':
  105386. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105387. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  105388. | ^
  105389. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  105390. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  105391. 736 | return phys_to_dma(dev, pa);
  105392. | ^~~~~~~~~~~
  105393. | nv_phys_to_dma
  105394. In file included from ././common/inc/nv-procfs.h:26,
  105395. from nvidia/procfs_nvswitch.c:25:
  105396. nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_device_add':
  105397. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  105398. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  105399. | ^~~~
  105400. | |
  105401. | const nv_proc_ops_t * {aka const struct file_operations *}
  105402. nvidia/procfs_nvswitch.c:135:13: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  105403. 135 | entry = NV_CREATE_PROC_FILE("information", device_dir, device_info,
  105404. | ^~~~~~~~~~~~~~~~~~~
  105405. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  105406. from ././common/inc/nv-linux.h:220:
  105407. /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 *'}
  105408. 111 | const struct proc_ops *,
  105409. | ^~~~~~~~~~~~~~~~~~~~~~~
  105410. nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_init':
  105411. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  105412. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  105413. | ^~~~
  105414. | |
  105415. | const nv_proc_ops_t * {aka const struct file_operations *}
  105416. nvidia/procfs_nvswitch.c:174:28: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  105417. 174 | nvswitch_permissions = NV_CREATE_PROC_FILE("permissions",
  105418. | ^~~~~~~~~~~~~~~~~~~
  105419. /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 *'}
  105420. 111 | const struct proc_ops *,
  105421. | ^~~~~~~~~~~~~~~~~~~~~~~
  105422. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  105423. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  105424. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  105425. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  105426. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105427. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  105428. | ^
  105429. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105430. 573 | NV_MEMDBG_ADD(ptr, size);
  105431. | ^
  105432. ././common/inc/nv-linux.h: In function 'nv_vmap':
  105433. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105434. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  105435. | ^
  105436. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  105437. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  105438. 736 | return phys_to_dma(dev, pa);
  105439. | ^~~~~~~~~~~
  105440. | nv_phys_to_dma
  105441. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/procfs_nvswitch.o] Error 1
  105442. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  105443. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  105444. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  105445. | ^~~~~~~~~~~~~
  105446. | d_is_dir
  105447. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  105448. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  105449. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  105450. | ^~~~~~~~~~~~~
  105451. | d_is_dir
  105452. In file included from ././common/inc/nv-procfs.h:26,
  105453. from nvidia/nvlink_linux.c:31:
  105454. nvidia/nvlink_linux.c: In function 'nvlink_permissions_init':
  105455. ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types]
  105456. 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\
  105457. | ^~~~
  105458. | |
  105459. | const nv_proc_ops_t * {aka const struct file_operations *}
  105460. nvidia/nvlink_linux.c:115:26: note: in expansion of macro 'NV_CREATE_PROC_FILE'
  105461. 115 | nvlink_permissions = NV_CREATE_PROC_FILE("permissions",
  105462. | ^~~~~~~~~~~~~~~~~~~
  105463. In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19,
  105464. from ././common/inc/nv-linux.h:220:
  105465. /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 *'}
  105466. 111 | const struct proc_ops *,
  105467. | ^~~~~~~~~~~~~~~~~~~~~~~
  105468. nvidia/nvlink_linux.c: At top level:
  105469. nvidia/nvlink_linux.c:313:12: warning: no previous prototype for 'nvlink_core_init' [-Wmissing-prototypes]
  105470. 313 | int __init nvlink_core_init(void)
  105471. | ^~~~~~~~~~~~~~~~
  105472. nvidia/nvlink_linux.c:389:6: warning: no previous prototype for 'nvlink_core_exit' [-Wmissing-prototypes]
  105473. 389 | void nvlink_core_exit(void)
  105474. | ^~~~~~~~~~~~~~~~
  105475. nvidia/linux_nvswitch.c: At top level:
  105476. nvidia/linux_nvswitch.c:52:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
  105477. 52 | const static struct
  105478. | ^~~~~
  105479. nvidia/linux_nvswitch.c:1705:1: warning: no previous prototype for 'nvswitch_init' [-Wmissing-prototypes]
  105480. 1705 | nvswitch_init
  105481. | ^~~~~~~~~~~~~
  105482. nvidia/linux_nvswitch.c:1790:1: warning: no previous prototype for 'nvswitch_exit' [-Wmissing-prototypes]
  105483. 1790 | nvswitch_exit
  105484. | ^~~~~~~~~~~~~
  105485. nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time':
  105486. nvidia/linux_nvswitch.c:1827:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  105487. 1827 | ktime_get_raw_ts64(&ts);
  105488. | ^~~
  105489. | |
  105490. | struct timespec64 *
  105491. /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *'
  105492. 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts);
  105493. | ~~~~~~~~~~~~~~~~~~~^~
  105494. nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time_epoch':
  105495. nvidia/linux_nvswitch.c:1849:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types]
  105496. 1849 | ktime_get_real_ts64(&ts);
  105497. | ^~~
  105498. | |
  105499. | struct timespec64 *
  105500. /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 *'
  105501. 44 | extern void ktime_get_real_ts64(struct timespec64 *tv);
  105502. | ~~~~~~~~~~~~~~~~~~~^~
  105503. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nvlink_linux.o] Error 1
  105504. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/linux_nvswitch.o] Error 1
  105505. ././common/inc/nv-linux.h: In function 'nv_vmalloc':
  105506. ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105507. 502 | NV_MEMDBG_ADD(ptr, size);
  105508. | ^
  105509. ././common/inc/nv-linux.h: In function 'nv_ioremap':
  105510. ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration]
  105511. 515 | void *ptr = ioremap_driver_hardened(phys, size);
  105512. | ^~~~~~~~~~~~~~~~~~~~~~~
  105513. ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105514. ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105515. 520 | NV_MEMDBG_ADD(ptr, size);
  105516. | ^
  105517. ././common/inc/nv-linux.h: In function 'nv_ioremap_cache':
  105518. ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration]
  105519. 533 | ptr = ioremap_cache_shared(phys, size);
  105520. | ^~~~~~~~~~~~~~~~~~~~
  105521. | ioremap_cache
  105522. ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105523. 533 | ptr = ioremap_cache_shared(phys, size);
  105524. | ^
  105525. ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105526. 556 | NV_MEMDBG_ADD(ptr, size);
  105527. | ^
  105528. ././common/inc/nv-linux.h: In function 'nv_ioremap_wc':
  105529. ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration]
  105530. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  105531. | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  105532. ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  105533. 565 | ptr = ioremap_driver_hardened_wc(phys, size);
  105534. | ^
  105535. ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105536. 573 | NV_MEMDBG_ADD(ptr, size);
  105537. | ^
  105538. ././common/inc/nv-linux.h: In function 'nv_vmap':
  105539. ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
  105540. 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE);
  105541. | ^
  105542. ././common/inc/nv-linux.h: In function 'nv_phys_to_dma':
  105543. ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration]
  105544. 736 | return phys_to_dma(dev, pa);
  105545. | ^~~~~~~~~~~
  105546. | nv_phys_to_dma
  105547. ././common/inc/nv-linux.h: In function 'nv_is_dma_direct':
  105548. ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration]
  105549. 1226 | if (dma_is_direct(get_dma_ops(dev)))
  105550. | ^~~~~~~~~~~~~
  105551. | d_is_dir
  105552. make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/i2c_nvswitch.o] Error 1
  105553. make[4]: Target './' not remade because of errors.
  105554. make[3]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:1997: .] Error 2
  105555. make[3]: Target 'modules' not remade because of errors.
  105556. make[2]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:251: __sub-make] Error 2
  105557. make[2]: Target 'modules' not remade because of errors.
  105558. make[2]: Leaving directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel'
  105559. make[1]: *** [Makefile:251: __sub-make] Error 2
  105560. make[1]: Target 'modules' not remade because of errors.
  105561. make[1]: Leaving directory '/usr/lib/modules/6.14.6-arch1-1/build'
  105562. make: *** [Makefile:82: modules] Error 2
Add Comment
Please, Sign In to add comment