diff options
author | 2019-03-05 15:24:43 +0100 | |
---|---|---|
committer | 2019-03-05 15:24:43 +0100 | |
commit | 2c2e5bb97544198a62e4edbf6aca5dd201979564 (patch) | |
tree | ffb927ea311d86aeee3a0ef561d6218280c038cb /kernel/fork.c | |
parent | HID: roccat: Mark expected switch fall-through (diff) | |
parent | HID: hid-asus: Add BT keyboard dock battery monitoring support (diff) | |
download | wireguard-linux-2c2e5bb97544198a62e4edbf6aca5dd201979564.tar.xz wireguard-linux-2c2e5bb97544198a62e4edbf6aca5dd201979564.zip |
Merge branch 'for-5.1/hid-asus' into for-linus
Asus Transbook T100CHI and T90CHI support from NOGUCHI Hiroshi
Diffstat (limited to 'kernel/fork.c')
-rw-r--r-- | kernel/fork.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index a60459947f18..b69248e6f0e0 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -217,6 +217,7 @@ static unsigned long *alloc_thread_stack_node(struct task_struct *tsk, int node) memset(s->addr, 0, THREAD_SIZE); tsk->stack_vm_area = s; + tsk->stack = s->addr; return s->addr; } @@ -1833,8 +1834,6 @@ static __latent_entropy struct task_struct *copy_process( posix_cpu_timers_init(p); - p->start_time = ktime_get_ns(); - p->real_start_time = ktime_get_boot_ns(); p->io_context = NULL; audit_set_context(p, NULL); cgroup_fork(p); @@ -2001,6 +2000,17 @@ static __latent_entropy struct task_struct *copy_process( goto bad_fork_free_pid; /* + * From this point on we must avoid any synchronous user-space + * communication until we take the tasklist-lock. In particular, we do + * not want user-space to be able to predict the process start-time by + * stalling fork(2) after we recorded the start_time but before it is + * visible to the system. + */ + + p->start_time = ktime_get_ns(); + p->real_start_time = ktime_get_boot_ns(); + + /* * Make it visible to the rest of the system, but dont wake it up yet. * Need tasklist lock for parent etc handling! */ |