Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6.8 rc1: Module is failing to build #594

Closed
ptr1337 opened this issue Jan 22, 2024 · 27 comments
Closed

6.8 rc1: Module is failing to build #594

ptr1337 opened this issue Jan 22, 2024 · 27 comments

Comments

@ptr1337
Copy link

ptr1337 commented Jan 22, 2024

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
@ptr1337
Copy link
Author

ptr1337 commented Jan 22, 2024

Okay, it appears that the GPL error is also present on 545, if patching the DRM_UNLOCKED issue.

Would be cool, if you would fix this with the upcoming release and including the 4070 Super support so that i can finally use the 545.xx drivers :)

@ttabi
Copy link

ttabi commented Jan 22, 2024

I'm sorry, but we don't accept bug reports -rc kernels. Unfortunately, the template for reporting build bugs is missing this clause and checkmark:

Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.
☐ I am running on a stable kernel release.

Please close this bug and try again when 6.8 is released. Nvidia already does testing with -rc kernels and we have fixes for these already in the queue.

@ptr1337
Copy link
Author

ptr1337 commented Jan 22, 2024

Tabi, don't take me wrong but there will be multiple people which will run into this issue, when they are doing the kernel testing.
This issue should be kept open, so other users can see what is going on.

It is good, that NVIDIA is doing internal testing with the RC Kernel, but we don't have access to your roadmap or issuetracker, so it should be good to have this publicly visible.

Also, I have reported in 4 different kernel versions in the past and it just kept be open and it was fine.

Feel free to close it, if you want to do so.

Edit:
If you dont want to have bugreports, then fix your bug template.

Edit2:
Also user will be able to share patches here, to have a working kernel instead of relaying on other sources. This worked already in the past, see:
#429 (comment)

@ttabi
Copy link

ttabi commented Jan 22, 2024

The reason we don't want bug reports for -rc kernels is because we already know about the issues. The problem exists with every kernel, so it's just noise to file these reports. This bug tracker should be used only for bugs that Nvidia doesn't already know about.

Also, we are in the process of fixing the template.

@gulafaran
Copy link

The reason we don't want bug reports for -rc kernels is because we already know about the issues. The problem exists with every kernel, so it's just noise to file these reports. This bug tracker should be used only for bugs that Nvidia doesn't already know about.

Also, we are in the process of fixing the template.

there is so much to to this that i barely know where to begin, so nvidias official take is kernel development is not support on nvidia devices? you either wait until nvidia release a driver 3 months down the road or hunt on obscure reddit posts for user workarounds to get it running, "bugs Nvidia doesnt already know about." well wow if only you didnt keep such things internal and actually disclosed your known bugs or even responded to things in your own dev forum about it.

this would solve itself in many cases if your bugs wasnt internal so we actually knew what you know...

@ptr1337
Copy link
Author

ptr1337 commented Jan 24, 2024

The reason we don't want bug reports for -rc kernels is because we already know about the issues. The problem exists with every kernel, so it's just noise to file these reports. This bug tracker should be used only for bugs that Nvidia doesn't already know about.
Also, we are in the process of fixing the template.

there is so much to to this that i barely know where to begin, so nvidias official take is kernel development is not support on nvidia devices? you either wait until nvidia release a driver 3 months down the road or hunt on obscure reddit posts for user workarounds to get it running, "bugs Nvidia doesnt already know about." well wow if only you didnt keep such things internal and actually disclosed your known bugs or even responded to things in your own dev forum about it.

this would solve itself in many cases if your bugs wasnt internal so we actually knew what you know...

If they have already internally a patch, they could share it to the community. It was mostly never something required to have changes on the precompiled utils binaries.
This would help so many distrubutions, which commonly provide a rc/testing kernel to have also testing (from the community) on nvidia side.

@NVIDIA Might just consider a own repo, where you would provide the patches.

@ttabi
Copy link

ttabi commented Jan 24, 2024

The reason for the policy against reporting bugs on -rc kernels is to avoid pointless arguments like this one. Reporting bugs like these just waste everyone's time.

Nvidia already aggressively tests -rc kernels and even linux-next. So we sometimes update our code for changes that haven't made it into an -rc kernel yet. However, we can't catch everything, and we do have a development process that we stick to. So you'll just have to be patient.

@amie1972
Copy link

amie1972 commented Jan 29, 2024

Okay, it appears that the GPL error is also present on 545, if patching the DRM_UNLOCKED issue.

Would be cool, if you would fix this with the upcoming release and including the 4070 Super support so that i can

finally use the 545.xx drivers

Is this patch for the kernel or the driver?
My understanding is that it is for the kernel. Sorry, I don't think this is a good idea.

@ptr1337
Copy link
Author

ptr1337 commented Jan 29, 2024

Okay, it appears that the GPL error is also present on 545, if patching the DRM_UNLOCKED issue.
Would be cool, if you would fix this with the upcoming release and including the 4070 Super support so that i can
finally use the 545.xx drivers

