lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20220207230254.3342514-8-fenghua.yu@intel.com> Date: Mon, 7 Feb 2022 15:02:50 -0800 From: Fenghua Yu <fenghua.yu@...el.com> To: "Thomas Gleixner" <tglx@...utronix.de>, "Dave Hansen" <dave.hansen@...ux.intel.com>, "Ingo Molnar" <mingo@...hat.com>, "Borislav Petkov" <bp@...en8.de>, "Peter Zijlstra" <peterz@...radead.org>, "Andy Lutomirski" <luto@...nel.org>, "Tony Luck" <tony.luck@...el.com>, "Lu Baolu" <baolu.lu@...ux.intel.com>, "Joerg Roedel" <joro@...tes.org>, Josh Poimboeuf <jpoimboe@...hat.com>, "Jacob Pan" <jacob.jun.pan@...ux.intel.com>, "Ashok Raj" <ashok.raj@...el.com>, "Ravi V Shankar" <ravi.v.shankar@...el.com> Cc: iommu@...ts.linux-foundation.org, "x86" <x86@...nel.org>, "linux-kernel" <linux-kernel@...r.kernel.org>, Fenghua Yu <fenghua.yu@...el.com> Subject: [PATCH v4 07/11] sched: Define and initialize a flag to identify valid PASID in the task From: Peter Zijlstra <peterz@...radead.org> Add a new single bit field to the task structure to track whether this task has initialized the IA32_PASID MSR to the mm's PASID. Initialize the field to zero when creating a new task with fork/clone. Signed-off-by: Peter Zijlstra <peterz@...radead.org> Co-developed-by: Fenghua Yu <fenghua.yu@...el.com> Signed-off-by: Fenghua Yu <fenghua.yu@...el.com> Reviewed-by: Tony Luck <tony.luck@...el.com> Reviewed-by: Thomas Gleixner <tglx@...utronix.de> --- v4: - Add "Reviewed-by: Thomas Gleixner <tglx@...utronix.de>" (Thomas). v2: - Change condition to more accurate CONFIG_IOMMU_SVA (Jacob) include/linux/sched.h | 3 +++ kernel/fork.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/include/linux/sched.h b/include/linux/sched.h index 75ba8aa60248..4e5de3aed410 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -938,6 +938,9 @@ struct task_struct { /* Recursion prevention for eventfd_signal() */ unsigned in_eventfd_signal: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 c03c6682464c..51fd1df994b7 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -968,6 +968,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 -- 2.35.1
Powered by blists - more mailing lists