mm: Add a pasid member to struct mm_struct
authorFenghua Yu <fenghua.yu@intel.com>
Tue, 15 Sep 2020 16:30:11 +0000 (09:30 -0700)
committerBorislav Petkov <bp@suse.de>
Thu, 17 Sep 2020 18:22:15 +0000 (20:22 +0200)
A PASID is shared by all threads in a process. So the logical place to
keep track of it is in the mm_struct. Both ARM and x86 would use this
PASID.

 [ bp: Massage commit message. ]

Suggested-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/1600187413-163670-8-git-send-email-fenghua.yu@intel.com
include/linux/mm_types.h

index 496c3ff..1ff0615 100644 (file)
@@ -542,6 +542,10 @@ struct mm_struct {
                atomic_long_t hugetlb_usage;
 #endif
                struct work_struct async_put_work;
+
+#ifdef CONFIG_IOMMU_SUPPORT
+               u32 pasid;
+#endif
        } __randomize_layout;
 
        /*