diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-06-14 12:54:23 -0400 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-06-14 16:26:10 -0400 |
commit | e51f31ad716a485ed5bada8d367df60d6a99b9ac (patch) | |
tree | 9e1f935a8373955a725e030bad07600a7b97338b /arch/x86/kernel/process_32.c | |
parent | 3cfcdc4d74dc3c9590b16dbb6added4d0d7ae2e7 (diff) | |
parent | 0df021b2e841eded862ebc3b61532e7c73965535 (diff) |
Merge tag 'v4.19.47' into v4.19-rt
This is the 4.19.47 stable release
Conflicts:
drivers/char/random.c
kernel/irq_work.c
Issues with kernel/irq/manage.c
A use after free bug was fixed in stable. But it requires a backport of changes
from rt-devel. The bug still exists in this tree for PREEMPT_RT, but will be
fixed when backporting the rt-devel patches.
Diffstat (limited to 'arch/x86/kernel/process_32.c')
-rw-r--r-- | arch/x86/kernel/process_32.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 84afe55625f8..5d0c975559ad 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -131,6 +131,13 @@ int copy_thread_tls(unsigned long clone_flags, unsigned long sp, struct task_struct *tsk; int err; + /* + * For a new task use the RESET flags value since there is no before. + * All the status flags are zero; DF and all the system flags must also + * be 0, specifically IF must be 0 because we context switch to the new + * task with interrupts disabled. + */ + frame->flags = X86_EFLAGS_FIXED; frame->bp = 0; frame->ret_addr = (unsigned long) ret_from_fork; p->thread.sp = (unsigned long) fork_frame; |