bb152f5312
Mark some key kernel datastructures readonly. This patch was previously posted on Jun 28th but was back then not merged because nothing was enforcing rodata anyway.. well that changed now :) Patch by Christoph Lameter <christoph@lameter.com> and Dave Jones <davej@redhat.com> Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
27 lines
677 B
C
27 lines
677 B
C
/* System call table for x86-64. */
|
|
|
|
#include <linux/linkage.h>
|
|
#include <linux/sys.h>
|
|
#include <linux/cache.h>
|
|
#include <linux/config.h>
|
|
|
|
#define __NO_STUBS
|
|
|
|
#define __SYSCALL(nr, sym) extern asmlinkage void sym(void) ;
|
|
#undef _ASM_X86_64_UNISTD_H_
|
|
#include <asm-x86_64/unistd.h>
|
|
|
|
#undef __SYSCALL
|
|
#define __SYSCALL(nr, sym) [ nr ] = sym,
|
|
#undef _ASM_X86_64_UNISTD_H_
|
|
|
|
typedef void (*sys_call_ptr_t)(void);
|
|
|
|
extern void sys_ni_syscall(void);
|
|
|
|
const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = {
|
|
/* Smells like a like a compiler bug -- it doesn't work when the & below is removed. */
|
|
[0 ... __NR_syscall_max] = &sys_ni_syscall,
|
|
#include <asm-x86_64/unistd.h>
|
|
};
|