--- a/kernel/nv-acpi.c +++ b/kernel/nv-acpi.c @@ -303,7 +307,10 @@ static int nv_acpi_remove(struct acpi_de if (pNvAcpiObject->notify_handler_installed) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) + /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */ NV_ACPI_OS_WAIT_EVENTS_COMPLETE(); +#endif // remove event notifier status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event); --- a/kernel/uvm/nvidia_uvm_linux.h +++ b/kernel/uvm/nvidia_uvm_linux.h @@ -405,8 +405,14 @@ // not require the RCU's read lock on current->cred. // // +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0) +#define NV_KUID_TO_UID(value) (__kuid_val(value)) +#else +#define NV_KUID_TO_UID(value) (value) +#endif + #if defined(NV_TASK_STRUCT_HAS_CRED) -#define NV_CURRENT_EUID() (__kuid_val(current->cred->euid)) + #define NV_CURRENT_EUID() NV_KUID_TO_UID(((typeof(*current->cred) __force __kernel *)current->cred)->euid) #else -#define NV_CURRENT_EUID() (__kuid_val(current->euid)) +#define NV_CURRENT_EUID() NV_KUID_TO_UID(current->euid) #endif