Is this patch for the kernel or the driver? My understanding is that it is for the kernel. Sorry, I don't think this is a good idea.

The following patch needs to be applied on the kernel, this is required for 545 as well as 550.
In 550 they fixed the DRM_UNLOCKED issue but not the GPL Issue

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

This one seems to help for the 545 driver and 6.8:
https://github.com/CachyOS/kernel-patches/blob/master/6.8/misc/nvidia/0001-nvidia-545.patch

We didnt check, how they did fix it in the 550 series yet, but the above workaround works.

@amie1972
Copy link

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

Since I can't compile the kernel yet (which is dangerous for a noob like me), I request you to submit this workaround to the official kernel, or patch the nvidia driver itself to fix the problem.

@aritger
Copy link
Collaborator

aritger commented Jan 29, 2024

Correct: the DRM_UNLOCKED issue was an NVIDIA bug, and fixed in the most recent NVIDIA driver release.

The BUG_func issue is resolved in the mainline Linux kernel:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/x86/kernel/alternative.c?id=f7cfe7017b531e08c108ac6615b1ddedcc892428

Are you still seeing problems with __rcu_read_unlock/__rcu_read_lock? I'm not aware of any remaining problems there.

@ptr1337
Copy link
Author

ptr1337 commented Jan 29, 2024

Correct: the DRM_UNLOCKED issue was an NVIDIA bug, and fixed in the most recent NVIDIA driver release.

The BUG_func issue is resolved in the mainline Linux kernel: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/x86/kernel/alternative.c?id=f7cfe7017b531e08c108ac6615b1ddedcc892428

Are you still seeing problems with __rcu_read_unlock/__rcu_read_lock? I'm not aware of any remaining problems there.

Hi @aritger ,

yes, i compiled today 6.8 rc2 and the rcu_read_unlock and rcu_read_lock GPL issue still affects the 550 drivers.

DRM_UNLOCKED got fixed in the NVIDIA 550 and the BUG_func got also fixed in rc2.

@aritger
Copy link
Collaborator

aritger commented Jan 29, 2024

Thanks, @ptr1337.

Can you tell if the __rcu_read_unlock/__rcu_read_lock problem is new with 6.8 rc's versus 6.7? Are you using the same kconfig between 6.7 and 6.8-rcN? I vaguely recall some scenarios in the past where some debug kconfig knobs (maybe CONFIG_DEBUG_KMEMLEAK?) cause common utility macros to call EXPORT_SYMBOL_GPL __rcu_read_unlock/__rcu_read_lock functions.

If you're hitting the problem that I'm remembering, then the options were:

(a) disable whatever kconfig knob causes the indirect calls to __rcu_read_unlock/__rcu_read_lock.

(b) use the open kernel modules, rather than the closed kernel modules.

If what you're seeing is new with 6.8-rcN, then I'd like to investigate further.
But, if what you're seeing is preexisting (6.7 or earlier) when using the same kconfig, then I fear options (a) and (b) are the only viable choices.

@aritger
Copy link
Collaborator

aritger commented Jan 30, 2024

Oh, sorry: we actually do have a new problem in the 6.8-rcs with __rcu_read_unlock/__rcu_read_lock, due to use of the macro pfn_valid() which in turn calls those EXPORT_GPL_SYMBOLS. It required a bit of detangling, but our next 550 release should remove the pfn_valid() use. Thanks for your patience.

@ptr1337
Copy link
Author

ptr1337 commented Jan 30, 2024

Oh, sorry: we actually do have a new problem in the 6.8-rcs with __rcu_read_unlock/__rcu_read_lock, due to use of the macro pfn_valid() which in turn calls those EXPORT_GPL_SYMBOLS. It required a bit of detangling, but our next 550 release should remove the pfn_valid() use. Thanks for your patience.

Hi!

Great to hear, that it will be fixed in the upcoming 550 Release (likely with the 4080 Super launch?).
Here you can find the used config as well as PKGBUILD:
https://github.com/CachyOS/linux-cachyos/blob/master/linux-cachyos-rc/config

Currently we patch for the RC Kernel __rcu_read_unlock/__rcu_read_lock to have compatbility with nvidia for our kernel testing.

Looking forward for the next release.

6.7 is completly fine btw.

@piso77
Copy link

piso77 commented Feb 1, 2024

Oh, sorry: we actually do have a new problem in the 6.8-rcs with __rcu_read_unlock/__rcu_read_lock, due to use of the macro pfn_valid() which in turn calls those EXPORT_GPL_SYMBOLS. It required a bit of detangling, but our next 550 release should remove the pfn_valid() use. Thanks for your patience.

Any ETA for the release with the pfn_valid() fix?

@towo2099
Copy link

towo2099 commented Feb 1, 2024

