| Date | Tue, 12 Dec 2017 18:32:31 +0100 | From | Thomas Gleixner <> | Subject | [patch 10/16] x86/ldt: Do not install LDT for kernel threads |
| |
From: Thomas Gleixner <tglx@linutronix.de>
Kernel threads can use the mm of a user process temporarily via use_mm(), but there is no point in installing the LDT which is associated to that mm for the kernel thread.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- arch/x86/include/asm/mmu_context.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
--- a/arch/x86/include/asm/mmu_context.h +++ b/arch/x86/include/asm/mmu_context.h @@ -95,8 +95,7 @@ static inline void load_mm_ldt(struct mm * the local LDT after an IPI loaded a newer value than the one * that we can see. */ - - if (unlikely(ldt)) + if (unlikely(ldt && !(current->flags & PF_KTHREAD)) set_ldt(ldt->entries, ldt->nr_entries); else clear_LDT();
|