--- a/kernel/nv.c +++ b/kernel/nv.c @@ -705,7 +705,7 @@ int __init nvidia_init_module(void) #endif nvidia_stack_t_cache = NV_KMEM_CACHE_CREATE(nvidia_stack_cache_name, - nvidia_stack_t); + nvidia_stack_t, SLAB_USERCOPY); if (nvidia_stack_t_cache == NULL) { nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n"); @@ -846,7 +846,7 @@ int __init nvidia_init_module(void) nv_lock_init_locks(nv); nvidia_pte_t_cache = NV_KMEM_CACHE_CREATE(nvidia_pte_cache_name, - nvidia_pte_t); + nvidia_pte_t, 0); if (nvidia_pte_t_cache == NULL) { rc = -ENOMEM; @@ -857,7 +857,7 @@ int __init nvidia_init_module(void) if (!nv_multiple_kernel_modules) { nvidia_p2p_page_t_cache = NV_KMEM_CACHE_CREATE(nvidia_p2p_page_cache_name, - nvidia_p2p_page_t); + nvidia_p2p_page_t, 0); if (nvidia_p2p_page_t_cache == NULL) { rc = -ENOMEM; --- a/kernel/nv-linux.h +++ b/kernel/nv-linux.h @@ -1431,11 +1431,11 @@ extern void *nvidia_stack_t_cache; #if !defined(NV_VMWARE) #if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5) -#define NV_KMEM_CACHE_CREATE(name, type) \ - kmem_cache_create(name, sizeof(type), 0, 0, NULL) +#define NV_KMEM_CACHE_CREATE(name, type, flags) \ + kmem_cache_create(name, sizeof(type), 0, flags, NULL) #else -#define NV_KMEM_CACHE_CREATE(name, type) \ - kmem_cache_create(name, sizeof(type), 0, 0, NULL, \ +#define NV_KMEM_CACHE_CREATE(name, type, flags) \ + kmem_cache_create(name, sizeof(type), 0, flags, NULL, \ NULL) #endif #define NV_KMEM_CACHE_DESTROY(kmem_cache) \