diff --git a/include/linux/sched.h b/include/linux/sched.h index 888e5cc2fb6a2651b574fe4f9df18f2ad7d10366..50b7414946d389cea369607803cc8b62a184581d 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -872,6 +872,9 @@ struct task_struct { /* Stalled due to lack of memory */ unsigned in_memstall:1; #endif +#ifdef CONFIG_IOMMU_SVA + unsigned pasid_activated:1; +#endif unsigned long atomic_flags; /* Flags requiring atomic access. */ diff --git a/kernel/fork.c b/kernel/fork.c index 1d702e8f4b7287b09a719538c129329ee8aeaa66..72d2834cc4fdcdf34792299d9d17d7a2a1342848 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -963,6 +963,10 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) tsk->use_memdelay = 0; #endif +#ifdef CONFIG_IOMMU_SVA + tsk->pasid_activated = 0; +#endif + #ifdef CONFIG_MEMCG tsk->active_memcg = NULL; #endif