Lines Matching +full:proc +full:- +full:id

1 // SPDX-License-Identifier: GPL-2.0
4 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
13 #include <as-layout.h>
17 static int init_stub_pte(struct mm_struct *mm, unsigned long proc, in init_stub_pte() argument
26 pgd = pgd_offset(mm, proc); in init_stub_pte()
28 p4d = p4d_alloc(mm, pgd, proc); in init_stub_pte()
32 pud = pud_alloc(mm, p4d, proc); in init_stub_pte()
36 pmd = pmd_alloc(mm, pud, proc); in init_stub_pte()
40 pte = pte_alloc_map(mm, pmd, proc); in init_stub_pte()
55 return -ENOMEM; in init_stub_pte()
61 struct mm_context *to_mm = &mm->context; in init_new_context()
63 int ret = -ENOMEM; in init_new_context()
69 to_mm->id.stack = stack; in init_new_context()
70 if (current->mm != NULL && current->mm != &init_mm) in init_new_context()
71 from_mm = &current->mm->context; in init_new_context()
75 to_mm->id.u.pid = copy_context_skas0(stack, in init_new_context()
76 from_mm->id.u.pid); in init_new_context()
77 else to_mm->id.u.pid = start_userspace(stack); in init_new_context()
80 if (to_mm->id.u.pid < 0) { in init_new_context()
81 ret = to_mm->id.u.pid; in init_new_context()
87 printk(KERN_ERR "init_new_context_skas - init_ldt" in init_new_context()
95 if (to_mm->id.stack != 0) in init_new_context()
96 free_page(to_mm->id.stack); in init_new_context()
110 ret = init_stub_pte(mm, STUB_DATA, mm->context.id.stack); in uml_setup_stubs()
114 mm->context.stub_pages[0] = virt_to_page(__syscall_stub_start); in uml_setup_stubs()
115 mm->context.stub_pages[1] = virt_to_page(mm->context.id.stack); in uml_setup_stubs()
118 err = install_special_mapping(mm, STUB_START, STUB_END - STUB_START, in uml_setup_stubs()
121 mm->context.stub_pages); in uml_setup_stubs()
149 struct mm_context *mmu = &mm->context; in destroy_context()
157 if (mmu->id.u.pid < 2) { in destroy_context()
158 printk(KERN_ERR "corrupt mm_context - pid = %d\n", in destroy_context()
159 mmu->id.u.pid); in destroy_context()
162 os_kill_ptraced_process(mmu->id.u.pid, 1); in destroy_context()
164 free_page(mmu->id.stack); in destroy_context()