birdie
February 1, 2024, 6:32am
1
Well, I’m confused. Normally when there’s an error building NVIDIA modules, someone has already posted info or/and patches to fix it and this time around there’s none:
LD [M] /tmp/1/NVIDIA-Linux-x86_64-550.40.07/kernel/nvidia.o
LD [M] /tmp/1/NVIDIA-Linux-x86_64-550.40.07/kernel/nvidia-modeset.o
LD [M] /tmp/1/NVIDIA-Linux-x86_64-550.40.07/kernel/nvidia-uvm.o
LD [M] /tmp/1/NVIDIA-Linux-x86_64-550.40.07/kernel/nvidia-peermem.o
LD [M] /tmp/1/NVIDIA-Linux-x86_64-550.40.07/kernel/nvidia-drm.o
MODPOST /tmp/1/NVIDIA-Linux-x86_64-550.40.07/kernel/Module.symvers
ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__rcu_read_lock'
ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__rcu_read_unlock'
make[3]: *** [scripts/Makefile.modpost:145: /tmp/1/NVIDIA-Linux-x86_64-550.40.07/kernel/Module.symvers] Error 1
make[2]: *** [/tmp/linux-6.7/Makefile:1863: modpost] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/tmp/linux-6.7'
make: *** [Makefile:85: modules] Error 2
Just in case here’s my .config:
config.zip (31.0 KB)
3 Likes
birdie
February 1, 2024, 6:48am
2
Since I’m a simple man and I have no effing clue how to fix this and I have my own kernel, I’ve simply patched it so that I could compile the NVIDIA driver:
diff --git a/linux-6.7/kernel/rcu/tree_plugin.h b/linux-6.7-nvidia-550.40.07/kernel/rcu/tree_plugin.h
index 4102108..72474d8 100644
--- a/linux-6.7/kernel/rcu/tree_plugin.h
+++ b/linux-6.7-nvidia-550.40.07/kernel/rcu/tree_plugin.h
@@ -406,7 +406,7 @@ void __rcu_read_lock(void)
WRITE_ONCE(current->rcu_read_unlock_special.b.need_qs, true);
barrier(); /* critical section after entry code. */
}
-EXPORT_SYMBOL_GPL(__rcu_read_lock);
+EXPORT_SYMBOL(__rcu_read_lock);
/*
* Preemptible RCU implementation for rcu_read_unlock().
@@ -431,7 +431,7 @@ void __rcu_read_unlock(void)
WARN_ON_ONCE(rrln < 0 || rrln > RCU_NEST_PMAX);
}
}
-EXPORT_SYMBOL_GPL(__rcu_read_unlock);
+EXPORT_SYMBOL(__rcu_read_unlock);
/*
* Advance a ->blkd_tasks-list pointer to the next entry, instead
The previous stable NVIDIA driver produces a metric ton of errors during compilation. Am I the only person running Linux 6.7? It’s been out for almost a month now. Doesn’t seem likely.
3 Likes
There are many users on kernel 6.7 (arch,fedora, liquorix), no issues known to me so far. Furthermore, __rcu_read_unlock, __rcu_read_lock have been gpl exports before. Also, 535 and 545 should compile on 6.7.
towo
February 1, 2024, 9:01am
4
I see that
modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__rcu_read_lock'
only on Kernel 6.8.rc2.
So i can confirm, for me 535, 545 and 550 drivers do compile against 6.7 kernel.
birdie
February 1, 2024, 9:17am
5
I am getting the same error with 545.29.06:
LD [M] /tmp/1/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia.o
LD [M] /tmp/1/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm.o
LD [M] /tmp/1/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-modeset.o
LD [M] /tmp/1/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm.o
LD [M] /tmp/1/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-peermem.o
MODPOST /tmp/1/NVIDIA-Linux-x86_64-545.29.06/kernel/Module.symvers
ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__rcu_read_lock'
ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__rcu_read_unlock'
make[3]: *** [scripts/Makefile.modpost:145: /tmp/1/NVIDIA-Linux-x86_64-545.29.06/kernel/Module.symvers] Error 1
make[2]: *** [/tmp/linux-6.7/Makefile:1863: modpost] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/tmp/linux-6.7'
make: *** [Makefile:82: modules] Error 2
I’m not hallucinating and I’m using the vanilla 6.7.3 kernel.
strings /NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia.o | grep rcu_read_lock
__rcu_read_lock
The driver absolutely uses this symbol and it’s marked GPL only in 6.7.3. Again, either everyone is lucky or they have patched the kernel.
towo
February 1, 2024, 9:27am
6
Ok, then it’s the same change, which is introduced in 6.8-rcX
opened 06:09PM - 22 Jan 24 UTC
build-problem
### NVIDIA Open GPU Kernel Modules Version
545.29.06
### Operating System … and Version
CachyOS (ArchLinux based)
### Kernel Release
6.8.0rc1
### Build Command
cd "${srcdir}/${_nv_pkg}/kernel"
local MODULE_FLAGS=(
KERNEL_UNAME="${pkgver}-${pkgsuffix}"
IGNORE_PREEMPT_RT_PRESENCE=1
NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES'
SYSSRC="${srcdir}/${_srcname}"
SYSOUT="${srcdir}/${_srcname}"
)
make ${BUILD_FLAGS[*]} ${MODULE_FLAGS[*]} -j$(nproc) modules
### Terminal output/Build Log
```
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (GCC) 13.2.1 20240118
You are using: cc (GCC) 13.2.1 20240118
SYMLINK /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-kernel.o
SYMLINK /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-modeset/nv-modeset-kernel.o
CONFTEST: hash__remap_4k_pfn
CONFTEST: set_pages_uc
CONFTEST: list_is_first
CONFTEST: set_memory_uc
CONFTEST: set_memory_array_uc
CONFTEST: set_pages_array_uc
CONFTEST: ioremap_cache
CONFTEST: ioremap_wc
CONFTEST: ioremap_driver_hardened
CONFTEST: ioremap_driver_hardened_wc
CONFTEST: ioremap_cache_shared
CONFTEST: pci_get_domain_bus_and_slot
CONFTEST: get_num_physpages
CONFTEST: pde_data
CONFTEST: xen_ioemu_inject_msi
CONFTEST: phys_to_dma
CONFTEST: get_dma_ops
CONFTEST: dma_attr_macros
CONFTEST: dma_map_page_attrs
CONFTEST: write_cr4
CONFTEST: of_find_node_by_phandle
CONFTEST: of_node_to_nid
CONFTEST: pnv_pci_get_npu_dev
CONFTEST: of_get_ibm_chip_id
CONFTEST: pci_bus_address
CONFTEST: pci_stop_and_remove_bus_device
CONFTEST: pci_rebar_get_possible_sizes
CONFTEST: wait_for_random_bytes
CONFTEST: register_cpu_notifier
CONFTEST: cpuhp_setup_state
CONFTEST: dma_map_resource
CONFTEST: get_backlight_device_by_name
CONFTEST: timer_setup
CONFTEST: pci_enable_msix_range
CONFTEST: kernel_read_has_pointer_pos_arg
CONFTEST: kernel_write_has_pointer_pos_arg
CONFTEST: dma_direct_map_resource
CONFTEST: tegra_get_platform
CONFTEST: tegra_bpmp_send_receive
CONFTEST: flush_cache_all
CONFTEST: vmf_insert_pfn
CONFTEST: jiffies_to_timespec
CONFTEST: ktime_get_raw_ts64
CONFTEST: ktime_get_real_ts64
CONFTEST: full_name_hash
CONFTEST: vga_tryget
CONFTEST: pci_enable_atomic_ops_to_root
CONFTEST: cc_platform_has
CONFTEST: seq_read_iter
CONFTEST: unsafe_follow_pfn
CONFTEST: drm_gem_object_get
CONFTEST: drm_gem_object_put_unlocked
CONFTEST: add_memory_driver_managed
CONFTEST: device_property_read_u64
CONFTEST: devm_of_platform_populate
CONFTEST: of_property_count_elems_of_size
CONFTEST: of_dma_configure
CONFTEST: of_property_read_variable_u8_array
CONFTEST: of_property_read_variable_u32_array
CONFTEST: i2c_new_client_device
CONFTEST: of_get_named_gpio
CONFTEST: i2c_unregister_device
CONFTEST: devm_gpio_request_one
CONFTEST: gpio_direction_input
CONFTEST: gpio_direction_output
CONFTEST: gpio_get_value
CONFTEST: gpio_set_value
CONFTEST: gpio_to_irq
CONFTEST: icc_get
CONFTEST: icc_put
CONFTEST: icc_set_bw
CONFTEST: dma_buf_export_args
CONFTEST: dma_buf_ops_has_kmap
CONFTEST: dma_buf_ops_has_kmap_atomic
CONFTEST: dma_buf_ops_has_map
CONFTEST: dma_buf_ops_has_map_atomic
CONFTEST: dma_buf_has_dynamic_attachment
CONFTEST: dma_buf_attachment_has_peer2peer
CONFTEST: dma_set_mask_and_coherent
CONFTEST: devm_clk_bulk_get_all
CONFTEST: get_task_ioprio
CONFTEST: mdev_set_iommu_device
CONFTEST: offline_and_remove_memory
CONFTEST: wait_on_bit_lock_argument_count
CONFTEST: radix_tree_empty
CONFTEST: radix_tree_replace_slot
CONFTEST: pnv_npu2_init_context
CONFTEST: cpumask_of_node
CONFTEST: ioasid_get
CONFTEST: mm_pasid_drop
CONFTEST: migrate_vma_setup
CONFTEST: mmget_not_zero
CONFTEST: mmgrab
CONFTEST: iommu_sva_bind_device_has_drvdata_arg
CONFTEST: vm_fault_to_errno
CONFTEST: find_next_bit_wrap
CONFTEST: acpi_video_backlight_use_native
CONFTEST: drm_dev_unref
CONFTEST: drm_reinit_primary_mode_group
CONFTEST: get_user_pages_remote
CONFTEST: get_user_pages
CONFTEST: pin_user_pages_remote
CONFTEST: pin_user_pages
CONFTEST: drm_gem_object_lookup
CONFTEST: drm_atomic_state_ref_counting
CONFTEST: drm_driver_has_gem_prime_res_obj
CONFTEST: drm_atomic_helper_connector_dpms
CONFTEST: drm_connector_funcs_have_mode_in_name
CONFTEST: drm_connector_has_vrr_capable_property
CONFTEST: drm_framebuffer_get
CONFTEST: drm_dev_put
CONFTEST: drm_format_num_planes
CONFTEST: drm_connector_for_each_possible_encoder
CONFTEST: drm_rotation_available
CONFTEST: drm_vma_offset_exact_lookup_locked
CONFTEST: nvhost_dma_fence_unpack
CONFTEST: dma_fence_set_error
CONFTEST: fence_set_error
CONFTEST: sync_file_get_fence
CONFTEST: drm_aperture_remove_conflicting_pci_framebuffers
CONFTEST: drm_fbdev_generic_setup
CONFTEST: drm_connector_attach_hdr_output_metadata_property
CONFTEST: drm_helper_crtc_enable_color_mgmt
CONFTEST: drm_crtc_enable_color_mgmt
CONFTEST: drm_atomic_helper_legacy_gamma_set
CONFTEST: is_export_symbol_gpl_of_node_to_nid
CONFTEST: is_export_symbol_gpl_sme_active
CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
CONFTEST: is_export_symbol_present_swiotlb_dma_ops
CONFTEST: is_export_symbol_present___close_fd
CONFTEST: is_export_symbol_present_close_fd
CONFTEST: is_export_symbol_present_get_unused_fd
CONFTEST: is_export_symbol_present_get_unused_fd_flags
CONFTEST: is_export_symbol_present_nvhost_get_default_device
CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_byte_offset
CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_aperture
CONFTEST: is_export_symbol_present_tegra_dce_register_ipc_client
CONFTEST: is_export_symbol_present_tegra_dce_unregister_ipc_client
CONFTEST: is_export_symbol_present_tegra_dce_client_ipc_send_recv
CONFTEST: is_export_symbol_present_dram_clk_to_mc_clk
CONFTEST: is_export_symbol_present_get_dram_num_channels
CONFTEST: is_export_symbol_present_tegra_dram_types
CONFTEST: is_export_symbol_present_pxm_to_node
CONFTEST: is_export_symbol_present_screen_info
CONFTEST: is_export_symbol_present_i2c_bus_status
CONFTEST: is_export_symbol_present_tegra_fuse_control_read
CONFTEST: is_export_symbol_present_pci_find_host_bridge
CONFTEST: is_export_symbol_present_tegra_get_platform
CONFTEST: is_export_symbol_present_tsec_comms_send_cmd
CONFTEST: is_export_symbol_present_tsec_comms_set_init_cb
CONFTEST: is_export_symbol_present_tsec_comms_clear_init_cb
CONFTEST: is_export_symbol_present_tsec_comms_alloc_mem_from_gscco
CONFTEST: is_export_symbol_present_tsec_comms_free_gscco_mem
CONFTEST: is_export_symbol_present_memory_block_size_bytes
CONFTEST: crypto
CONFTEST: is_export_symbol_present_int_active_memcg
CONFTEST: dma_ops
CONFTEST: swiotlb_dma_ops
CONFTEST: noncoherent_swiotlb_dma_ops
CONFTEST: vm_fault_has_address
CONFTEST: vm_insert_pfn_prot
CONFTEST: vmf_insert_pfn_prot
CONFTEST: vm_ops_fault_removed_vma_arg
CONFTEST: kmem_cache_has_kobj_remove_work
CONFTEST: sysfs_slab_unlink
CONFTEST: proc_ops
CONFTEST: timespec64
CONFTEST: vmalloc_has_pgprot_t_arg
CONFTEST: mm_has_mmap_lock
CONFTEST: pci_channel_state
CONFTEST: pci_dev_has_ats_enabled
CONFTEST: remove_memory_has_nid_arg
CONFTEST: add_memory_driver_managed_has_mhp_flags_arg
CONFTEST: num_registered_fb
CONFTEST: pci_driver_has_driver_managed_dma
CONFTEST: vm_area_struct_has_const_vm_flags
CONFTEST: memory_failure_has_trapno_arg
CONFTEST: backing_dev_info
CONFTEST: mm_context_t
CONFTEST: vm_fault_t
CONFTEST: mmu_notifier_ops_invalidate_range
CONFTEST: mmu_notifier_ops_arch_invalidate_secondary_tlbs
CONFTEST: migrate_vma_added_flags
CONFTEST: migrate_device_range
CONFTEST: handle_mm_fault_has_mm_arg
CONFTEST: handle_mm_fault_has_pt_regs_arg
CONFTEST: mempolicy_has_unified_nodes
CONFTEST: mempolicy_has_home_node
CONFTEST: mpol_preferred_many_present
CONFTEST: mmu_interval_notifier
CONFTEST: drm_bus_present
CONFTEST: drm_bus_has_bus_type
CONFTEST: drm_bus_has_get_irq
CONFTEST: drm_bus_has_get_name
CONFTEST: drm_driver_has_device_list
CONFTEST: drm_driver_has_legacy_dev_list
CONFTEST: drm_driver_has_set_busid
CONFTEST: drm_crtc_state_has_connectors_changed
CONFTEST: drm_init_function_args
CONFTEST: drm_helper_mode_fill_fb_struct
CONFTEST: drm_master_drop_has_from_release_arg
CONFTEST: drm_driver_unload_has_int_return_type
CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
CONFTEST: drm_atomic_helper_plane_destroy_state_has_plane_arg
CONFTEST: drm_mode_object_find_has_file_priv_arg
CONFTEST: dma_buf_owner
CONFTEST: drm_connector_list_iter
CONFTEST: drm_atomic_helper_swap_state_has_stall_arg
CONFTEST: drm_driver_prime_flag_present
CONFTEST: drm_gem_object_has_resv
CONFTEST: drm_crtc_state_has_async_flip
CONFTEST: drm_crtc_state_has_pageflip_flags
CONFTEST: drm_crtc_state_has_vrr_enabled
CONFTEST: drm_format_modifiers_present
CONFTEST: drm_vma_node_is_allowed_has_tag_arg
CONFTEST: drm_vma_offset_node_has_readonly
CONFTEST: drm_display_mode_has_vrefresh
CONFTEST: drm_driver_master_set_has_int_return_type
CONFTEST: drm_driver_has_gem_free_object
CONFTEST: drm_prime_pages_to_sg_has_drm_device_arg
CONFTEST: drm_driver_has_gem_prime_callbacks
CONFTEST: drm_crtc_atomic_check_has_atomic_state_arg
CONFTEST: drm_gem_object_vmap_has_map_arg
CONFTEST: drm_plane_atomic_check_has_atomic_state_arg
CONFTEST: drm_device_has_pdev
CONFTEST: drm_crtc_state_has_no_vblank
CONFTEST: drm_mode_config_has_allow_fb_modifiers
CONFTEST: drm_has_hdr_output_metadata
CONFTEST: dma_resv_add_fence
CONFTEST: dma_resv_reserve_fences
CONFTEST: reservation_object_reserve_shared_has_num_fences_arg
CONFTEST: drm_connector_has_override_edid
CONFTEST: drm_master_has_leases
CONFTEST: drm_file_get_master
CONFTEST: drm_modeset_lock_all_end
CONFTEST: drm_connector_lookup
CONFTEST: drm_connector_put
CONFTEST: drm_driver_has_dumb_destroy
CONFTEST: fence_ops_use_64bit_seqno
CONFTEST: drm_aperture_remove_conflicting_pci_framebuffers_has_driver_arg
CONFTEST: drm_mode_create_dp_colorspace_property_has_supported_colorspaces_arg
CONFTEST: dom0_kernel_present
CONFTEST: nvidia_vgpu_kvm_build
CONFTEST: nvidia_grid_build
CONFTEST: nvidia_grid_csp_build
CONFTEST: pm_runtime_available
CONFTEST: pci_class_multimedia_hd_audio
CONFTEST: drm_available
CONFTEST: vfio_pci_core_available
CONFTEST: mdev_available
CONFTEST: cmd_uphy_display_port_init
CONFTEST: cmd_uphy_display_port_off
CONFTEST: memory_failure_mf_sw_simulated_defined
CONFTEST: drm_atomic_available
CONFTEST: is_export_symbol_gpl_refcount_inc
CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
CONFTEST: drm_alpha_blending_available
CONFTEST: is_export_symbol_present_drm_gem_prime_fd_to_handle
CONFTEST: is_export_symbol_present_drm_gem_prime_handle_to_fd
CONFTEST: ib_peer_memory_symbols
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-pci.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-dmabuf.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-nano-timer.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-acpi.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-cray.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-dma.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-i2c.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-mmap.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-p2p.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-pat.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-procfs.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-usermap.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-vm.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-vtophys.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/os-interface.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/os-mlock.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/os-pci.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/os-registry.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/os-usermap.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-modeset-interface.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-pci-table.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-kthread-q.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-memdbg.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-ibmnpu.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-report-err.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-rsync.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-msi.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-caps.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv_uvm_interface.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_aead.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_ecc.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_hkdf.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_aead.c:41:5: warning: no previous prototype for ‘libspdm_aead_prealloc’ [-Wmissing-prototypes]
41 | int libspdm_aead_prealloc(void **context, char const *alg)
| ^~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_aead.c:171:5: warning: no previous prototype for ‘libspdm_aead_prealloced’ [-Wmissing-prototypes]
171 | int libspdm_aead_prealloced(void *context,
| ^~~~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_rand.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_shash.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_aead_aes_gcm.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_sha.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_hmac_sha.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_hkdf_sha.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_ec.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/libspdm_x509.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nvlink_linux.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nvlink_caps.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/linux_nvswitch.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/procfs_nvswitch.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-dma.c:293:6: warning: no previous prototype for ‘nv_load_dma_map_scatterlist’ [-Wmissing-prototypes]
293 | void nv_load_dma_map_scatterlist(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-dma.c:489:23: warning: no previous prototype for ‘nv_dma_unmap_sgt’ [-Wmissing-prototypes]
489 | NV_STATUS NV_API_CALL nv_dma_unmap_sgt(
| ^~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-mmap.c:303:5: warning: conflicting types for ‘nv_encode_caching’ due to enum/integer mismatch; have ‘int(pgprot_t *, NvU32, nv_memory_type_t)’ {aka ‘int(struct pgprot *, unsigned int, nv_memory_type_t)’} [-Wenum-int-mismatch]
303 | int nv_encode_caching(
| ^~~~~~~~~~~~~~~~~
In file included from /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/common/inc/nv-linux.h:1734,
from /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-mmap.c:27:
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/common/inc/nv-proto.h:44:13: note: previous declaration of ‘nv_encode_caching’ with type ‘int(pgprot_t *, NvU32, NvU32)’ {aka ‘int(struct pgprot *, unsigned int, unsigned int)’}
44 | int nv_encode_caching (pgprot_t *, NvU32, NvU32);
| ^~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-vm.c: In function ‘nv_alloc_system_pages’:
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-vm.c:519:18: warning: unused variable ‘alloc_page_shift’ [-Wunused-variable]
519 | unsigned int alloc_page_shift = BIT_IDX_32(alloc_page_size);
| ^~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-vm.c: In function ‘nv_free_system_pages’:
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-vm.c:648:18: warning: unused variable ‘alloc_num_pages’ [-Wunused-variable]
648 | unsigned int alloc_num_pages = NV_CEIL(at->num_pages * PAGE_SIZE, alloc_page_size);
| ^~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-vm.c:647:18: warning: unused variable ‘alloc_page_shift’ [-Wunused-variable]
647 | unsigned int alloc_page_shift = BIT_IDX_32(alloc_page_size);
| ^~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-procfs.c:698:1: warning: no previous prototype for ‘exercise_error_forwarding_va’ [-Wmissing-prototypes]
698 | exercise_error_forwarding_va(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv.c:1215:23: warning: no previous prototype for ‘nv_get_num_dpaux_instances’ [-Wmissing-prototypes]
1215 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/os-interface.c:370:7: warning: no previous prototype for ‘os_mem_copy_custom’ [-Wmissing-prototypes]
370 | void *os_mem_copy_custom(
| ^~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/i2c_nvswitch.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-ibmnpu.c:395:6: warning: no previous prototype for ‘nv_init_ibmnpu_info’ [-Wmissing-prototypes]
395 | void nv_init_ibmnpu_info(nv_state_t *nv)
| ^~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-ibmnpu.c:399:6: warning: no previous prototype for ‘nv_destroy_ibmnpu_info’ [-Wmissing-prototypes]
399 | void nv_destroy_ibmnpu_info(nv_state_t *nv)
| ^~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-ibmnpu.c:403:5: warning: no previous prototype for ‘nv_init_ibmnpu_devices’ [-Wmissing-prototypes]
403 | int nv_init_ibmnpu_devices(nv_state_t *nv)
| ^~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-ibmnpu.c:408:6: warning: no previous prototype for ‘nv_unregister_ibmnpu_devices’ [-Wmissing-prototypes]
408 | void nv_unregister_ibmnpu_devices(nv_state_t *nv)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-ibmnpu.c:428:5: warning: no previous prototype for ‘nv_get_ibmnpu_chip_id’ [-Wmissing-prototypes]
428 | int nv_get_ibmnpu_chip_id(nv_state_t *nv)
| ^~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-ibmnpu.c:437:6: warning: no previous prototype for ‘nv_ibmnpu_cache_flush_numa_region’ [-Wmissing-prototypes]
437 | void nv_ibmnpu_cache_flush_numa_region(nv_state_t *nv)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ats_sva.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_conf_computing.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nv-caps.c:269:5: warning: no previous prototype for ‘nv_cap_procfs_init’ [-Wmissing-prototypes]
269 | int nv_cap_procfs_init(void)
| ^~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_sec2_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_sec2.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_hopper_sec2.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_common.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_linux.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/nvstatus.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/nvCpuUuid.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/nv-kthread-q.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/nv-kthread-q-selftest.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_tools.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_global.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_isr.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_procfs.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_space.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_space_mm.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_semaphore.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_mem.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_rm_mem.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_channel.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_lock.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nvlink_linux.c:313:12: warning: no previous prototype for ‘nvlink_core_init’ [-Wmissing-prototypes]
313 | int __init nvlink_core_init(void)
| ^~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/nvlink_linux.c:389:6: warning: no previous prototype for ‘nvlink_core_exit’ [-Wmissing-prototypes]
389 | void nvlink_core_exit(void)
| ^~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_hal.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/linux_nvswitch.c:1705:1: warning: no previous prototype for ‘nvswitch_init’ [-Wmissing-prototypes]
1705 | nvswitch_init
| ^~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia/linux_nvswitch.c:1790:1: warning: no previous prototype for ‘nvswitch_exit’ [-Wmissing-prototypes]
1790 | nvswitch_exit
| ^~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_processors.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_range_tree.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_rb_tree.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_range_allocator.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_range.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_policy.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_block.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_range_group.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/nv-kthread-q-selftest.c:84:6: warning: no previous prototype for ‘on_nvq_assert’ [-Wmissing-prototypes]
84 | void on_nvq_assert(void)
| ^~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_replayable_faults.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_non_replayable_faults.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_access_counters.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_perf_events.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_perf_module.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_semaphore.c:510:6: warning: no previous prototype for ‘tracking_semaphore_uses_mutex’ [-Wmissing-prototypes]
510 | bool tracking_semaphore_uses_mutex(uvm_gpu_tracking_semaphore_t *tracking_semaphore)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_tools.c:2321:5: warning: no previous prototype for ‘uvm_tools_init’ [-Wmissing-prototypes]
2321 | int uvm_tools_init(dev_t uvm_base_dev)
| ^~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu.c:1888:12: warning: no previous prototype for ‘uvm_gpu_get_by_parent_and_swizz_id_locked’ [-Wmissing-prototypes]
1888 | uvm_gpu_t *uvm_gpu_get_by_parent_and_swizz_id_locked(uvm_parent_gpu_t *parent_gpu, NvU32 swizz_id)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_tools.c:2382:6: warning: no previous prototype for ‘uvm_tools_exit’ [-Wmissing-prototypes]
2382 | void uvm_tools_exit(void)
| ^~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_mmu.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pte_batch.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_tlb_batch.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_push.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pushbuffer.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_thread_context.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_tracker.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_host.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_ce.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_mmu.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_fault_buffer.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_access_counter_buffer.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal_ce.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal_host.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal_mmu.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_non_replayable_faults.c: In function ‘service_managed_fault_in_block_locked’:
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_non_replayable_faults.c:377:64: warning: implicit conversion from ‘uvm_fault_access_type_t’ to ‘uvm_fault_type_t’ [-Wenum-conversion]
377 | fault_entry->fault_access_type,
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal_fault_buffer.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_replayable_faults.c: In function ‘check_fault_access_permissions’:
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_replayable_faults.c:1244:69: warning: implicit conversion from ‘uvm_fault_access_type_t’ to ‘uvm_fault_type_t’ [-Wenum-conversion]
1244 | fault_entry->fault_access_type,
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_replayable_faults.c:1274:66: warning: implicit conversion from ‘enum <anonymous>’ to ‘uvm_fault_type_t’ [-Wenum-conversion]
1274 | UVM_FAULT_ACCESS_TYPE_READ,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_volta_ce.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_volta_host.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_mmu.c:2169:11: warning: no previous prototype for ‘create_static_vidmem_mapping’ [-Wmissing-prototypes]
2169 | NV_STATUS create_static_vidmem_mapping(uvm_gpu_t *gpu)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_volta_mmu.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_volta.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_volta_fault_buffer.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_volta_access_counter_buffer.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_mmu.c:353:21: warning: no previous prototype for ‘uvm_hal_mmu_mode_maxwell’ [-Wmissing-prototypes]
353 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_maxwell(NvU32 big_page_size)
| ^~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_turing.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_mmu.c:362:6: warning: no previous prototype for ‘uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported’ [-Wmissing-prototypes]
362 | void uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_mmu.c:367:6: warning: no previous prototype for ‘uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported’ [-Wmissing-prototypes]
367 | void uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_mmu.c:372:23: warning: no previous prototype for ‘uvm_hal_maxwell_mmu_engine_id_to_type_unsupported’ [-Wmissing-prototypes]
372 | uvm_mmu_engine_type_t uvm_hal_maxwell_mmu_engine_id_to_type_unsupported(NvU16 mmu_engine_id)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_maxwell_mmu.c:378:7: warning: no previous prototype for ‘uvm_hal_maxwell_mmu_client_id_to_utlb_id_unsupported’ [-Wmissing-prototypes]
378 | NvU16 uvm_hal_maxwell_mmu_client_id_to_utlb_id_unsupported(NvU16 client_id)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_block.c: In function ‘uvm_va_block_check_logical_permissions’:
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_block.c:11616:60: warning: implicit conversion from ‘uvm_fault_type_t’ to ‘uvm_fault_access_type_t’ [-Wenum-conversion]
11616 | uvm_prot_t access_prot = uvm_fault_access_type_to_prot(access_type);
| ^~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_block.c: In function ‘block_cpu_fault_locked’:
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_turing_access_counter_buffer.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_block.c:11751:53: warning: implicit conversion from ‘uvm_fault_access_type_t’ to ‘uvm_fault_type_t’ [-Wenum-conversion]
11751 | fault_access_type,
| ^~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_turing_fault_buffer.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_turing_mmu.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_turing_host.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ampere.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ampere_ce.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ampere_host.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ampere_mmu.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_hopper.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_hopper_fault_buffer.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_hopper_ce.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal_mmu.c:356:21: warning: no previous prototype for ‘uvm_hal_mmu_mode_pascal’ [-Wmissing-prototypes]
356 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_pascal(NvU32 big_page_size)
| ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal_mmu.c:368:6: warning: no previous prototype for ‘uvm_hal_pascal_mmu_enable_prefetch_faults’ [-Wmissing-prototypes]
368 | void uvm_hal_pascal_mmu_enable_prefetch_faults(uvm_parent_gpu_t *parent_gpu)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal_mmu.c:380:6: warning: no previous prototype for ‘uvm_hal_pascal_mmu_disable_prefetch_faults’ [-Wmissing-prototypes]
380 | void uvm_hal_pascal_mmu_disable_prefetch_faults(uvm_parent_gpu_t *parent_gpu)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal_mmu.c:392:7: warning: no previous prototype for ‘uvm_hal_pascal_mmu_client_id_to_utlb_id’ [-Wmissing-prototypes]
392 | NvU16 uvm_hal_pascal_mmu_client_id_to_utlb_id(NvU16 client_id)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_hopper_host.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_hopper_mmu.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ada.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pascal_fault_buffer.c:329:6: warning: no previous prototype for ‘uvm_hal_pascal_fault_buffer_parse_non_replayable_entry_unsupported’ [-Wmissing-prototypes]
329 | void uvm_hal_pascal_fault_buffer_parse_non_replayable_entry_unsupported(uvm_parent_gpu_t *parent_gpu,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_policy.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_perf_utils.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_kvmalloc.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pmm_sysmem.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pmm_gpu.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_migrate.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_populate_pageable.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_migrate_pageable.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_map_external.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_user_channel.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_hmm.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_perf_heuristics.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_perf_thrashing.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_perf_prefetch.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ats.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ats_ibm.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_hopper_fault_buffer.c:30:6: warning: no previous prototype for ‘uvm_hal_hopper_fault_buffer_get_ve_id’ [-Wmissing-prototypes]
30 | NvU8 uvm_hal_hopper_fault_buffer_get_ve_id(NvU16 mmu_engine_id, uvm_mmu_engine_type_t mmu_engine_type)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ats_faults.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_test_rng.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_range_tree_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_range_allocator_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_gpu_semaphore_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_mem_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_rm_mem_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_page_tree_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_tracker_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_push_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_channel_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_ce_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_host_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_lock_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_perf_utils_test.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_migrate_pageable.c:510:6: warning: no previous prototype for ‘migrate_vma_cleanup_pages’ [-Wmissing-prototypes]
510 | void migrate_vma_cleanup_pages(unsigned long *dst, unsigned long npages)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_migrate_pageable.c:556:6: warning: no previous prototype for ‘uvm_migrate_vma_alloc_and_copy_helper’ [-Wmissing-prototypes]
556 | void uvm_migrate_vma_alloc_and_copy_helper(struct vm_area_struct *vma,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_migrate_pageable.c:645:6: warning: no previous prototype for ‘uvm_migrate_vma_finalize_and_map_helper’ [-Wmissing-prototypes]
645 | void uvm_migrate_vma_finalize_and_map_helper(struct vm_area_struct *vma,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_populate_pageable.c:56:11: warning: no previous prototype for ‘uvm_handle_fault’ [-Wmissing-prototypes]
56 | NV_STATUS uvm_handle_fault(struct vm_area_struct *vma, unsigned long start, unsigned long vma_num_pages, bool write)
| ^~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_map_external.c: In function ‘uvm_pte_buffer_init’:
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_map_external.c:104:42: warning: implicit conversion from ‘UvmGpuCachingType’ to ‘UvmRmGpuCachingType’ [-Wenum-conversion]
104 | pte_buffer->mapping_info.cachingType = map_rm_params->caching_type;
| ^
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_map_external.c:105:42: warning: implicit conversion from ‘UvmGpuMappingType’ to ‘UvmRmGpuMappingType’ [-Wenum-conversion]
105 | pte_buffer->mapping_info.mappingType = map_rm_params->mapping_type;
| ^
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_map_external.c:106:41: warning: implicit conversion from ‘UvmGpuFormatType’ to ‘UvmRmGpuFormatType’ [-Wenum-conversion]
106 | pte_buffer->mapping_info.formatType = map_rm_params->format_type;
| ^
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_map_external.c:107:42: warning: implicit conversion from ‘UvmGpuFormatElementBits’ to ‘UvmRmGpuFormatElementBits’ [-Wenum-conversion]
107 | pte_buffer->mapping_info.elementBits = map_rm_params->element_bits;
| ^
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_map_external.c:108:46: warning: implicit conversion from ‘UvmGpuCompressionType’ to ‘UvmRmGpuCompressionType’ [-Wenum-conversion]
108 | pte_buffer->mapping_info.compressionType = map_rm_params->compression_type;
| ^
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_kvmalloc_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pmm_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pmm_sysmem_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_perf_events_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_perf_module_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_get_rm_ptes_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_fault_buffer_flush_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_peer_identity_mappings_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_va_block_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_range_group_tree_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_thread_context_test.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_rb_tree_test.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_channel_test.c:687:11: warning: no previous prototype for ‘test_conf_computing_channel_selection’ [-Wmissing-prototypes]
687 | NV_STATUS test_conf_computing_channel_selection(uvm_va_space_t *va_space)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_channel_test.c:749:11: warning: no previous prototype for ‘test_write_ctrl_gpfifo_noop’ [-Wmissing-prototypes]
749 | NV_STATUS test_write_ctrl_gpfifo_noop(uvm_va_space_t *va_space)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_channel_test.c:788:11: warning: no previous prototype for ‘test_write_ctrl_gpfifo_and_pushes’ [-Wmissing-prototypes]
788 | NV_STATUS test_write_ctrl_gpfifo_and_pushes(uvm_va_space_t *va_space)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_channel_test.c:836:11: warning: no previous prototype for ‘test_write_ctrl_gpfifo_tight’ [-Wmissing-prototypes]
836 | NV_STATUS test_write_ctrl_gpfifo_tight(uvm_va_space_t *va_space)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_page_tree_test.c:1480:8: warning: no previous prototype for ‘get_page_sizes’ [-Wmissing-prototypes]
1480 | size_t get_page_sizes(uvm_gpu_t *gpu, NvU32 *page_sizes)
| ^~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-modeset/nvidia-modeset-linux.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-modeset/nv-kthread-q.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-drv.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-utils.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-crtc.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-encoder.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-connector.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pmm_test.c:909:11: warning: no previous prototype for ‘__test_pmm_async_alloc_type’ [-Wmissing-prototypes]
909 | NV_STATUS __test_pmm_async_alloc_type(uvm_va_space_t *va_space,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-gem.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pmm_sysmem_test.c:1077:11: warning: no previous prototype for ‘do_test_cpu_chunk_free’ [-Wmissing-prototypes]
1077 | NV_STATUS do_test_cpu_chunk_free(uvm_cpu_chunk_t *chunk, uvm_va_space_t *va_space, uvm_processor_mask_t *test_gpus)
| ^~~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-uvm/uvm_pmm_sysmem_test.c:1173:11: warning: no previous prototype for ‘test_cpu_chunk_free’ [-Wmissing-prototypes]
1173 | NV_STATUS test_cpu_chunk_free(uvm_va_space_t *va_space, uvm_processor_mask_t *test_gpus)
| ^~~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-fb.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-modeset.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-fence.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-linux.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-helper.o
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-modeset/nvidia-modeset-linux.c:1090:24: warning: no previous prototype for ‘nvkms_open_common’ [-Wmissing-prototypes]
1090 | struct nvkms_per_open *nvkms_open_common(enum NvKmsClientType type,
| ^~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-modeset/nvidia-modeset-linux.c:1142:6: warning: no previous prototype for ‘nvkms_close_pm_locked’ [-Wmissing-prototypes]
1142 | void nvkms_close_pm_locked(struct nvkms_per_open *popen)
| ^~~~~~~~~~~~~~~~~~~~~
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-modeset/nvidia-modeset-linux.c:1205:5: warning: no previous prototype for ‘nvkms_ioctl_common’ [-Wmissing-prototypes]
1205 | int nvkms_ioctl_common
| ^~~~~~~~~~~~~~~~~~
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nv-kthread-q.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nv-pci-table.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-gem-user-memory.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-gem-dma-buf.o
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-format.o
In file included from /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-drv.c:64:
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-drv.c:1513:40: error: ‘DRM_UNLOCKED’ undeclared here (not in a function); did you mean ‘VM_LOCKED’?
1513 | DRM_RENDER_ALLOW|DRM_UNLOCKED),
| ^~~~~~~~~~~~
./include/drm/drm_ioctl.h:155:26: note: in definition of macro ‘DRM_IOCTL_DEF_DRV’
155 | .flags = _flags, \
| ^~~~~~
make[3]: *** [scripts/Makefile.build:243: /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-drv.o] Error 1
make[3]: *** Waiting for unfinished jobs....
CC [M] /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-peermem/nvidia-peermem.o
make[2]: *** [/tmp/makepkg/linux-cachyos-rc/src/linux-6.8-rc1/Makefile:2075: /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/tmp/makepkg/linux-cachyos-rc/src/linux-6.8-rc1'
make: *** [Makefile:82: modules] Error 2
```
### More Info
Error here:
```
In file included from /tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-drv.c:64:
/tmp/makepkg/linux-cachyos-rc/src/NVIDIA-Linux-x86_64-545.29.06/kernel/nvidia-drm/nvidia-drm-drv.c:1513:40: error: ‘DRM_UNLOCKED’ undeclared here (not in a function); did you mean ‘VM_LOCKED’?
1513 | DRM_RENDER_ALLOW|DRM_UNLOCKED),
| ^~~~~~~~~~~~
./include/drm/drm_ioctl.h:155:26: note: in definition of macro ‘DRM_IOCTL_DEF_DRV’
155 | .flags = _flags, \
| ^~~~~~
```
Just for Info:
535 seems also affected and fails due GPL Symbol Error:
```
ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__rcu_read_unlock'
ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'BUG_func'
ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__rcu_read_lock'
```
Can be "workarounded" with following patch at the kernel, but this is license violation:
```
From 44154371304cc8d068dd33c5dec4057926c364af Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Mon, 22 Jan 2024 18:26:56 +0100
Subject: [PATCH] Workaround to fix issues when compiling the nvidia driver
Signed-off-by: Peter Jung <admin@ptr1337.dev>
---
arch/x86/kernel/alternative.c | 2 +-
kernel/rcu/tree_plugin.h | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index cc130b57542a..1d85cb7071cb 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -403,7 +403,7 @@ noinstr void BUG_func(void)
{
BUG();
}
-EXPORT_SYMBOL_GPL(BUG_func);
+EXPORT_SYMBOL(BUG_func);
#define CALL_RIP_REL_OPCODE 0xff
#define CALL_RIP_REL_MODRM 0x15
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index 41021080ad25..72474d8ec180 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -406,7 +406,7 @@ void __rcu_read_lock(void)
WRITE_ONCE(current->rcu_read_unlock_special.b.need_qs, true);
barrier(); /* critical section after entry code. */
}
-EXPORT_SYMBOL_GPL(__rcu_read_lock);
+EXPORT_SYMBOL(__rcu_read_lock);
/*
* Preemptible RCU implementation for rcu_read_unlock().
@@ -431,7 +431,7 @@ void __rcu_read_unlock(void)
WARN_ON_ONCE(rrln < 0 || rrln > RCU_NEST_PMAX);
}
}
-EXPORT_SYMBOL_GPL(__rcu_read_unlock);
+EXPORT_SYMBOL(__rcu_read_unlock);
/*
* Advance a ->blkd_tasks-list pointer to the next entry, instead
--
2.43.0
```
Until 6.7.2 there was no problem at all.
Taken from my 5.15.148 kernel:
EXPORT_SYMBOL_GPL(__rcu_read_unlock);
birdie
February 1, 2024, 9:37am
8
Both __rcu_read_lock
and __rcu_read_unlock
symbols are GPL only already in Linux 6.7.
No idea why I’m seemingly the only affected person.
I have some debug options enabled but nothing extraordinary:
# grep CONFIG_DEBUG .config | grep -v "not set"
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_INFO_NONE=y
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
CONFIG_DEBUG_WX=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_LIST=y
towo
February 1, 2024, 9:39am
9
Wait a “minute”, at the moment i build 6.7.3 so i can check, if i affected too.
generix
February 1, 2024, 9:46am
10
AFAIK, DEBUG_KERNEL can lead to unwanted consequences with the nvidia driver, maybe yours is one of those.
birdie
February 1, 2024, 9:54am
11
Fedora has all these debug options enabled sans CONFIG_DEBUG_INFO_NONE
which is disabled.
I want a faster PC that’s why I have it enabled.
And some of these options are not related to debugging at all.
towo
February 1, 2024, 9:55am
12
I can confirm, update from 6.7.2 => 6.7.3 nvidia kernel fails to build.
No change on the config between 6.7.2 and 6.7.3.
1 Like
generix
February 1, 2024, 10:28am
13
I suspect this kernel commit is the issue, it adds rcu_read_unlock/lock into the static inline pfn_valid so it ends up in the nvidia driver.
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/include/linux/mmzone.h?h=v6.7.3&id=3a01daace71b521563c38bbbf874e14c3e58adb7
Now the fun starts.
1 Like
So a kernel bug? Is that confirmed that Kernel 6.7.3 is like that? I have 6.7.2 so far and if so, will prevent from upgrading
Knut49
February 1, 2024, 5:23pm
16
Are there any patch to enable building with 6.7.3 or should we switch to open kernel driver.
this worked for me for both 6.7.3 and 6.8.0-rc2
I’m also having this problem on NixOS as of an update this morning.
1 Like
ionen
February 1, 2024, 9:11pm
19
For those that do not want to wait for NVIDIA’s fixed releases, I wrote a quick workaround patch for Gentoo that does not need to modify the kernel.
Not very tested but not seeing how it could cause problems (well, it lacks the kernel’s race fix but should be no worse than it was before and that may not have affected nvidia either way).
Patch was based on 470 but can be applied up to 550 with fuzz 1. Legacy (unsupported) 390 should be fine without this for most given pfn_valid() is only used on ppc64 there.
linux-6.1.76, 6.6.15, and 6.7.3 have modified the non-ARCH-specific
pfn_valid() to use __rcu_read_lock/unlock[1] that is marked GPL and
cannot be used here[2][3][4] unless use the open source variant.
As a workaround, reuse the old implementation until NVIDIA makes
a fixed release (due to no longer be using pfn_valid[5], likely
with its own implementation similarly to this patch).
Safe to use with kernel >=5.15 or so but older ones had a different
pfn_valid implementation. However 5.15 and older branches are
"currently" not affected, so simply limit to >=6.1.76.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/include/linux/mmzone.h?h=v6.7.3&id=3a01daace71b521563c38bbbf874e14c3e58adb7
[2] https://bugs.gentoo.org/923456
[3] https://forums.developer.nvidia.com/t/280908
[4] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/594
[5] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/594#issuecomment-1916197641
--- a/kernel/common/inc/nv-linux.h
+++ b/kernel/common/inc/nv-linux.h
@@ -1990,2 +1990,23 @@
This file has been truncated. show original
6 Likes
jeisom
February 2, 2024, 4:02am
20
Looks like they backported it to 6.6.15 as well.