do_syscall: Delegate system calls to the mcexec with the same pid

This includes the following fix:
send_syscall, do_syscall: remove argument pid

Fujitsu: POSTK_TEMP_FIX_26
Refs: #1165
Change-Id: I702362c07a28f507a5e43dd751949aefa24bc8c0
This commit is contained in:
Tomoki Shirasawa
2018-09-07 14:28:23 +09:00
committed by Masamichi Takagi
parent c23bc8d401
commit 7e342751a2
15 changed files with 445 additions and 170 deletions

View File

@ -2109,7 +2109,7 @@ out:
return (IS_ERR_VALUE(map))? (int)map: 0;
}
int clear_pte_range(uintptr_t start, uintptr_t len)
int mcctrl_clear_pte_range(uintptr_t start, uintptr_t len)
{
struct mm_struct *mm = current->mm;
struct vm_area_struct *vma;
@ -2356,25 +2356,7 @@ int __do_in_kernel_syscall(ihk_os_t os, struct ikc_scd_packet *packet)
break;
case __NR_munmap:
/* Set new remote page table if not zero */
if (sc->args[2]) {
struct mcctrl_per_proc_data *ppd = NULL;
ppd = mcctrl_get_per_proc_data(usrdata, sc->args[3]);
if (unlikely(!ppd)) {
kprintf("%s: ERROR: no per-process structure for PID %d??\n",
__FUNCTION__, task_tgid_vnr(current));
return -1;
}
ppd->rpgtable = sc->args[2];
dprintk("%s: pid: %d, rpgtable: 0x%lx updated\n",
__FUNCTION__, ppd->pid, ppd->rpgtable);
mcctrl_put_per_proc_data(ppd);
}
ret = clear_pte_range(sc->args[0], sc->args[1]);
ret = mcctrl_clear_pte_range(sc->args[0], sc->args[1]);
break;
case __NR_mprotect: