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