Package Details: opencl-nvidia-390xx 390.157-17

Git Clone URL: https://aur.archlinux.org/nvidia-390xx-utils.git (read-only, click to copy)
Package Base: nvidia-390xx-utils
Description: OpenCL implemention for NVIDIA
Upstream URL: https://www.nvidia.com/
Licenses: custom
Conflicts: opencl-nvidia
Provides: opencl-driver, opencl-nvidia
Submitter: svenstaro
Maintainer: jonathon (vnctdj)
Last Packager: vnctdj
Votes: 61
Popularity: 0.28
First Submitted: 2020-03-11 17:29 (UTC)
Last Updated: 2025-06-12 22:18 (UTC)

Dependencies (2)

Required by (68)

Sources (20)

Pinned Comments

vnctdj commented on 2025-01-24 07:37 (UTC)

Use this forum thread for discussion: https://bbs.archlinux.org/viewtopic.php?pid=1946926

jonathon commented on 2022-05-26 09:46 (UTC)

Please don't flag this package out-of-date unless a new version has been released by NVIDIA.

jonathon commented on 2021-12-26 22:44 (UTC) (edited on 2021-12-26 22:44 (UTC) by jonathon)

The DKMS package guidelines are explicit that linux-headers should not be a dependency of any DKMS package.

As a concrete example of why including that as a hard dependency is a bad idea, what happens when linux is not an installed kernel?

Latest Comments

« First ‹ Previous 1 .. 11 12 13 14 15 16 17 18 19 20 21 .. 33 Next › Last »

vnctdj commented on 2023-09-14 22:07 (UTC) (edited on 2023-09-14 22:07 (UTC) by vnctdj)

Thanks to all for your help.

I ended up adding the following patch which is indeed shorter: https://gist.github.com/joanbm/dfe8dc59af1c83e2530a1376b77be8ba

Once again I wasn't able to test it, real life is definitely too busy!

NullRoute commented on 2023-09-13 17:10 (UTC) (edited on 2023-09-13 17:12 (UTC) by NullRoute)

This package from maintainer "herecura" with 6.5 patch worked, https://gitlab.com/herecura/packages/nvidia-390xx-dkms

But anytime I install nvidia-390xx-dkms its saying "ERROR: Missing 6.1.8-arch1-1 kernel headers for module nvidia/390.157"

After I install it with "sudo pacman -U https://archive.archlinux.org/packages/l/linux-headers/linux-headers-6.1.8.arch1-1-x86_64.pkg.tar.zst"

and then re-install newest linux-headers it works. But why this old kernel headers requirement? Thanks.

Thank you to "canolucas" in official forum post at https://bbs.archlinux.org/viewtopic.php?id=262224&p=6 for this pkg link.

canolucas commented on 2023-09-13 16:23 (UTC)

This patch is much shorter than ubuntu's. Does it work ? If it works, lets use this one as it changes less lines of the original source.

OpusOne commented on 2023-09-12 03:30 (UTC)

@canolucas, thanks for the link. I use this driver on a T420s (hybrid graphics), I have tried 'nouveau' instead, but it gives me too many problems for this particular hardware.

canolucas commented on 2023-09-12 03:07 (UTC) (edited on 2023-09-12 03:12 (UTC) by canolucas)

Please use a pastebin to post your long output and logs. @vnctdj the package needs updating. A solution has been provided here: https://bbs.archlinux.org/viewtopic.php?pid=2118974#p2118974

Thank you very much for your help so far.

MartinDiehl commented on 2023-09-11 15:43 (UTC) (edited on 2023-09-11 15:45 (UTC) by MartinDiehl)

For me (Kernel 6.5.2-arch1-1, 390.157-5), the install of the DKMS modules fails

it seems that the errors are related to -Werror=incompatible-pointer-types, log is below

