public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Read only syscall tables for x86_64 and i386
@ 2005-06-28 18:47 Christoph Lameter
  2005-06-28 18:56 ` Arjan van de Ven
       [not found] ` <87oe9q70no.fsf@jbms.ath.cx>
  0 siblings, 2 replies; 22+ messages in thread
From: Christoph Lameter @ 2005-06-28 18:47 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, ak

Place x86_64 and i386 syscall table into the read only section.

Remove the syscall tables from the data section and place them into the 
readonly section (like IA64).

Signed-off-by: Christoph Lameter <christoph@scalex86.org>

Index: linux-2.6.12-mm2/arch/i386/kernel/entry.S
===================================================================
--- linux-2.6.12-mm2.orig/arch/i386/kernel/entry.S	2005-06-28 17:46:31.000000000 +0000
+++ linux-2.6.12-mm2/arch/i386/kernel/entry.S	2005-06-28 17:47:11.000000000 +0000
@@ -680,6 +680,7 @@ ENTRY(spurious_interrupt_bug)
 	pushl $do_spurious_interrupt_bug
 	jmp error_code
 
+.section .rodata,"a"
 #include "syscall_table.S"
 
 syscall_table_size=(.-sys_call_table)
Index: linux-2.6.12-mm2/arch/i386/kernel/syscall_table.S
===================================================================
--- linux-2.6.12-mm2.orig/arch/i386/kernel/syscall_table.S	2005-06-28 17:46:31.000000000 +0000
+++ linux-2.6.12-mm2/arch/i386/kernel/syscall_table.S	2005-06-28 17:47:11.000000000 +0000
@@ -1,4 +1,3 @@
-.data
 ENTRY(sys_call_table)
 	.long sys_restart_syscall	/* 0 - old "setup()" system call, used for restarting */
 	.long sys_exit
Index: linux-2.6.12-mm2/arch/x86_64/kernel/syscall.c
===================================================================
--- linux-2.6.12-mm2.orig/arch/x86_64/kernel/syscall.c	2005-06-17 19:48:29.000000000 +0000
+++ linux-2.6.12-mm2/arch/x86_64/kernel/syscall.c	2005-06-28 18:22:41.000000000 +0000
@@ -19,7 +19,7 @@ typedef void (*sys_call_ptr_t)(void); 
 
 extern void sys_ni_syscall(void);
 
-sys_call_ptr_t sys_call_table[__NR_syscall_max+1] __cacheline_aligned = { 
+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>

^ permalink raw reply	[flat|nested] 22+ messages in thread
[parent not found: <Pine.LNX.4.62.0506281141050.959@graphe.net.suse.lists.linux.kernel>]

end of thread, other threads:[~2005-07-01 21:19 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-28 18:47 [PATCH] Read only syscall tables for x86_64 and i386 Christoph Lameter
2005-06-28 18:56 ` Arjan van de Ven
2005-06-28 19:26   ` Christoph Lameter
2005-06-28 19:41     ` Christoph Hellwig
     [not found] ` <87oe9q70no.fsf@jbms.ath.cx>
     [not found]   ` <Pine.LNX.4.62.0506281218030.1454@graphe.net>
2005-06-28 19:27     ` Jeremy Maitin-Shepard
2005-06-28 19:31       ` Christoph Lameter
2005-06-28 19:41         ` Jeremy Maitin-Shepard
2005-06-28 19:42         ` Christoph Hellwig
2005-06-28 19:52           ` Jeremy Maitin-Shepard
2005-06-28 20:11             ` Arjan van de Ven
2005-06-28 20:23               ` Jeremy Maitin-Shepard
2005-06-28 19:47       ` Arjan van de Ven
2005-06-28 20:00         ` Jeremy Maitin-Shepard
     [not found] <Pine.LNX.4.62.0506281141050.959@graphe.net.suse.lists.linux.kernel>
2005-06-28 19:33 ` Andi Kleen
2005-06-28 19:41   ` Christoph Lameter
2005-06-29  0:06     ` Arnd Bergmann
2005-06-29  2:49     ` Andi Kleen
2005-07-01 20:10       ` Christoph Lameter
2005-07-01 20:28         ` Andi Kleen
2005-07-01 20:47           ` Richard B. Johnson
2005-07-01 21:13             ` Alan Cox
2005-07-01 20:34         ` Richard B. Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox