cregit-Linux how code gets into the kernel

Release 4.10 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.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 dikejeff dike10078.74%571.43%
al viroal viro1713.39%114.29%
paolo giarrussopaolo 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 dikejeff dike4996.08%480.00%
al viroal viro23.92%120.00%
Total51100.00%5100.00%

EXPORT_SYMBOL(start_thread);

Overall Contributors

PersonTokensPropCommitsCommitProp
jeff dikejeff dike16875.34%947.37%
al viroal viro3515.70%421.05%
paolo giarrussopaolo giarrusso104.48%15.26%
roland mcgrathroland mcgrath31.35%15.26%
daniel jacobowitzdaniel jacobowitz20.90%15.26%
tejun heotejun heo20.90%15.26%
alexey dobriyanalexey dobriyan20.90%15.26%
linus torvaldslinus torvalds10.45%15.26%
Total223100.00%19100.00%
Directory: arch/um/kernel
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.