DKMS make.log for nvidia-390.157 for kernel 6.5.2-arch1-1 (x86_64)
Mon 11 Sep 2023 17:40:14 CEST
make[1]: Entering directory '/usr/lib/modules/6.5.2-arch1-1/build'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (GCC) 13.2.1 20230801
  You are using:           cc (GCC) 13.2.1 20230801
  SYMLINK /var/lib/dkms/nvidia/390.157/build/nvidia/nv-kernel.o
  SYMLINK /var/lib/dkms/nvidia/390.157/build/nvidia-modeset/nv-modeset-kernel.o
 CONFTEST: INIT_WORK
 CONFTEST: remap_pfn_range
 CONFTEST: hash__remap_4k_pfn
 CONFTEST: follow_pfn
 CONFTEST: set_pages_uc
 CONFTEST: vmap
 CONFTEST: list_is_first
 CONFTEST: set_memory_uc
 CONFTEST: set_memory_array_uc
 CONFTEST: change_page_attr
 CONFTEST: pci_get_class
 CONFTEST: pci_choose_state
 CONFTEST: vm_insert_page
 CONFTEST: acpi_device_id
 CONFTEST: acquire_console_sem
 CONFTEST: console_lock
 CONFTEST: kmem_cache_create
 CONFTEST: on_each_cpu
 CONFTEST: smp_call_function
 CONFTEST: acpi_evaluate_integer
 CONFTEST: ioremap_cache
 CONFTEST: ioremap_wc
 CONFTEST: acpi_walk_namespace
 CONFTEST: pci_domain_nr
 CONFTEST: dma_mapping_error
 CONFTEST: sg_alloc_table
 CONFTEST: sg_init_table
 CONFTEST: pci_get_domain_bus_and_slot
 CONFTEST: get_num_physpages
 CONFTEST: efi_enabled
 CONFTEST: proc_create_data
 CONFTEST: pde_data
 CONFTEST: PDE_DATA
 CONFTEST: proc_remove
 CONFTEST: pm_vt_switch_required
 CONFTEST: xen_ioemu_inject_msi
 CONFTEST: phys_to_dma
 CONFTEST: get_dma_ops
 CONFTEST: write_cr4
 CONFTEST: of_get_property
 CONFTEST: of_find_node_by_phandle
 CONFTEST: pnv_pci_get_npu_dev
 CONFTEST: of_node_to_nid
 CONFTEST: for_each_online_node
 CONFTEST: node_end_pfn
 CONFTEST: pci_bus_address
 CONFTEST: pci_stop_and_remove_bus_device
 CONFTEST: pci_remove_bus_device
 CONFTEST: request_threaded_irq
 CONFTEST: register_cpu_notifier
 CONFTEST: cpuhp_setup_state
 CONFTEST: dma_map_resource
 CONFTEST: backlight_device_register
 CONFTEST: register_acpi_notifier
 CONFTEST: timer_setup
 CONFTEST: kmem_cache_create_usercopy
 CONFTEST: do_gettimeofday
 CONFTEST: dma_direct_map_resource
 CONFTEST: vmf_insert_pfn
 CONFTEST: jiffies_to_timespec
 CONFTEST: ktime_get_raw_ts64
 CONFTEST: ktime_get_real_ts64
 CONFTEST: ioremap_nocache
 CONFTEST: vga_tryget
 CONFTEST: unsafe_follow_pfn
 CONFTEST: acpi_bus_get_device
 CONFTEST: acpi_video_backlight_use_native
 CONFTEST: remap_page_range
 CONFTEST: address_space_init_once
 CONFTEST: kbasename
 CONFTEST: fatal_signal_pending
 CONFTEST: list_cut_position
 CONFTEST: vzalloc
 CONFTEST: wait_on_bit_lock_argument_count
 CONFTEST: bitmap_clear
 CONFTEST: usleep_range
 CONFTEST: radix_tree_empty
 CONFTEST: radix_tree_replace_slot
 CONFTEST: drm_dev_unref
 CONFTEST: drm_reinit_primary_mode_group
 CONFTEST: get_user_pages_remote
 CONFTEST: get_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_framebuffer_get
 CONFTEST: drm_gem_object_get
 CONFTEST: drm_dev_put
 CONFTEST: drm_connector_for_each_possible_encoder
 CONFTEST: drm_gem_object_put_unlocked
 CONFTEST: is_export_symbol_gpl_of_node_to_nid
 CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
 CONFTEST: is_export_symbol_present_swiotlb_dma_ops
 CONFTEST: i2c_adapter
 CONFTEST: pm_message_t
 CONFTEST: irq_handler_t
 CONFTEST: acpi_device_ops
 CONFTEST: acpi_op_remove
 CONFTEST: outer_flush_all
 CONFTEST: proc_dir_entry
 CONFTEST: scatterlist
 CONFTEST: sg_table
 CONFTEST: file_operations
 CONFTEST: vm_operations_struct
 CONFTEST: atomic_long_type
 CONFTEST: pci_save_state
 CONFTEST: file_inode
 CONFTEST: task_struct
 CONFTEST: kuid_t
 CONFTEST: dma_ops
 CONFTEST: swiotlb_dma_ops
 CONFTEST: dma_map_ops
 CONFTEST: noncoherent_swiotlb_dma_ops
 CONFTEST: vm_fault_present
 CONFTEST: vm_fault_has_address
 CONFTEST: kernel_write
 CONFTEST: strnstr
 CONFTEST: iterate_dir
 CONFTEST: kstrtoull
 CONFTEST: backlight_properties_type
 CONFTEST: proc_ops
 CONFTEST: timeval
 CONFTEST: mm_has_mmap_lock
 CONFTEST: kmem_cache_has_kobj_remove_work
 CONFTEST: sysfs_slab_unlink
 CONFTEST: vmalloc_has_pgprot_t_arg
 CONFTEST: pci_dev_has_skip_bus_pm
 CONFTEST: pci_channel_state
 CONFTEST: fault_flags
 CONFTEST: atomic64_type
 CONFTEST: address_space
 CONFTEST: backing_dev_info
 CONFTEST: mm_context_t
 CONFTEST: vm_ops_fault_removed_vma_arg
 CONFTEST: vm_fault_t
 CONFTEST: pnv_npu2_init_context
 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_mode_connector_list_update_has_merge_type_bits_arg
 CONFTEST: drm_helper_mode_fill_fb_struct
 CONFTEST: drm_master_drop_has_from_release_arg
 CONFTEST: drm_driver_unload_has_int_return_type
 CONFTEST: kref_has_refcount_of_type_refcount_t
 CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
 CONFTEST: drm_mode_object_find_has_file_priv_arg
 CONFTEST: drm_connector_list_iter
 CONFTEST: drm_atomic_helper_swap_state_has_stall_arg
 CONFTEST: drm_driver_prime_flag_present
 CONFTEST: drm_gem_prime_export_has_dev_arg
 CONFTEST: drm_gem_object_has_resv
 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: dma_resv_add_fence
 CONFTEST: dma_resv_reserve_fences
 CONFTEST: reservation_object_reserve_shared_has_num_fences_arg
 CONFTEST: dom0_kernel_present
 CONFTEST: nvidia_vgpu_kvm_build
 CONFTEST: nvidia_grid_build
 CONFTEST: drm_available
 CONFTEST: drm_atomic_available
 CONFTEST: is_export_symbol_gpl_refcount_inc
 CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-frontend.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-instance.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-acpi.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-chrdev.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-cray.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-dma.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-gvi.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-i2c.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-mempool.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-mmap.o
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.c:24:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-acpi.c:16:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-instance.c:13:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-frontend.c:13:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-gvi.c:15:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-chrdev.c:15:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv.c:13:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-cray.c:15:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-i2c.c:15:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-mmap.c:15:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-dma.c:15:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:21,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-mempool.c:15:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:
./include/linux/mm.h:2397:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
./include/linux/mm.h:2398:42: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 2398 |                            unsigned long start, unsigned long nr_pages,
      |                            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
