At release_thread(), ->mm is NULL; and it is fine for the former mm to
still have an LDT. Delete this check in process_64.c, similar to
commit 2684927c6b93 ("[PATCH] x86: Deprecate useless bug"), which did the
same in process_32.c.

Signed-off-by: Jann Horn <ja...@google.com>
---
 arch/x86/kernel/process_64.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index 250e4c4ac6d9..af64519b2695 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -143,17 +143,7 @@ void __show_regs(struct pt_regs *regs, enum show_regs_mode 
mode)
 
 void release_thread(struct task_struct *dead_task)
 {
-       if (dead_task->mm) {
-#ifdef CONFIG_MODIFY_LDT_SYSCALL
-               if (dead_task->mm->context.ldt) {
-                       pr_warn("WARNING: dead process %s still has LDT? 
<%p/%d>\n",
-                               dead_task->comm,
-                               dead_task->mm->context.ldt->entries,
-                               dead_task->mm->context.ldt->nr_entries);
-                       BUG();
-               }
-#endif
-       }
+       WARN_ON(dead_task->mm);
 }
 
 enum which_selector {
-- 
2.22.0.510.g264f2c817a-goog

Reply via email to