12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- diff --git a/ndiswrapper/driver/ntoskernel.c b/ndiswrapper/driver/ntoskernel.c
- index 4fe0dc1..4dd7a89 100644
- --- a/ndiswrapper/driver/ntoskernel.c
- +++ b/ndiswrapper/driver/ntoskernel.c
- @@ -2524,7 +2524,11 @@ int ntoskernel_init(void)
- info->task = NULL;
- info->count = 0;
- #ifdef CONFIG_SMP
- +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,3,0)
- cpumask_setall(&info->cpus_allowed);
- +#else
- + cpumask_setall(&info->cpus_mask);
- +#endif
- #endif
- }
- } while (0);
- diff --git a/ndiswrapper/driver/ntoskernel.h b/ndiswrapper/driver/ntoskernel.h
- index 3c4c6ff..8a71ae3 100644
- --- a/ndiswrapper/driver/ntoskernel.h
- +++ b/ndiswrapper/driver/ntoskernel.h
- @@ -107,7 +107,11 @@ static cpumask_t cpumasks[NR_CPUS];
- #endif /* CONFIG_SMP */
-
- #ifndef tsk_cpus_allowed
- +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,3,0)
- #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
- +#else
- +#define tsk_cpus_allowed(tsk) (&(tsk)->cpus_mask)
- +#endif
- #endif
-
- #ifndef __packed
- @@ -631,7 +635,12 @@ struct irql_info {
- int count;
- struct mutex lock;
- #ifdef CONFIG_SMP
- +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,3,0)
- cpumask_t cpus_allowed;
- +#else
- + const cpumask_t *cpus_ptr;
- + cpumask_t cpus_mask;
- +#endif
- #endif
- struct task_struct *task;
- };
- @@ -658,7 +667,11 @@ static inline KIRQL raise_irql(KIRQL newirql)
- /* TODO: is this enough to pin down to current cpu? */
- #ifdef CONFIG_SMP
- assert(task_cpu(current) == smp_processor_id());
- +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,3,0)
- cpumask_copy(&info->cpus_allowed, tsk_cpus_allowed(current));
- +#else
- + cpumask_copy(&info->cpus_mask, tsk_cpus_allowed(current));
- +#endif
- set_cpus_allowed_ptr(current, cpumask_of(smp_processor_id()));
- #endif
- put_cpu_var(irql_info);
- @@ -682,7 +695,11 @@ static inline void lower_irql(KIRQL oldirql)
- if (--info->count == 0) {
- info->task = NULL;
- #ifdef CONFIG_SMP
- +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,3,0)
- set_cpus_allowed_ptr(current, &info->cpus_allowed);
- +#else
- + set_cpus_allowed_ptr(current, &info->cpus_mask);
- +#endif
- #endif
- mutex_unlock(&info->lock);
- }
|