diff options
-rw-r--r-- | arch/x86/kernel/ptrace.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c index 39296d25708c..bbf338a04a5d 100644 --- a/arch/x86/kernel/ptrace.c +++ b/arch/x86/kernel/ptrace.c | |||
@@ -1449,7 +1449,12 @@ long syscall_trace_enter(struct pt_regs *regs) | |||
1449 | { | 1449 | { |
1450 | long ret = 0; | 1450 | long ret = 0; |
1451 | 1451 | ||
1452 | user_exit(); | 1452 | /* |
1453 | * If TIF_NOHZ is set, we are required to call user_exit() before | ||
1454 | * doing anything that could touch RCU. | ||
1455 | */ | ||
1456 | if (test_thread_flag(TIF_NOHZ)) | ||
1457 | user_exit(); | ||
1453 | 1458 | ||
1454 | /* | 1459 | /* |
1455 | * If we stepped into a sysenter/syscall insn, it trapped in | 1460 | * If we stepped into a sysenter/syscall insn, it trapped in |