cregit-Linux how code gets into the kernel

Release 4.14 arch/um/kernel/exec.c

Directory: arch/um/kernel
/*
 * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
 * Licensed under the GPL
 */

#include <linux/stddef.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/ptrace.h>
#include <linux/sched/mm.h>
#include <linux/sched/task.h>
#include <linux/sched/task_stack.h>
#include <linux/slab.h>
#include <asm/current.h>
#include <asm/processor.h>
#include <linux/uaccess.h>
#include <as-layout.h>
#include <mem_user.h>
#include <skas.h>
#include <os.h>


void flush_thread(void) { void *data = NULL; int ret; arch_flush_thread(&current->thread.arch); ret = unmap(&current->mm->context.id, 0, STUB_START, 0, &data); ret = ret || unmap(&current->mm->context.id, STUB_END, host_task_size - STUB_END, 1, &data); if (ret) { printk(KERN_ERR "flush_thread - clearing address space failed, " "err = %d\n", ret); force_sig(SIGKILL, current); } get_safe_registers(current_pt_regs()->regs.gp, current_pt_regs()->regs.fp); __switch_mm(&current->mm->context.id); }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike10078.74%571.43%
Al Viro1713.39%114.29%
Paolo 'Blaisorblade' Giarrusso107.87%114.29%
Total127100.00%7100.00%


void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp) { PT_REGS_IP(regs) = eip; PT_REGS_SP(regs) = esp; current->ptrace &= ~PT_DTRACE; #ifdef SUBARCH_EXECVE1 SUBARCH_EXECVE1(regs->regs); #endif }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike4996.08%480.00%
Al Viro23.92%120.00%
Total51100.00%5100.00%

EXPORT_SYMBOL(start_thread);

Overall Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike16873.36%940.91%
Al Viro3414.85%418.18%
Paolo 'Blaisorblade' Giarrusso104.37%14.55%
Ingo Molnar73.06%313.64%
Roland McGrath31.31%14.55%
Alexey Dobriyan20.87%14.55%
Tejun Heo20.87%14.55%
Daniel Jacobowitz20.87%14.55%
Linus Torvalds10.44%14.55%
Total229100.00%22100.00%
Directory: arch/um/kernel
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.