cregit-Linux how code gets into the kernel

Release 4.7 arch/um/kernel/skas/syscall.c

/*
 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
 * Licensed under the GPL
 */

#include <linux/kernel.h>
#include <linux/ptrace.h>
#include <linux/seccomp.h>
#include <kern_util.h>
#include <sysdep/ptrace.h>
#include <sysdep/ptrace_user.h>
#include <sysdep/syscalls.h>


void handle_syscall(struct uml_pt_regs *r) { struct pt_regs *regs = container_of(r, struct pt_regs, regs); int syscall; /* Initialize the syscall number and default return value. */ UPT_SYSCALL_NR(r) = PT_SYSCALL_NR(r->gp); PT_REGS_SET_SYSCALL_RETURN(regs, -ENOSYS); /* Do the secure computing check first; failures should be fast. */ if (secure_computing() == -1) return; if (syscall_trace_enter(regs)) goto out; /* Update the syscall number after orig_ax has potentially been updated * with ptrace. */ UPT_SYSCALL_NR(r) = PT_SYSCALL_NR(r->gp); syscall = UPT_SYSCALL_NR(r); if (syscall >= 0 && syscall <= __NR_syscall_max) PT_REGS_SET_SYSCALL_RETURN(regs, EXECUTE_SYSCALL(syscall, regs)); out: syscall_trace_leave(regs); }

Contributors

PersonTokensPropCommitsCommitProp
mickael salaunmickael salaun5546.61%225.00%
jeff dikejeff dike4739.83%337.50%
richard weinbergerrichard weinberger86.78%112.50%
al viroal viro43.39%112.50%
paolo giarrussopaolo giarrusso43.39%112.50%
Total118100.00%8100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
mickael salaunmickael salaun6042.86%216.67%
jeff dikejeff dike5841.43%541.67%
richard weinbergerrichard weinberger107.14%216.67%
al viroal viro85.71%216.67%
paolo giarrussopaolo giarrusso42.86%18.33%
Total140100.00%12100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}