Now it happens with linux 6.7.3 too.

@ptr1337
Copy link
Author

ptr1337 commented Feb 1, 2024

@aritger @ttabi
I really think you should consider to revert this commit bb2dac1 and have here information and discussions about upstream kernel regression.

as you see above it helped already several people and distrubutions to have information about the current state.

@smira
Copy link

smira commented Feb 1, 2024

Now same problem with Linux 6.1.76 as well.

@birdie-github
Copy link

birdie-github commented Feb 1, 2024

@aritger

This commit now breaks binary NVIDIA drivers on Linux 6.7.3, 6.6.15 and 6.1.76:

commit 3a01daace71b521563c38bbbf874e14c3e58adb7
Author: Charan Teja Kalla
Date:   Fri Oct 13 18:34:27 2023 +0530

    mm/sparsemem: fix race in accessing memory_section->usage
    commit 5ec8e8ea8b7783fab150cf86404fc38cb4db8800 upstream.

A new beta couldn't come earlier, please.

For reference: https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908

@NuLL3rr0r
Copy link

NuLL3rr0r commented Feb 1, 2024

I can confirm this is reproducible with 6.6.15 as well. 6.6.14 builds as expected. I'm using Gentoo ebuilds x11-drivers/nvidia-drivers-545.29.06-r1.

@ptr1337
Copy link
Author

ptr1337 commented Feb 1, 2024

I can confirm this is reproducible with 6.6.15 as well. 6.6.14 builds as expected. I'm using Gentoo ebuilds x11-drivers/nvidia-drivers-545.29.06-r1.

You can "workaround" it with the above patch

@NuLL3rr0r
Copy link

Thank you! I saw the patch. Just wanted to raise the issue for 6.6.x as well since the initial discussion was about not accepting bug reports for -rc kernels.

@ionenwks
Copy link

ionenwks commented Feb 1, 2024

Kinda off-topic for the open source variant (not affected that I can see), but for those that need a patch for the GPL __rcu_read_lock issue applied to the drivers themselves rather than kernel using the blob variant, see: https://forums.developer.nvidia.com/t/280908/19

Unsure how NVIDIA is planning to fix this, but that's the simplest patch I could come up with as a quick fix.

@birdie-github
Copy link

birdie-github commented Feb 3, 2024

A Gentoo developer wrote a patch which doesn't involve patching the kernel (which many can't do and which Fedora/RedHat have outright refused to):

https://bugs.gentoo.org/923456

Courtesy of Ionen Wolkens, Gentoo:

nvidia-drivers-470.223.02-gpl-pfn_valid.zip

@birdie-github
Copy link

birdie-github commented Feb 23, 2024

550.54.14 drivers have just been released:

https://www.nvidia.com/Download/driverResults.aspx/218826/en-us/

I wonder if the issue has been addressed. There's nothing in the release notes.

Indeed the issue has seemingly been addressed! Hooray! Thanks a lot!

NVIDIA has also updated the 470th branch for older GPUs.

@ptr1337
Copy link
Author

ptr1337 commented Feb 23, 2024

Yes, it appears to be fixed. Will close this now.

@ptr1337 ptr1337 closed this as completed Feb 23, 2024
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Mar 22, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Mar 22, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Mar 22, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
rlmenge added a commit to microsoft/azurelinux that referenced this issue Apr 4, 2024
Patch out b448de2 "mm/sparsemem: fix race in accessing memory_section->usage"
This commit causes build failures for NVIDIA drivers. These
errors manifest as
"ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'rcu_read_unlock_strict'"

Note that this behavior is behind CONFIG_SPARSEMEM_VMEMMAP which
is enabled in CBL-Mariner 2.0

Tracking github issue:
NVIDIA/open-gpu-kernel-modules#594
rlmenge added a commit to microsoft/azurelinux that referenced this issue Apr 4, 2024
Patch out b448de2 "mm/sparsemem: fix race in accessing memory_section->usage"
This commit causes build failures for NVIDIA drivers. These
errors manifest as
"ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'rcu_read_unlock_strict'"

Note that this behavior is behind CONFIG_SPARSEMEM_VMEMMAP which
is enabled in CBL-Mariner 2.0

Tracking github issue:
NVIDIA/open-gpu-kernel-modules#594
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Apr 11, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Apr 11, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Apr 13, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Apr 17, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Apr 21, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Apr 27, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue May 2, 2024
This fixes compilation issues with Nvidia kernel modules as introduced by commit 3a01daace71b521563c38bbbf874e14c3e58adb7.

Technically the Nvidia modules need to be updated for this, but this should get them building for now.

References:
- https://forums.developer.nvidia.com/t/linux-6-7-3-545-29-06-550-40-07-error-modpost-gpl-incompatible-module-nvidia-ko-uses-gpl-only-symbol-rcu-read-lock/280908
- NVIDIA/open-gpu-kernel-modules#594
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests