Files
rockchip-kernel/init/init_task.c
Kees Cook 471c32bee4 CHROMIUM: x86: implement thread_info-based syscall table
This moves the x86 syscall table into thread_info to allow for
per-thread syscall tables. Native 32-bit, 64-bit, and 32-bit emulation
are handled. The feature is enabled with CONFIG_ALT_SYSCALL.

Based on proof-of-concept from Will Drewry.

BUG=brillo:384
TEST=gizmo build & boot, manual testing

Suggested-by: Will Drewry <wad@chromium.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Change-Id: I2adb4742e284e8555621ccd78e487d8e4be73f6c
Reviewed-on: https://chromium-review.googlesource.com/253230
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2015-03-23 17:56:08 +00:00

28 lines
753 B
C

#include <linux/init_task.h>
#include <linux/export.h>
#include <linux/mqueue.h>
#include <linux/sched.h>
#include <linux/sched/sysctl.h>
#include <linux/sched/rt.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/mm.h>
#include <asm/pgtable.h>
#include <asm/syscall.h>
#include <asm/uaccess.h>
static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
/* Initial task structure */
struct task_struct init_task = INIT_TASK(init_task);
EXPORT_SYMBOL(init_task);
/*
* Initial thread structure. Alignment of this is handled by a special
* linker map entry.
*/
union thread_union init_thread_union __init_task_data =
{ INIT_THREAD_INFO(init_task) };