./include/linux/mm.h:2399:66: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 2399 |                            unsigned int gup_flags, struct page **pages,
      |                                                    ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:165:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  165 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct page **’
 2400 |                            int *locked);
      |                            ~~~~~^~~~~~
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:23: error: too many arguments to function ‘get_user_pages_remote’
  164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2397:6: note: declared here
 2397 | long get_user_pages_remote(struct mm_struct *mm,
      |      ^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.c: In function ‘gather_memblock_ids_for_node’:
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.c:232:47: warning: cast between incompatible function types from ‘int (*)(struct dir_context *, const char *, int,  loff_t,  u64,  unsigned int)’ {aka ‘int (*)(struct dir_context *, const char *, int,  long long int,  long long unsigned int,  unsigned int)’} to ‘bool (*)(struct dir_context *, const char *, int,  loff_t,  u64,  unsigned int)’ {aka ‘_Bool (*)(struct dir_context *, const char *, int,  long long int,  long long unsigned int,  unsigned int)’} [-Wcast-function-type]
  232 |     nv_dir_context_t ats_ctx = { .ctx.actor = (filldir_t)filldir_get_memblock_id };
      |                                               ^
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-acpi.c: In function ‘nv_acpi_methods_uninit’:
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-acpi.c:687:25: warning: unused variable ‘device’ [-Wunused-variable]
  687 |     struct acpi_device *device = NULL;
      |                         ^~~~~~
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.o] Error 1
make[3]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-instance.o] Error 1
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-gvi.o] Error 1
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-chrdev.o] Error 1
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-cray.o] Error 1
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-frontend.o] Error 1
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-acpi.o] Error 1
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-i2c.o] Error 1
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-mmap.c: In function ‘nv_encode_caching’:
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-mmap.c:262:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
  262 |             if (NV_ALLOW_CACHING(memory_type))
      |                ^
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-mmap.c:264:9: note: here
  264 |         default:
      |         ^~~~~~~
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-mempool.o] Error 1
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-mmap.o] Error 1
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-dma.o] Error 1
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv.o] Error 1
make[2]: *** [/usr/lib/modules/6.5.2-arch1-1/build/Makefile:2032: /var/lib/dkms/nvidia/390.157/build] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.5.2-arch1-1/build'
make: *** [Makefile:81: modules] Error 2

OpusOne commented on 2023-09-10 21:43 (UTC)

The module fails to build with the latest kernel 6.5.2.