fork: copy saved_cmdline from parent process
This fixes empty children names for forked children. Change-Id: I9512f0981d2a241c106ee3e8500f2084ef61a660
This commit is contained in:
committed by
Masamichi Takagi
parent
dd676f7149
commit
201fa7fb55
@@ -454,6 +454,18 @@ clone_thread(struct thread *org, unsigned long pc, unsigned long sp,
|
|||||||
}
|
}
|
||||||
memset(proc->vm, '\0', sizeof(struct process_vm));
|
memset(proc->vm, '\0', sizeof(struct process_vm));
|
||||||
|
|
||||||
|
proc->saved_cmdline_len = org->proc->saved_cmdline_len;
|
||||||
|
proc->saved_cmdline = kmalloc(proc->saved_cmdline_len,
|
||||||
|
IHK_MC_AP_NOWAIT);
|
||||||
|
if (!proc->saved_cmdline) {
|
||||||
|
release_address_space(asp);
|
||||||
|
kfree(proc->vm);
|
||||||
|
kfree(proc);
|
||||||
|
goto err_free_proc;
|
||||||
|
}
|
||||||
|
memcpy(proc->saved_cmdline, org->proc->saved_cmdline,
|
||||||
|
proc->saved_cmdline_len);
|
||||||
|
|
||||||
dkprintf("fork(): init_process_vm()\n");
|
dkprintf("fork(): init_process_vm()\n");
|
||||||
if (init_process_vm(proc, asp, proc->vm) != 0) {
|
if (init_process_vm(proc, asp, proc->vm) != 0) {
|
||||||
release_address_space(asp);
|
release_address_space(asp);
|
||||||
|
|||||||
Reference in New Issue
Block a user