From: Thomas Gleixner <t...@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 <t...@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();


Reply via email to